(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 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 = { gameDeviceCache: null ,accelerometer: null ,currentUpdate: null ,deltaTime: null ,framePeriod: 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": this.parent.__window.onFocusOut.dispatch(); this.parent.__window.onDeactivate.dispatch(); break; case "focus": this.parent.__window.onFocusIn.dispatch(); this.parent.__window.onActivate.dispatch(); break; case "resize": this.parent.__window.__backend.handleResizeEvent(event); 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("ActualPixelDayLmao",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","157"); } else { _this.h["build"] = "157"; } var _this1 = app.meta; if(__map_reserved["company"] != null) { _this1.setReserved("company","HaxeFlixel"); } else { _this1.h["company"] = "HaxeFlixel"; } var _this2 = app.meta; if(__map_reserved["file"] != null) { _this2.setReserved("file","ActualPixelDayLmao"); } else { _this2.h["file"] = "ActualPixelDayLmao"; } var _this3 = app.meta; if(__map_reserved["name"] != null) { _this3.setReserved("name","Ritz"); } else { _this3.h["name"] = "Ritz"; } var _this4 = app.meta; if(__map_reserved["packageName"] != null) { _this4.setReserved("packageName","com.example.myapp"); } else { _this4.h["packageName"] = "com.example.myapp"; } var _this5 = app.meta; if(__map_reserved["version"] != null) { _this5.setReserved("version","1.0.0"); } else { _this5.h["version"] = "1.0.0"; } var attributes = { allowHighDPI : false, alwaysOnTop : false, borderless : false, element : null, frameRate : 60, height : 576, hidden : false, maximized : false, minimized : false, parameters : { }, resizable : true, title : "Ritz", width : 960, 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 = (js_Boot.__cast(app.__window , openfl_display_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 { var current = stage.getChildAt(0); if(current == null || !((current) instanceof openfl_display_DisplayObjectContainer)) { current = new openfl_display_MovieClip(); stage.addChild(current); } new DocumentClass(current); 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 ,__isMask: null ,__mask: null ,__renderable: null ,__renderTransform: null ,__scrollRect: null ,__transform: null ,__type: null ,__worldAlpha: null ,__worldColorTransform: null ,__worldTransform: null ,__getBounds: null ,__update: null ,__class__: openfl_display_IBitmapDrawable }; var openfl__$internal_utils_DisplayObjectIterator = function() { this.entry = null; this.current = null; }; $hxClasses["openfl._internal.utils.DisplayObjectIterator"] = openfl__$internal_utils_DisplayObjectIterator; openfl__$internal_utils_DisplayObjectIterator.__name__ = "openfl._internal.utils.DisplayObjectIterator"; openfl__$internal_utils_DisplayObjectIterator.prototype = { current: null ,entry: null ,hasNext: function() { return this.current != null; } ,init: function(displayObject,childrenOnly) { this.entry = displayObject; if(this.entry != null) { this.current = childrenOnly ? this.entry.__firstChild : this.entry; } else { this.current = null; } } ,next: function() { var _current = this.current; if(this.current.__firstChild != null) { this.current = this.current.__firstChild; } else if(this.current.__nextSibling != null) { this.current = this.current.__nextSibling; } else { while(true) { if(this.current.parent == null || this.current.parent == this.entry) { this.current = null; openfl_display_DisplayObject.__childIterators.release(this); return _current; } this.current = this.current.parent; if(!(this.current.__nextSibling == null)) { break; } } this.current = this.current.__nextSibling; if(this.current == null) { openfl_display_DisplayObject.__childIterators.release(this); } } return _current; } ,skip: function(current) { if(current.__firstChild == null) { return; } if(current.__firstChild == this.current) { if(current.__nextSibling != null) { this.current = current.__nextSibling; } else { while(true) { if(current.parent == null || current.parent == this.entry) { this.current = null; return; } current = current.parent; if(!(current.__nextSibling == null)) { break; } } this.current = current.__nextSibling; } } } ,__class__: openfl__$internal_utils_DisplayObjectIterator }; 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__$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 openfl_display_DisplayObject = function() { openfl_events_EventDispatcher.call(this); this.__type = openfl__$internal_renderer_DisplayObjectType.DISPLAY_OBJECT; 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.__transformDirty = 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 ,__cacheBitmapDataTexture: null ,__cacheBitmapMatrix: null ,__cacheBitmapRendererHW: null ,__cacheBitmapRendererSW: null ,__cairo: null ,__childTransformDirty: null ,__customRenderClear: null ,__customRenderEvent: null ,__filters: null ,__firstChild: null ,__graphics: null ,__interactive: null ,__isCacheBitmapRender: null ,__isMask: null ,__lastChild: null ,__loaderInfo: null ,__localBounds: null ,__localBoundsDirty: null ,__mask: null ,__maskTarget: null ,__name: null ,__nextSibling: null ,__objectTransform: null ,__previousSibling: 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 ,__type: 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 ,__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: } } ,__childIterator: function(childrenOnly) { if(childrenOnly == null) { childrenOnly = true; } var iterator = openfl_display_DisplayObject.__childIterators.get(); iterator.init(this,childrenOnly); return iterator; } ,__cleanup: function() { var child = this.__childIterator(false); while(child.hasNext()) { var child1 = child.next(); child1.__cairo = null; child1.__canvas = null; child1.__context = null; if(child1.__graphics != null) { child1.__graphics.__cleanup(); } if(child1.__cacheBitmap != null) { child1.__cacheBitmap.__cleanup(); child1.__cacheBitmap = null; } if(child1.__cacheBitmapDataTexture != null) { child1.__cacheBitmapDataTexture.dispose(); child1.__cacheBitmapDataTexture = null; } if(child1.__cacheBitmapData != null) { child1.__cacheBitmapData.dispose(); child1.__cacheBitmapData = null; } if(child1.__cacheBitmapData2 != null) { child1.__cacheBitmapData2.dispose(); child1.__cacheBitmapData2 = null; } if(child1.__cacheBitmapData3 != null) { child1.__cacheBitmapData3.dispose(); child1.__cacheBitmapData3 = null; } switch(child1.__type._hx_index) { case 2:case 4: var displayObjectContainer = child1; var orphan = displayObjectContainer.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } displayObjectContainer.__removedChildren.set_length(0); break; default: } } } ,__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) { if(this.__type != null) { switch(this.__type._hx_index) { case 2:case 4: var displayObjectContainer = this; if(displayObjectContainer.numChildren > 0) { var child = this.__childIterator(); while(child.hasNext()) { var child1 = child.next(); event.target = child1; if(!child1.__dispatchWithCapture(event)) { break; } } } break; default: } } } ,__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); } ,__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() { if(this.__localBounds == null) { this.__localBounds = new openfl_geom_Rectangle(); this.__localBoundsDirty = true; } if(this.__localBoundsDirty) { this.__localBounds.x = 0; this.__localBounds.y = 0; this.__localBounds.width = 0; this.__localBounds.height = 0; this.__getBounds(this.__localBounds,this.__transform); this.__localBounds.x -= this.__transform.tx; this.__localBounds.y -= this.__transform.ty; this.__localBoundsDirty = false; } return this.__localBounds; } ,__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() { if(this.__transformDirty) { var renderParent = this.__renderParent != null ? this.__renderParent : this.parent; if(this.__isMask && renderParent == null) { renderParent = this.__maskTarget; } if(this.parent == null || !this.parent.__transformDirty && !renderParent.__transformDirty) { this.__update(true,false); } else { var list = []; var current = this; while(current != this.stage && current.__transformDirty) { 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) { var hitTest = false; if(this.__graphics != null) { if(!hitObject.__visible || this.__isMask || this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { hitTest = false; } else if(this.__graphics.__hitTest(x,y,shapeFlag,this.__getRenderTransform())) { if(stack != null && !interactiveOnly) { stack.push(hitObject); } hitTest = true; } } return hitTest; } ,__hitTestMask: function(x,y) { if(this.__graphics != null) { return this.__graphics.__hitTest(x,y,true,this.__getRenderTransform()); } else { 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.__localBoundsDirty = true; renderParent.__renderDirty = true; renderParent.__setParentRenderDirty(); } } ,__setRenderDirty: function() { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__setStageReferences: function(stage) { this.stage = stage; if(this.__firstChild != null) { var child = this.__childIterator(); while(child.hasNext()) { var child1 = child.next(); child1.stage = stage; if(child1.__type == openfl__$internal_renderer_DisplayObjectType.SIMPLE_BUTTON) { var button = child1; if(button.__currentState != null) { button.__currentState.__setStageReferences(stage); } if(button.get_hitTestState() != null && button.get_hitTestState() != button.__currentState) { button.get_hitTestState().__setStageReferences(stage); } } } } } ,__setTransformDirty: function(force) { if(force == null) { force = false; } this.__transformDirty = 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); if(this.__transformDirty) { if(this.__worldTransform == null) { this.__worldTransform = new openfl_geom_Matrix(); } if(this.__renderTransform == null) { this.__renderTransform = new openfl_geom_Matrix(); } if(this.parent != null) { var local = this.__transform; 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(this.__transform); } if(renderParent != null) { var local1 = this.__transform; var parentTransform1 = renderParent.__renderTransform; var target1 = this.__renderTransform; target1.a = local1.a * parentTransform1.a + local1.b * parentTransform1.c; target1.b = local1.a * parentTransform1.b + local1.b * parentTransform1.d; target1.c = local1.c * parentTransform1.a + local1.d * parentTransform1.c; target1.d = local1.c * parentTransform1.b + local1.d * parentTransform1.d; target1.tx = local1.tx * parentTransform1.a + local1.ty * parentTransform1.c + parentTransform1.tx; target1.ty = local1.tx * parentTransform1.b + local1.ty * parentTransform1.d + parentTransform1.ty; } else { this.__renderTransform.copyFrom(this.__transform); } 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; } this.__transformDirty = 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.get_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.get_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); } } ,__updateSingle: 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); if(this.__transformDirty) { if(this.__worldTransform == null) { this.__worldTransform = new openfl_geom_Matrix(); } if(this.__renderTransform == null) { this.__renderTransform = new openfl_geom_Matrix(); } if(this.parent != null) { var local = this.__transform; 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(this.__transform); } if(renderParent != null) { var local1 = this.__transform; var parentTransform1 = renderParent.__renderTransform; var target1 = this.__renderTransform; target1.a = local1.a * parentTransform1.a + local1.b * parentTransform1.c; target1.b = local1.a * parentTransform1.b + local1.b * parentTransform1.d; target1.c = local1.c * parentTransform1.a + local1.d * parentTransform1.c; target1.d = local1.c * parentTransform1.b + local1.d * parentTransform1.d; target1.tx = local1.tx * parentTransform1.a + local1.ty * parentTransform1.c + parentTransform1.tx; target1.ty = local1.tx * parentTransform1.b + local1.ty * parentTransform1.d + parentTransform1.ty; } else { this.__renderTransform.copyFrom(this.__transform); } 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; } this.__transformDirty = 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.get_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.get_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); } } ,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() { return this.__getLocalBounds().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__$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(); this.__setParentRenderDirty(); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } if(this.__mask != null) { this.__mask.__isMask = false; this.__mask.__maskTarget = null; this.__mask.__setTransformDirty(true); this.__mask.__setParentRenderDirty(); var _this = this.__mask; if(!_this.__renderDirty) { _this.__renderDirty = true; _this.__setParentRenderDirty(); } } if(value != null) { if(!value.__isMask) { value.__setParentRenderDirty(); } value.__isMask = true; value.__maskTarget = this; value.__setTransformDirty(true); } 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__$internal_Lib.current.stage.__mouseX; var mouseY = this.stage != null ? this.stage.__mouseY : openfl__$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__$internal_Lib.current.stage.__mouseX; var mouseY = this.stage != null ? this.stage.__mouseY : openfl__$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__$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.__localBoundsDirty = true; this.__setTransformDirty(); this.__setParentRenderDirty(); } 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.__localBoundsDirty = true; this.__setTransformDirty(); this.__setParentRenderDirty(); } 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.__localBoundsDirty = true; this.__setTransformDirty(); this.__setParentRenderDirty(); } 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.__localBoundsDirty = true; this.__setTransformDirty(); this.__setParentRenderDirty(); } 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.__localBoundsDirty = true; this.__setTransformDirty(); this.__setParentRenderDirty(); } 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(); this.__setParentRenderDirty(); 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.__objectTransform.set_matrix(value.get_matrix()); if(!this.__objectTransform.get_colorTransform().__equals(value.get_colorTransform(),true) || !this.get_cacheAsBitmap() && this.__objectTransform.get_colorTransform().alphaMultiplier != value.get_colorTransform().alphaMultiplier) { this.__objectTransform.get_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() { return this.__getLocalBounds().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(); this.__setParentRenderDirty(); } return this.__transform.tx = value; } ,get_y: function() { return this.__transform.ty; } ,set_y: function(value) { if(value != this.__transform.ty) { this.__setTransformDirty(); this.__setParentRenderDirty(); } 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__$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; } ,__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.__type = openfl__$internal_renderer_DisplayObjectType.DISPLAY_OBJECT_CONTAINER; this.mouseChildren = true; this.__tabChildren = true; this.numChildren = 0; 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 ,numChildren: null ,__removedChildren: null ,__tabChildren: null ,addChild: function(child) { 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(child.parent == this) { openfl__$internal_utils_DisplayObjectLinkedList.__addChild(this,child); } else { if(child.parent != this) { if(child.parent != null) { child.parent.removeChild(child); } child.parent = this; this.numChildren++; } openfl__$internal_utils_DisplayObjectLinkedList.__addChild(this,child); var addedToStage = this.stage != null && child.stage == null; if(addedToStage) { child.__setStageReferences(this.stage); } child.__setTransformDirty(true); child.__setParentRenderDirty(); if(!child.__renderDirty) { child.__renderDirty = true; child.__setParentRenderDirty(); } this.__localBoundsDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } var event = openfl_events_Event.__pool.get(); event.type = "added"; event.bubbles = true; event.target = child; child.__dispatchWithCapture(event); openfl_events_Event.__pool.release(event); if(addedToStage) { event = new openfl_events_Event("addedToStage",false,false); child.__dispatchWithCapture(event); child.__dispatchChildren(event); } } return child; } ,addChildAt: function(child,index) { if(index == this.numChildren) { return this.addChild(child); } 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 < 0 || index > this.numChildren) { throw new js__$Boot_HaxeError("Invalid index position " + index); } if(child.parent == this) { if(index == 0) { if(this.__firstChild != child) { openfl__$internal_utils_DisplayObjectLinkedList.__unshiftChild(this,child); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } else { openfl__$internal_utils_DisplayObjectLinkedList.__swapChildren(this,child,this.getChildAt(index)); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } else { if(child.parent != this) { if(child.parent != null) { child.parent.removeChild(child); } child.parent = this; this.numChildren++; } openfl__$internal_utils_DisplayObjectLinkedList.__insertChildAt(this,child,index); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } var addedToStage = this.stage != null && child.stage == null; if(addedToStage) { child.__setStageReferences(this.stage); } child.__setTransformDirty(true); child.__setParentRenderDirty(); if(!child.__renderDirty) { child.__renderDirty = true; child.__setParentRenderDirty(); } this.__localBoundsDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } var event = openfl_events_Event.__pool.get(); event.type = "added"; event.bubbles = true; event.target = child; child.__dispatchWithCapture(event); openfl_events_Event.__pool.release(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.numChildren - 1) { return null; } var child = this.__firstChild; if(child != null) { var _g = 0; var _g1 = index; while(_g < _g1) { var i = _g++; child = child.__nextSibling; } } return child; } ,getChildByName: function(name) { var child = this.__firstChild; while(child != null) { if(child.get_name() == name) { return child; } child = child.__nextSibling; } return null; } ,getChildIndex: function(child) { var current = this.__firstChild; if(current != null) { var _g = 0; var _g1 = this.numChildren; while(_g < _g1) { var i = _g++; if(current == child) { return i; } current = current.__nextSibling; } } 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(); child.__setParentRenderDirty(); if(!child.__renderDirty) { child.__renderDirty = true; child.__setParentRenderDirty(); } this.__localBoundsDirty = true; 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.__setStageReferences(null); } openfl__$internal_utils_DisplayObjectLinkedList.__removeChild(this,child); this.__removedChildren.push(child); child.__setTransformDirty(true); child.__setParentRenderDirty(); } return child; } ,removeChildAt: function(index) { if(index >= 0 && index < this.numChildren) { var child = this.__firstChild; if(child != null) { var _g = 0; var _g1 = this.numChildren; while(_g < _g1) { var i = _g++; if(i == index) { return this.removeChild(child); } child = child.__nextSibling; } } } return null; } ,removeChildren: function(beginIndex,endIndex) { if(endIndex == null) { endIndex = 2147483647; } if(beginIndex == null) { beginIndex = 0; } if(endIndex == 2147483647) { endIndex = this.numChildren - 1; if(endIndex < 0) { return; } } if(beginIndex > this.numChildren - 1) { return; } else if(endIndex < beginIndex || beginIndex < 0 || endIndex > this.numChildren) { throw new js__$Boot_HaxeError(new openfl_errors_RangeError("The supplied index is out of bounds.")); } var child = this.__firstChild; if(child != null) { var _g = 0; var _g1 = beginIndex; while(_g < _g1) { var i = _g++; child = child.__nextSibling; } } var numRemovals = endIndex - beginIndex; var next = null; while(numRemovals >= 0) { next = child.__nextSibling; this.removeChild(child); child = next; --numRemovals; } } ,resolve: function(fieldName) { var child = this.__firstChild; while(child != null) { if(child.get_name() == fieldName) { return child; } child = child.__nextSibling; } return null; } ,setChildIndex: function(child,index) { if(index >= 0 && index <= this.numChildren && this.numChildren > 1 && child.parent == this) { if(index == 0) { openfl__$internal_utils_DisplayObjectLinkedList.__unshiftChild(this,child); } else if(index >= this.numChildren - 1) { openfl__$internal_utils_DisplayObjectLinkedList.__addChild(this,child); } else { openfl__$internal_utils_DisplayObjectLinkedList.__insertChildAt(this,child,index); } if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,stopAllMovieClips: function() { this.__stopAllMovieClips(); } ,swapChildren: function(child1,child2) { if(child1.parent == this && child2.parent == this && child1 != child2) { openfl__$internal_utils_DisplayObjectLinkedList.__swapChildren(this,child1,child2); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,swapChildrenAt: function(index1,index2) { if(index1 >= 0 && index1 < this.numChildren && index1 != index2 && index2 >= 0 && index2 < this.numChildren) { var child1 = null; var child2 = null; var current = this.__firstChild; if(current != null) { var _g = 0; var _g1 = this.numChildren; while(_g < _g1) { var i = _g++; if(i == index1) { child1 = current; } else if(i == index2) { child2 = current; } current = current.__nextSibling; } } openfl__$internal_utils_DisplayObjectLinkedList.__swapChildren(this,child1,child2); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,__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); } ,__getBounds: function(rect,matrix) { openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix); if(this.numChildren == 0) { return; } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var child = this.__firstChild; while(child != null) { if(child.__scaleX != 0 && child.__scaleY != 0) { 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); } child = child.__nextSibling; } 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.numChildren == 0) { return; } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var child = this.__firstChild; while(child != null) { if(child.__scaleX != 0 && child.__scaleY != 0 && !child.__isMask) { 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.__getFilterBounds(rect,childWorldTransform); } child = child.__nextSibling; } 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.numChildren == 0) { return; } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var child = this.__firstChild; while(child != null) { if(child.__scaleX != 0 && child.__scaleY != 0 && !child.__isMask) { 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); } child = child.__nextSibling; } 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 child = this.__lastChild; if(interactiveOnly) { if(stack == null || !this.mouseChildren) { while(child != null) { if(child.__hitTest(x,y,shapeFlag,null,true,child)) { if(stack != null) { stack.push(hitObject); } return true; } child = child.__previousSibling; } } else if(stack != null) { var length = stack.length; var interactive = false; var hitTest = false; while(child != null) { interactive = child.__getInteractive(null); if(interactive || this.mouseEnabled && !hitTest) { if(child.__hitTest(x,y,shapeFlag,stack,true,child)) { hitTest = true; if(interactive && stack.length > length) { break; } } } child = child.__previousSibling; } if(hitTest) { stack.splice(length,0,hitObject); return true; } } } else { var hitTest1 = false; while(child != null) { if(child.__hitTest(x,y,shapeFlag,stack,false,child)) { hitTest1 = true; if(stack == null) { break; } } child = child.__previousSibling; } return hitTest1; } return false; } ,__hitTestMask: function(x,y) { if(this.__graphics != null && this.__graphics.__hitTest(x,y,true,this.__getRenderTransform())) { return true; } if(this.numChildren > 0) { var child = this.__childIterator(); while(child.hasNext()) { var child1 = child.next(); var tmp; switch(child1.__type._hx_index) { case 0: var bitmap = child1; if(bitmap.__bitmapData == null) { tmp = false; } else { bitmap.__getRenderTransform(); var _this = bitmap.__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 = bitmap.__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)); tmp = px > 0 && py > 0 && px <= bitmap.__bitmapData.width && py <= bitmap.__bitmapData.height; } break; case 2:case 4: tmp = this.__graphics != null && this.__graphics.__hitTest(x,y,true,this.__getRenderTransform()) || child1.__graphics != null && child1.__graphics.__hitTest(x,y,true,child1.__getRenderTransform()); break; case 6: var simpleButton = child1; var hitTest = false; if(simpleButton.__currentState.__hitTestMask(x,y)) { hitTest = true; } tmp = hitTest; break; case 7: var textField = child1; textField.__getRenderTransform(); textField.__updateLayout(); var _this2 = textField.__renderTransform; var norm2 = _this2.a * _this2.d - _this2.b * _this2.c; var px1 = norm2 == 0 ? -_this2.tx : 1.0 / norm2 * (_this2.c * (_this2.ty - y) + _this2.d * (x - _this2.tx)); var _this3 = textField.__renderTransform; var norm3 = _this3.a * _this3.d - _this3.b * _this3.c; var py1 = norm3 == 0 ? -_this3.ty : 1.0 / norm3 * (_this3.a * (y - _this3.ty) + _this3.b * (_this3.tx - x)); tmp = textField.__textEngine.bounds.contains(px1,py1); break; case 9: var video = child1; var point = openfl_geom_Point.__pool.get(); point.setTo(x,y); video.__globalToLocal(point,point); var hit = point.x > 0 && point.y > 0 && point.x <= video.__width && point.y <= video.__height; openfl_geom_Point.__pool.release(point); tmp = hit; break; default: tmp = openfl_display_InteractiveObject.prototype.__hitTestMask.call(this,x,y); } if(tmp) { return true; } } } return false; } ,__readGraphicsData: function(graphicsData,recurse) { if(this.__graphics != null) { this.__graphics.__readGraphicsData(graphicsData); } if(recurse && this.numChildren > 0) { var child = this.__childIterator(); while(child.hasNext()) { var child1 = child.next(); if(child1.__graphics != null) { child1.__graphics.__readGraphicsData(graphicsData); } } } } ,__setTransformDirty: function(force) { if(force == null) { force = false; } this.__transformDirty = true; if(this.numChildren > 0 && (!this.__childTransformDirty || force)) { var child = this.__childIterator(); while(child.hasNext()) { var child1 = child.next(); if(child1.__type == openfl__$internal_renderer_DisplayObjectType.SIMPLE_BUTTON) { var simpleButton = child1; var force1 = force; if(force1 == null) { force1 = false; } simpleButton.__transformDirty = true; if(simpleButton.__currentState != null) { simpleButton.__currentState.__setTransformDirty(force1); } if(simpleButton.get_hitTestState() != null && simpleButton.get_hitTestState() != simpleButton.__currentState) { simpleButton.get_hitTestState().__setTransformDirty(force1); } } else { child1.__transformDirty = true; } } this.__childTransformDirty = true; } } ,__stopAllMovieClips: function() { if(this.numChildren > 0) { var child = this.__childIterator(); while(child.hasNext()) { var child1 = child.next(); if(child1.__type == openfl__$internal_renderer_DisplayObjectType.MOVIE_CLIP) { var movieClip = child1; movieClip.stop(); } } } } ,__tabTest: function(stack) { if(this.get_tabEnabled()) { stack.push(this); } if(!this.get_tabChildren()) { return; } if(this.numChildren > 0) { var children = this.__childIterator(); var child = children; while(child.hasNext()) { var child1 = child.next(); switch(child1.__type._hx_index) { case 2: var displayObjectContainer = child1; if(displayObjectContainer.get_tabEnabled()) { stack.push(displayObjectContainer); } if(!displayObjectContainer.get_tabChildren()) { children.skip(displayObjectContainer); continue; } break; case 4: var movieClip = child1; if(!movieClip.get_enabled()) { children.skip(movieClip); continue; } else if(movieClip.get_tabEnabled()) { stack.push(movieClip); } if(!movieClip.get_tabChildren()) { children.skip(movieClip); continue; } break; case 6:case 7: var interactiveObject = child1; if(interactiveObject.get_tabEnabled()) { stack.push(interactiveObject); } break; default: } } } } ,__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); if(this.__transformDirty) { if(this.__worldTransform == null) { this.__worldTransform = new openfl_geom_Matrix(); } if(this.__renderTransform == null) { this.__renderTransform = new openfl_geom_Matrix(); } if(this.parent != null) { var local = this.__transform; 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(this.__transform); } if(renderParent != null) { var local1 = this.__transform; var parentTransform1 = renderParent.__renderTransform; var target1 = this.__renderTransform; target1.a = local1.a * parentTransform1.a + local1.b * parentTransform1.c; target1.b = local1.a * parentTransform1.b + local1.b * parentTransform1.d; target1.c = local1.c * parentTransform1.a + local1.d * parentTransform1.c; target1.d = local1.c * parentTransform1.b + local1.d * parentTransform1.d; target1.tx = local1.tx * parentTransform1.a + local1.ty * parentTransform1.c + parentTransform1.tx; target1.ty = local1.tx * parentTransform1.b + local1.ty * parentTransform1.d + parentTransform1.ty; } else { this.__renderTransform.copyFrom(this.__transform); } 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; } this.__transformDirty = 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.get_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.get_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); } if(updateChildren && this.numChildren > 0) { var child = this.__childIterator(); while(child.hasNext()) { var child1 = child.next(); var transformDirty = child1.__transformDirty; var renderParent1 = child1.__renderParent != null ? child1.__renderParent : child1.parent; if(child1.__isMask && renderParent1 == null) { renderParent1 = child1.__maskTarget; } child1.__renderable = child1.__visible && child1.__scaleX != 0 && child1.__scaleY != 0 && !child1.__isMask && (renderParent1 == null || !renderParent1.__isMask); if(child1.__transformDirty) { if(child1.__worldTransform == null) { child1.__worldTransform = new openfl_geom_Matrix(); } if(child1.__renderTransform == null) { child1.__renderTransform = new openfl_geom_Matrix(); } if(child1.parent != null) { var local2 = child1.__transform; var parentTransform2 = child1.parent.__worldTransform; var target2 = child1.__worldTransform; target2.a = local2.a * parentTransform2.a + local2.b * parentTransform2.c; target2.b = local2.a * parentTransform2.b + local2.b * parentTransform2.d; target2.c = local2.c * parentTransform2.a + local2.d * parentTransform2.c; target2.d = local2.c * parentTransform2.b + local2.d * parentTransform2.d; target2.tx = local2.tx * parentTransform2.a + local2.ty * parentTransform2.c + parentTransform2.tx; target2.ty = local2.tx * parentTransform2.b + local2.ty * parentTransform2.d + parentTransform2.ty; } else { child1.__worldTransform.copyFrom(child1.__transform); } if(renderParent1 != null) { var local3 = child1.__transform; var parentTransform3 = renderParent1.__renderTransform; var target3 = child1.__renderTransform; target3.a = local3.a * parentTransform3.a + local3.b * parentTransform3.c; target3.b = local3.a * parentTransform3.b + local3.b * parentTransform3.d; target3.c = local3.c * parentTransform3.a + local3.d * parentTransform3.c; target3.d = local3.c * parentTransform3.b + local3.d * parentTransform3.d; target3.tx = local3.tx * parentTransform3.a + local3.ty * parentTransform3.c + parentTransform3.tx; target3.ty = local3.tx * parentTransform3.b + local3.ty * parentTransform3.d + parentTransform3.ty; } else { child1.__renderTransform.copyFrom(child1.__transform); } if(child1.__scrollRect != null) { var _this1 = child1.__renderTransform; var px1 = -child1.__scrollRect.x; var py1 = -child1.__scrollRect.y; _this1.tx = px1 * _this1.a + py1 * _this1.c + _this1.tx; _this1.ty = px1 * _this1.b + py1 * _this1.d + _this1.ty; } child1.__transformDirty = false; } if(!transformOnly) { if(openfl_display_DisplayObject.__supportDOM) { child1.__renderTransformChanged = !child1.__renderTransform.equals(child1.__renderTransformCache); if(child1.__renderTransformCache == null) { child1.__renderTransformCache = child1.__renderTransform.clone(); } else { child1.__renderTransformCache.copyFrom(child1.__renderTransform); } } if(renderParent1 != null) { if(openfl_display_DisplayObject.__supportDOM) { var worldVisible1 = renderParent1.__worldVisible && child1.__visible; child1.__worldVisibleChanged = child1.__worldVisible != worldVisible1; child1.__worldVisible = worldVisible1; var worldAlpha1 = child1.get_alpha() * renderParent1.__worldAlpha; child1.__worldAlphaChanged = child1.__worldAlpha != worldAlpha1; child1.__worldAlpha = worldAlpha1; } else { child1.__worldAlpha = child1.get_alpha() * renderParent1.__worldAlpha; } if(child1.__objectTransform != null) { child1.__worldColorTransform.__copyFrom(child1.__objectTransform.get_colorTransform()); child1.__worldColorTransform.__combine(renderParent1.__worldColorTransform); } else { child1.__worldColorTransform.__copyFrom(renderParent1.__worldColorTransform); } if(child1.__blendMode == null || child1.__blendMode == 10) { child1.__worldBlendMode = renderParent1.__worldBlendMode; } else { child1.__worldBlendMode = child1.__blendMode; } if(child1.__shader == null) { child1.__worldShader = renderParent1.__shader; } else { child1.__worldShader = child1.__shader; } if(child1.__scale9Grid == null) { child1.__worldScale9Grid = renderParent1.__scale9Grid; } else { child1.__worldScale9Grid = child1.__scale9Grid; } } else { child1.__worldAlpha = child1.get_alpha(); if(openfl_display_DisplayObject.__supportDOM) { child1.__worldVisibleChanged = child1.__worldVisible != child1.__visible; child1.__worldVisible = child1.__visible; child1.__worldAlphaChanged = child1.__worldAlpha != child1.get_alpha(); } if(child1.__objectTransform != null) { child1.__worldColorTransform.__copyFrom(child1.__objectTransform.get_colorTransform()); } else { child1.__worldColorTransform.__identity(); } child1.__worldBlendMode = child1.__blendMode; child1.__worldShader = child1.__shader; child1.__worldScale9Grid = child1.__scale9Grid; } } if(updateChildren && child1.get_mask() != null) { child1.get_mask().__update(transformOnly,true); } switch(child1.__type._hx_index) { case 2:case 4: child1.__childTransformDirty = false; break; case 6: if(updateChildren) { var button = child1; if(button.__currentState != null) { button.__currentState.__update(transformOnly,true); } if(button.get_hitTestState() != null && button.get_hitTestState() != button.__currentState) { button.get_hitTestState().__update(transformOnly,true); } } break; case 7: if(transformDirty) { var textField = child1; var _this2 = textField.__renderTransform; var px2 = textField.__offsetX; var py2 = textField.__offsetY; _this2.tx = px2 * _this2.a + py2 * _this2.c + _this2.tx; _this2.ty = px2 * _this2.b + py2 * _this2.d + _this2.ty; } break; default: } } } this.__childTransformDirty = false; } ,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"}) }); var openfl_display_Sprite = function() { openfl_display_DisplayObjectContainer.call(this); 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() { openfl_display_Sprite.call(this); this.addChild(new flixel_FlxGame(480,288,BootState,1,60,60,true)); }; $hxClasses["Main"] = Main; Main.__name__ = "Main"; Main.__super__ = openfl_display_Sprite; Main.prototype = $extend(openfl_display_Sprite.prototype,{ __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 AssetPaths = function() { }; $hxClasses["AssetPaths"] = AssetPaths; AssetPaths.__name__ = "AssetPaths"; 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 = -1; }; $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_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; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists && basic.visible) { basic.draw(); } } } ,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 ,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.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(); } } } ,destroy: function() { 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); } ,__class__: flixel_FlxState ,__properties__: $extend(flixel_group_FlxTypedGroup.prototype.__properties__,{set_bgColor:"set_bgColor",get_bgColor:"get_bgColor"}) }); var BootState = function(MaxSize) { flixel_FlxState.call(this,MaxSize); }; $hxClasses["BootState"] = BootState; BootState.__name__ = "BootState"; BootState.__super__ = flixel_FlxState; BootState.prototype = $extend(flixel_FlxState.prototype,{ create: function() { flixel_FlxG.mouse.set_visible(false); var daText = new flixel_text_FlxText(0,0,0,"ninjamuffin99\nMKMaffo\nKawaisprite\nand Digimin\npresent...",16); daText.set_alignment("center"); daText.screenCenter(); this.add(daText); flixel_FlxG.sound.play("assets/sounds/checkpoint" + BootState.soundEXT,0.6); new flixel_util_FlxTimer().start(2,function(tmr) { var nextState = new MenuState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }); flixel_FlxState.prototype.create.call(this); } ,__class__: BootState }); 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 ,isEmpty: 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 Checkpoint = function(x,y,d) { this.dialogue = ""; this.isCurCheckpoint = false; flixel_FlxSprite.call(this,x,y); this.loadGraphic("assets/images/checkpoint_rat.PNG",true,32,32); var _g = this.offset; _g.set_y(_g.y - 2); this.animation.add("idle",[0,1,2,3],10); this.animation.add("play",[4,5,6,7],10); this.animation.play("idle"); this.dialogue = d; }; $hxClasses["Checkpoint"] = Checkpoint; Checkpoint.__name__ = "Checkpoint"; Checkpoint.__super__ = flixel_FlxSprite; Checkpoint.prototype = $extend(flixel_FlxSprite.prototype,{ isCurCheckpoint: null ,dialogue: null ,update: function(elapsed) { if(this.isCurCheckpoint) { this.animation.play("play"); } else { this.animation.play("idle"); } flixel_FlxSprite.prototype.update.call(this,elapsed); } ,__class__: Checkpoint }); var Cheese = function(x,y) { flixel_FlxSprite.call(this,x,y); this.loadGraphic("assets/images/cheese_idle.png",true,32,32); this.animation.add("idle",[0,1,2,3,4,5,6],12); this.animation.play("idle",false,false,-1); this.offset.set_x(2); var _g = this; _g.set_width(_g.get_width() - 5); this.offset.set_y(2); var _g1 = this; _g1.set_height(_g1.get_height() - 7); }; $hxClasses["Cheese"] = Cheese; Cheese.__name__ = "Cheese"; Cheese.__super__ = flixel_FlxSprite; Cheese.prototype = $extend(flixel_FlxSprite.prototype,{ __class__: Cheese }); 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 DialogueSubstate = function(d) { flixel_FlxSubState.call(this); this.blackBarTop = new flixel_FlxSprite(); this.blackBarTop.makeGraphic(flixel_FlxG.width,flixel_FlxG.height * 0.22 | 0,-16777216); this.blackBarTop.scrollFactor.set(); var _g = this.blackBarTop; _g.set_y(_g.y - this.blackBarTop.get_height()); this.add(this.blackBarTop); this.blackBarBottom = new flixel_FlxSprite(); this.blackBarBottom.makeGraphic(flixel_FlxG.width,flixel_FlxG.height * 0.22 | 0,-16777216); this.blackBarBottom.scrollFactor.set(); this.blackBarBottom.set_y(flixel_FlxG.height); this.add(this.blackBarBottom); flixel_tweens_FlxTween.tween(this.blackBarTop,{ y : 0},0.25,{ ease : flixel_tweens_FlxEase.quadIn}); flixel_tweens_FlxTween.tween(this.blackBarBottom,{ y : flixel_FlxG.height - this.blackBarBottom.get_height() | 0},0.25,{ ease : flixel_tweens_FlxEase.quadIn}); this.dialogueText = new TypeTextTwo(0,0,flixel_FlxG.width,d,16); this.dialogueText.scrollFactor.set(); var tmp = flixel_FlxG.sound.load("assets/sounds/talksound" + BootState.soundEXT); var tmp1 = flixel_FlxG.sound.load("assets/sounds/talksound1" + BootState.soundEXT); this.dialogueText.sounds = [tmp,tmp1]; this.dialogueText.finishSounds = true; var tmp2; var s = "E"; 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; tmp2 = __map_reserved[s] != null ? _this1.getReserved(s) : _this1.h[s]; } else { tmp2 = -1; } var tmp3; var s1 = "F"; s1 = s1.toUpperCase(); var _this2 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s1] != null ? _this2.existsReserved(s1) : _this2.h.hasOwnProperty(s1)) { var _this3 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; tmp3 = __map_reserved[s1] != null ? _this3.getReserved(s1) : _this3.h[s1]; } else { tmp3 = -1; } var tmp4; var s2 = "X"; s2 = s2.toUpperCase(); var _this4 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s2] != null ? _this4.existsReserved(s2) : _this4.h.hasOwnProperty(s2)) { var _this5 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; tmp4 = __map_reserved[s2] != null ? _this5.getReserved(s2) : _this5.h[s2]; } else { tmp4 = -1; } var tmp5; var s3 = "SPACE"; s3 = s3.toUpperCase(); var _this6 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s3] != null ? _this6.existsReserved(s3) : _this6.h.hasOwnProperty(s3)) { var _this7 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; tmp5 = __map_reserved[s3] != null ? _this7.getReserved(s3) : _this7.h[s3]; } else { tmp5 = -1; } var tmp6; var s4 = "Z"; s4 = s4.toUpperCase(); var _this8 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s4] != null ? _this8.existsReserved(s4) : _this8.h.hasOwnProperty(s4)) { var _this9 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; tmp6 = __map_reserved[s4] != null ? _this9.getReserved(s4) : _this9.h[s4]; } else { tmp6 = -1; } var tmp7; var s5 = "W"; s5 = s5.toUpperCase(); var _this10 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s5] != null ? _this10.existsReserved(s5) : _this10.h.hasOwnProperty(s5)) { var _this11 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; tmp7 = __map_reserved[s5] != null ? _this11.getReserved(s5) : _this11.h[s5]; } else { tmp7 = -1; } var s6 = "UP"; s6 = s6.toUpperCase(); var tmp8; var _this12 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s6] != null ? _this12.existsReserved(s6) : _this12.h.hasOwnProperty(s6)) { var _this13 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; tmp8 = __map_reserved[s6] != null ? _this13.getReserved(s6) : _this13.h[s6]; } else { tmp8 = -1; } this.dialogueText.skipKeys = [tmp2,tmp3,tmp4,tmp5,tmp6,tmp7,tmp8]; this.add(this.dialogueText); this.dialogueText.start(); }; $hxClasses["DialogueSubstate"] = DialogueSubstate; DialogueSubstate.__name__ = "DialogueSubstate"; DialogueSubstate.__super__ = flixel_FlxSubState; DialogueSubstate.prototype = $extend(flixel_FlxSubState.prototype,{ dialogueText: null ,blackBarTop: null ,blackBarBottom: null ,update: function(elapsed) { var gamepad = flixel_FlxG.gamepads.lastActive; if(gamepad != null) { if(gamepad.justPressed.get_ANY()) { if(this.dialogueText.isFinished) { this.close(); } this.dialogueText.skip(); } } if(flixel_FlxG.keys.checkKeyArrayState(this.dialogueText.skipKeys,2) && this.dialogueText.isFinished) { this.close(); } flixel_FlxSubState.prototype.update.call(this,elapsed); } ,__class__: DialogueSubstate }); var Dust = function(x,y) { flixel_FlxSprite.call(this,x,y); var _g = this; _g.set_x(_g.x - 5); var _g1 = this; _g1.set_y(_g1.y - 8); this.loadGraphic("assets/images/dust.png",true,32,32); this.animation.add("play",[0,1,2,2,2,3],flixel_FlxG.random.int(19,24),false); this.animation.play("play"); this.set_flipX(flixel_FlxG.random.float(0,100) < 50); }; $hxClasses["Dust"] = Dust; Dust.__name__ = "Dust"; Dust.__super__ = flixel_FlxSprite; Dust.prototype = $extend(flixel_FlxSprite.prototype,{ update: function(elapsed) { if(this.animation._curAnim.finished) { this.kill(); } flixel_FlxSprite.prototype.update.call(this,elapsed); } ,__class__: Dust }); 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 EndState = function(MaxSize) { this.finishedShit = false; this.credsCounter = 0; this.creds = ["RITZ","For Pixel Day 2020 on Newgrounds.com","","A game by","ninjamuffin99","MKMaffo","Digimin","Kawaisprite","","","Programming, design and writing","ninjamuffin99","","Character art and animation","MKMaffo","","Tile, background art and additional writing","Digimin","","Music and sounds","Kawaisprite","","","Made with HaxeFlixel","","Source code","github.com/ninjamuffin99/actualPixelDay2020","","Map editor","OGMO 3","","","","Special Thanks","OzoneOrange","Wandaboy","Snackers","Carmet","HenryEYES","FuShark","PhantomArcade","GeoKureli","Joe Swanson from Family Guy","MuccTucc","SuperMega","DonRRR","","Tom Fulp and Newgrounds"]; flixel_FlxState.call(this,MaxSize); }; $hxClasses["EndState"] = EndState; EndState.__name__ = "EndState"; EndState.__super__ = flixel_FlxState; EndState.prototype = $extend(flixel_FlxState.prototype,{ creds: null ,text: null ,dumbass: null ,create: function() { this.text = new flixel_text_FlxText(0,flixel_FlxG.height + 100,0,"",16); this.dumbass = new Checkpoint(400,1600,"Huh, looks like it's over. Thanks for playing Ritz! I'm still kinda hungry though... go find me more cheese!"); this.add(this.dumbass); flixel_FlxG.sound.playMusic("assets/music/ritz" + BootState.soundEXT,0.8); var _g = 0; var _g1 = this.creds; while(_g < _g1.length) { var i = _g1[_g]; ++_g; var _g2 = this.text; _g2.set_text(_g2.text + (i + "\n")); } this.add(this.text); if(NGio.isLoggedIn) { var hornyMedal = io_newgrounds_NG.core.medals.h[58882]; if(!hornyMedal.unlocked) { hornyMedal.sendUnlock(); } } flixel_FlxState.prototype.create.call(this); } ,credsCounter: null ,finishedShit: null ,update: function(elapsed) { this.credsCounter++; if(this.dumbass.y < flixel_FlxG.height - 110) { if(this.finishedShit) { var nextState = new MenuState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } else { this.finishedShit = true; this.openSubState(new DialogueSubstate(this.dumbass.dialogue)); } } if(this.text.y < -900 && flixel_FlxG.sound.music._volume == 0.8) { var _this = flixel_FlxG.sound.music; var Duration = 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)); } if(this.credsCounter >= 2) { this.credsCounter = 0; var _g = this.text; _g.set_y(_g.y - 1.45); var _g1 = this.dumbass; _g1.set_y(_g1.y - 1.45); } flixel_FlxState.prototype.update.call(this,elapsed); } ,__class__: EndState }); var Enemy = function(x,y,p,speed) { flixel_FlxSprite.call(this,x,y); this.loadGraphic("assets/images/spider_enemy.PNG",true,32,32); this.animation.add("idle",[0,1,2,3],12); this.animation.add("walk",[4,5,6,7],12); this._facingFlip.h[1] = { x : false, y : false}; this._facingFlip.h[16] = { x : true, y : false}; this.set_path(p); this.path.autoCenter = false; var _g = 0; var _g1 = this.path.get_nodes(); while(_g < _g1.length) { var n = _g1[_g]; ++_g; var _g2 = n; _g2.set_y(_g2.y + 14); } this.path.start(null,speed,16); var _g21 = this; _g21.set_height(_g21.get_height() - 14); this.offset.set_y(8); var _g22 = this; _g22.set_width(_g22.get_width() - 10); this.offset.set_x(8); }; $hxClasses["Enemy"] = Enemy; Enemy.__name__ = "Enemy"; Enemy.__super__ = flixel_FlxSprite; Enemy.prototype = $extend(flixel_FlxSprite.prototype,{ update: function(e) { flixel_FlxSprite.prototype.update.call(this,e); if(this.velocity.x != 0) { this.animation.play("walk"); if(this.velocity.x > 0) { this.set_facing(16); } else { this.set_facing(1); } } else { this.animation.play("idle"); } } ,__class__: Enemy }); var HxOverrides = function() { }; $hxClasses["HxOverrides"] = HxOverrides; HxOverrides.__name__ = "HxOverrides"; 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 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 = "./"; } lime_utils_Assets.defaultRootPath = ManifestResources.rootPath; openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf); openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf); var bundle; var data = "{\"name\":null,\"assets\":\"aoy4:pathy23:assets%2Fbstaingcum.pngy4:sizei1694y4:typey5:IMAGEy2:idR1y7:preloadtgoR0y19:assets%2Fcrack1.pngR2i284R3R4R5R7R6tgoR0y19:assets%2Fcrack2.pngR2i241R3R4R5R8R6tgoR0y20:assets%2Fcrackcl.pngR2i165R3R4R5R9R6tgoR0y21:assets%2Fcrackop3.pngR2i251R3R4R5R10R6tgoR0y29:assets%2Fdata%2Fcrackoop5.pngR2i217R3R4R5R11R6tgoR0y28:assets%2Fdata%2Fcrackop1.pngR2i265R3R4R5R12R6tgoR0y28:assets%2Fdata%2Fcrackop2.pngR2i219R3R4R5R13R6tgoR0y28:assets%2Fdata%2Fcrackop7.pngR2i228R3R4R5R14R6tgoR0y34:assets%2Fdata%2Fdata-goes-here.txtR2zR3y4:TEXTR5R15R6tgoR0y29:assets%2Fdata%2Fdigitiles.pngR2i8723R3R4R5R17R6tgoR0y33:assets%2Fdata%2FdumbassLevel.jsonR2i159183R3R16R5R18R6tgoR0y33:assets%2Fdata%2FlevelProject.ogmoR2i29638R3R16R5R19R6tgoR0y38:assets%2Fdata%2FplaceholderTileset.pngR2i1159R3R4R5R20R6tgoR0y27:assets%2Fdata%2Ftileset.pngR2i196R3R4R5R21R6tgoR0y28:assets%2Fdata%2FUntitled.pngR2i107R3R4R5R22R6tgoR0y18:assets%2Fgrass.pngR2i346R3R4R5R23R6tgoR0y36:assets%2Fimages%2Fcheckpoint_rat.PNGR2i5488R3R4R5R24R6tgoR0y33:assets%2Fimages%2Fcheese_idle.pngR2i2513R3R4R5R25R6tgoR0y30:assets%2Fimages%2Fdialogue.pngR2i254R3R4R5R26R6tgoR0y26:assets%2Fimages%2Fdoor.pngR2i615R3R4R5R27R6tgoR0y28:assets%2Fimages%2Fdumbbg.pngR2i13761R3R4R5R28R6tgoR0y26:assets%2Fimages%2Fdust.pngR2i680R3R4R5R29R6tgoR0y36:assets%2Fimages%2Fimages-go-here.txtR2zR3R16R5R30R6tgoR0y37:assets%2Fimages%2Fintrocheesetext.pngR2i2994R3R4R5R31R6tgoR0y38:assets%2Fimages%2FmousePlaceholder.pngR2i419R3R4R5R32R6tgoR0y32:assets%2Fimages%2FmovingLong.pngR2i418R3R4R5R33R6tgoR0y34:assets%2Fimages%2FmovingLonger.pngR2i455R3R4R5R34R6tgoR0y36:assets%2Fimages%2FmovingLongside.pngR2i430R3R4R5R35R6tgoR0y33:assets%2Fimages%2FmovingShort.pngR2i697R3R4R5R36R6tgoR0y34:assets%2Fimages%2FmovingSingle.pngR2i575R3R4R5R37R6tgoR0y38:assets%2Fimages%2Fritz_spritesheet.pngR2i3316R3R4R5R38R6tgoR0y34:assets%2Fimages%2Fspider_enemy.PNGR2i2912R3R4R5R39R6tgoR0y27:assets%2Fimages%2Fspike.pngR2i1660R3R4R5R40R6tgoR0y26:assets%2Fimages%2Ftac1.pngR2i395R3R4R5R41R6tgoR0y26:assets%2Fimages%2Ftac2.pngR2i404R3R4R5R42R6tgoR0y26:assets%2Fimages%2Ftac3.pngR2i399R3R4R5R43R6tgoR0y33:assets%2Fimages%2FtitleScreen.pngR2i165185R3R4R5R44R6tgoR0y33:assets%2Fimages%2FtitleScreen.txtR2i305R3R16R5R45R6tgoR2i1279999R3y5:MUSICR5y32:assets%2Fmusic%2Ffluffydream.mp3y9:pathGroupaR47y32:assets%2Fmusic%2Ffluffydream.ogghR6tgoR2i605414R3y5:SOUNDR5R49R48aR47R49hgoR0y36:assets%2Fmusic%2Fmusic-goes-here.txtR2zR3R16R5R51R6tgoR2i787414R3R46R5y27:assets%2Fmusic%2Fpillow.mp3R48aR52y27:assets%2Fmusic%2Fpillow.ogghR6tgoR2i710208R3R50R5R53R48aR52R53hgoR2i1843199R3R46R5y25:assets%2Fmusic%2Fritz.mp3R48aR54y25:assets%2Fmusic%2Fritz.ogghR6tgoR0y29:assets%2Fmusic%2Fritz.mp3.asdR2i146348R3y6:BINARYR5R56R6tgoR2i879912R3R50R5R55R48aR54R55hgoR2i193305R3R46R5y40:assets%2Fsounds%2Fallcheesesunlocked.mp3R48aR58y40:assets%2Fsounds%2Fallcheesesunlocked.ogghR6tgoR2i90450R3R50R5R59R48aR58R59hgoR2i81501R3R46R5y32:assets%2Fsounds%2Fcheckpoint.mp3R48aR60y32:assets%2Fsounds%2Fcheckpoint.ogghR6tgoR2i38312R3R50R5R61R48aR60R61hgoR2i19852R3R46R5y35:assets%2Fsounds%2FcollectCheese.mp3R48aR62y35:assets%2Fsounds%2FcollectCheese.ogghR6tgoR2i12798R3R50R5R63R48aR62R63hgoR2i19852R3R46R5y33:assets%2Fsounds%2FdamageTaken.mp3R48aR64y33:assets%2Fsounds%2FdamageTaken.ogghR6tgoR2i12051R3R50R5R65R48aR64R65hgoR2i100309R3R46R5y36:assets%2Fsounds%2Fdiscoverysound.mp3R48aR66y36:assets%2Fsounds%2Fdiscoverysound.ogghR6tgoR2i61561R3R50R5R67R48aR66R67hgoR2i30301R3R46R5y32:assets%2Fsounds%2FdoubleJump.mp3R48aR68y32:assets%2Fsounds%2FdoubleJump.ogghR6tgoR2i13259R3R50R5R69R48aR68R69hgoR2i19852R3R46R5y26:assets%2Fsounds%2Fjump.mp3R48aR70y26:assets%2Fsounds%2Fjump.ogghR6tgoR2i12054R3R50R5R71R48aR70R71hgoR2i21942R3R46R5y36:assets%2Fsounds%2Fkeyboardtyping.mp3R48aR72y36:assets%2Fsounds%2Fkeyboardtyping.ogghR6tgoR2i12277R3R50R5R73R48aR72R73hgoR2i9403R3R46R5y33:assets%2Fsounds%2FMunchsound1.mp3R48aR74y33:assets%2Fsounds%2FMunchsound1.ogghR6tgoR2i7586R3R50R5R75R48aR74R75hgoR2i7313R3R46R5y33:assets%2Fsounds%2FMunchsound2.mp3R48aR76y33:assets%2Fsounds%2FMunchsound2.ogghR6tgoR2i7099R3R50R5R77R48aR76R77hgoR2i7313R3R46R5y33:assets%2Fsounds%2FMunchsound3.mp3R48aR78y33:assets%2Fsounds%2FMunchsound3.ogghR6tgoR2i7144R3R50R5R79R48aR78R79hgoR2i6268R3R46R5y33:assets%2Fsounds%2FMunchsound4.mp3R48aR80y33:assets%2Fsounds%2FMunchsound4.ogghR6tgoR2i7030R3R50R5R81R48aR80R81hgoR2i68962R3R46R5y37:assets%2Fsounds%2Fritzstartjingle.mp3R48aR82y37:assets%2Fsounds%2Fritzstartjingle.ogghR6tgoR2i33367R3R50R5R83R48aR82R83hgoR0y36:assets%2Fsounds%2Fsounds-go-here.txtR2zR3R16R5R84R6tgoR2i70007R3R46R5y32:assets%2Fsounds%2Fstartbleep.mp3R48aR85y32:assets%2Fsounds%2Fstartbleep.ogghR6tgoR2i33030R3R50R5R86R48aR85R86hgoR2i1773R3R46R5y31:assets%2Fsounds%2Ftalksound.mp3R48aR87y31:assets%2Fsounds%2Ftalksound.ogghR6tgoR2i6228R3R50R5R88R48aR87R88hgoR2i1799R3R46R5y32:assets%2Fsounds%2Ftalksound1.mp3R48aR89y32:assets%2Fsounds%2Ftalksound1.ogghR6tgoR2i6219R3R50R5R90R48aR89R90hgoR2i2114R3R46R5y26:flixel%2Fsounds%2Fbeep.mp3R48aR91y26:flixel%2Fsounds%2Fbeep.ogghR6tgoR2i39706R3R46R5y28:flixel%2Fsounds%2Fflixel.mp3R48aR93y28:flixel%2Fsounds%2Fflixel.ogghR6tgoR2i5794R3R50R5R92R48aR91R92hgoR2i33629R3R50R5R94R48aR93R94hgoR2i15744R3y4:FONTy9:classNamey35:__ASSET__flixel_fonts_nokiafc22_ttfR5y30:flixel%2Ffonts%2Fnokiafc22.ttfR6tgoR2i29724R3R95R96y36:__ASSET__flixel_fonts_monsterrat_ttfR5y31:flixel%2Ffonts%2Fmonsterrat.ttfR6tgoR0y33:flixel%2Fimages%2Fui%2Fbutton.pngR2i519R3R4R5R101R6tgoR0y36:flixel%2Fimages%2Flogo%2Fdefault.pngR2i3280R3R4R5R102R6tgoR0y34:flixel%2Fflixel-ui%2Fimg%2Fbox.pngR2i912R3R4R5R103R6tgoR0y37:flixel%2Fflixel-ui%2Fimg%2Fbutton.pngR2i433R3R4R5R104R6tgoR0y48:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_down.pngR2i446R3R4R5R105R6tgoR0y48:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_left.pngR2i459R3R4R5R106R6tgoR0y49:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_right.pngR2i511R3R4R5R107R6tgoR0y46:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_up.pngR2i493R3R4R5R108R6tgoR0y42:flixel%2Fflixel-ui%2Fimg%2Fbutton_thin.pngR2i247R3R4R5R109R6tgoR0y44:flixel%2Fflixel-ui%2Fimg%2Fbutton_toggle.pngR2i534R3R4R5R110R6tgoR0y40:flixel%2Fflixel-ui%2Fimg%2Fcheck_box.pngR2i922R3R4R5R111R6tgoR0y41:flixel%2Fflixel-ui%2Fimg%2Fcheck_mark.pngR2i946R3R4R5R112R6tgoR0y37:flixel%2Fflixel-ui%2Fimg%2Fchrome.pngR2i253R3R4R5R113R6tgoR0y42:flixel%2Fflixel-ui%2Fimg%2Fchrome_flat.pngR2i212R3R4R5R114R6tgoR0y43:flixel%2Fflixel-ui%2Fimg%2Fchrome_inset.pngR2i192R3R4R5R115R6tgoR0y43:flixel%2Fflixel-ui%2Fimg%2Fchrome_light.pngR2i214R3R4R5R116R6tgoR0y44:flixel%2Fflixel-ui%2Fimg%2Fdropdown_mark.pngR2i156R3R4R5R117R6tgoR0y41:flixel%2Fflixel-ui%2Fimg%2Ffinger_big.pngR2i1724R3R4R5R118R6tgoR0y43:flixel%2Fflixel-ui%2Fimg%2Ffinger_small.pngR2i294R3R4R5R119R6tgoR0y38:flixel%2Fflixel-ui%2Fimg%2Fhilight.pngR2i129R3R4R5R120R6tgoR0y36:flixel%2Fflixel-ui%2Fimg%2Finvis.pngR2i128R3R4R5R121R6tgoR0y41:flixel%2Fflixel-ui%2Fimg%2Fminus_mark.pngR2i136R3R4R5R122R6tgoR0y40:flixel%2Fflixel-ui%2Fimg%2Fplus_mark.pngR2i147R3R4R5R123R6tgoR0y36:flixel%2Fflixel-ui%2Fimg%2Fradio.pngR2i191R3R4R5R124R6tgoR0y40:flixel%2Fflixel-ui%2Fimg%2Fradio_dot.pngR2i153R3R4R5R125R6tgoR0y37:flixel%2Fflixel-ui%2Fimg%2Fswatch.pngR2i185R3R4R5R126R6tgoR0y34:flixel%2Fflixel-ui%2Fimg%2Ftab.pngR2i201R3R4R5R127R6tgoR0y39:flixel%2Fflixel-ui%2Fimg%2Ftab_back.pngR2i210R3R4R5R128R6tgoR0y44:flixel%2Fflixel-ui%2Fimg%2Ftooltip_arrow.pngR2i18509R3R4R5R129R6tgoR0y39:flixel%2Fflixel-ui%2Fxml%2Fdefaults.xmlR2i1263R3R16R5R130R6tgoR0y53:flixel%2Fflixel-ui%2Fxml%2Fdefault_loading_screen.xmlR2i1953R3R16R5R131R6tgoR0y44:flixel%2Fflixel-ui%2Fxml%2Fdefault_popup.xmlR2i1848R3R16R5R132R6tgh\",\"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_$_$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_$_$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 MenuState = function(MaxSize) { flixel_FlxState.call(this,MaxSize); }; $hxClasses["MenuState"] = MenuState; MenuState.__name__ = "MenuState"; MenuState.__super__ = flixel_FlxState; MenuState.prototype = $extend(flixel_FlxState.prototype,{ pressStart: null ,title: null ,create: function() { flixel_FlxG.sound.playMusic("assets/music/fluffydream" + BootState.soundEXT,0); var _this = flixel_FlxG.sound.music; var Duration = 5; var From = 0; var To = 1; 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)); flixel_FlxG.camera.fade(-1,5,true); var tex = flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker("assets/images/titleScreen.png","assets/images/titleScreen.txt"); this.title = new flixel_FlxSprite(); this.title.set_frames(tex); this.title.animation.add("baby",[0]); this.title.animation.add("ritz",[0,1,2,3,4,5,6,7,8,9,10],12,false); this.title.animation.play("baby"); this.add(this.title); this.pressStart = new flixel_FlxSprite().loadGraphic("assets/images/introcheesetext.png"); this.add(this.pressStart); flixel_effects_FlxFlicker.flicker(this.pressStart,0,0.5); flixel_FlxState.prototype.create.call(this); } ,update: function(elapsed) { var _gthis = this; if(this.title.animation._curAnim.name != "ritz") { var gamepad = flixel_FlxG.gamepads.lastActive; if(gamepad != null) { if(gamepad.pressed.get_ANY() && flixel_FlxG.sound.music != null) { flixel_effects_FlxFlicker.flicker(this.pressStart,1,0.04,false,true,function(flic) { flixel_FlxG.sound.play("assets/sounds/ritzstartjingle" + BootState.soundEXT); _gthis.title.animation.play("ritz"); }); flixel_FlxG.sound.play("assets/sounds/startbleep" + BootState.soundEXT); if(flixel_FlxG.sound.music != null) { var _this = flixel_FlxG.sound.music; _this.cleanup(_this.autoDestroy,true); flixel_FlxG.sound.music = null; } } } if(flixel_FlxG.keys.justPressed.get_ANY() && flixel_FlxG.sound.music != null) { flixel_effects_FlxFlicker.flicker(this.pressStart,1,0.04,false,true,function(flic1) { flixel_FlxG.sound.play("assets/sounds/ritzstartjingle" + BootState.soundEXT); _gthis.title.animation.play("ritz"); }); flixel_FlxG.sound.play("assets/sounds/startbleep" + BootState.soundEXT); if(flixel_FlxG.sound.music != null) { var _this1 = flixel_FlxG.sound.music; _this1.cleanup(_this1.autoDestroy,true); flixel_FlxG.sound.music = null; } } } else if(this.title.animation._curAnim.finished) { flixel_FlxG.camera.fade(-16777216,1,false,function() { var nextState = new PlayState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }); } flixel_FlxState.prototype.update.call(this,elapsed); } ,__class__: MenuState }); var MovingPlatform = function(x,y,p) { this.curDisintigrating = false; this.disS = 1; this.disintigrating = false; flixel_FlxSprite.call(this,x,y); this.set_path(p); this.path.autoCenter = false; this.path.start(null,50,16); this.set_immovable(true); }; $hxClasses["MovingPlatform"] = MovingPlatform; MovingPlatform.__name__ = "MovingPlatform"; MovingPlatform.__super__ = flixel_FlxSprite; MovingPlatform.prototype = $extend(flixel_FlxSprite.prototype,{ disintigrating: null ,disS: null ,curDisintigrating: null ,__class__: MovingPlatform }); var MusicTrigger = function(x,y,w,h,song,fade) { this.fadeTime = 4; this.daSong = ""; flixel_FlxObject.call(this,x,y); this.daSong = song; this.fadeTime = fade; this.set_width(w); this.set_height(h); }; $hxClasses["MusicTrigger"] = MusicTrigger; MusicTrigger.__name__ = "MusicTrigger"; MusicTrigger.__super__ = flixel_FlxObject; MusicTrigger.prototype = $extend(flixel_FlxObject.prototype,{ daSong: null ,fadeTime: null ,__class__: MusicTrigger }); 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 : 29, className : "NGio", methodName : "new"}); io_newgrounds_NG.createAndCheckSession(api,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 : 38, className : "NGio", methodName : "new"}); if(io_newgrounds_NG.core.attemptingLogin) { haxe_Log.trace("attempting login",{ fileName : "source/NGio.hx", lineNumber : 45, 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.prototype = { onNGLogin: function() { haxe_Log.trace("logged in! user:" + io_newgrounds_NG.core.get_user().name,{ fileName : "source/NGio.hx", lineNumber : 59, 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 : 113, className : "NGio", methodName : "onNGBoardsFetch"}); } ,onNGScoresFetch: function() { NGio.scoreboardsLoaded = true; NGio.ngScoresLoaded.dispatch(); var _g = 0; var _g1 = io_newgrounds_NG.core.scoreBoards.h[8737].scores; while(_g < _g1.length) { var score = _g1[_g]; ++_g; haxe_Log.trace("score loaded user:" + score.user.name + ", score:" + score.formatted_value,{ fileName : "source/NGio.hx", lineNumber : 126, className : "NGio", methodName : "onNGScoresFetch"}); } } ,__class__: NGio }; var Obstacle = function(x,y) { flixel_FlxSprite.call(this,x,y); this.makeGraphic(32,16,-16776961); }; $hxClasses["Obstacle"] = Obstacle; Obstacle.__name__ = "Obstacle"; Obstacle.__super__ = flixel_FlxSprite; Obstacle.prototype = $extend(flixel_FlxSprite.prototype,{ __class__: Obstacle }); var PlayState = function(MaxSize) { this.ending = false; this.addingCheese = false; this.cheeseAdding = 0; this.cheeseHolding = []; this.curTalking = false; this.musicQueue = "pillow"; this.coinCount = 0; this.totalCheese = 0; this.cheeseNeeded = 32; this.level = new flixel_tile_FlxTilemap(); flixel_FlxState.call(this,MaxSize); }; $hxClasses["PlayState"] = PlayState; PlayState.__name__ = "PlayState"; PlayState.__super__ = flixel_FlxState; PlayState.prototype = $extend(flixel_FlxState.prototype,{ level: null ,player: null ,debug: null ,cheeseNeeded: null ,totalCheese: null ,grpCheese: null ,grpMovingPlatforms: null ,grpObstacles: null ,coinCount: null ,curCheckpoint: null ,grpCheckpoint: null ,grpMusicTriggers: null ,grpSecretTriggers: null ,musicQueue: null ,curTalking: null ,cheeseHolding: null ,locked: null ,dialogueBubble: null ,grpDisplayCheese: null ,create: function() { flixel_FlxG.camera.fade(-16777216,2,true); this.musicHandling(); var bg = new flixel_FlxSprite().loadGraphic("assets/images/dumbbg.png"); bg.scrollFactor.set(0.045,0.045); bg.set_alpha(0.75); this.add(bg); var ogmo = zero_flixel_utilities_FlxOgmoUtils.get_ogmo_package("assets/data/levelProject.ogmo","assets/data/dumbassLevel.json"); zero_flixel_utilities_FlxOgmoUtils.load_tilemap(this.level,ogmo,"assets/data/"); this.add(zero_flixel_utilities_FlxOgmoUtils.get_decal_group(zero_utilities_OgmoUtils.get_decal_layer(ogmo.level,"decalbg"),"assets")); this.grpMovingPlatforms = new flixel_group_FlxTypedGroup(); this.add(this.grpMovingPlatforms); this.grpObstacles = new flixel_group_FlxTypedGroup(); this.add(this.grpObstacles); this.grpCheckpoint = new flixel_group_FlxTypedGroup(); this.add(this.grpCheckpoint); this.grpMusicTriggers = new flixel_group_FlxTypedGroup(); this.add(this.grpMusicTriggers); this.grpSecretTriggers = new flixel_group_FlxTypedGroup(); this.add(this.grpSecretTriggers); this.add(this.level); this.add(zero_flixel_utilities_FlxOgmoUtils.get_decal_group(zero_utilities_OgmoUtils.get_decal_layer(ogmo.level,"decals"),"assets")); this.grpCheese = new flixel_group_FlxTypedGroup(); this.add(this.grpCheese); this.dialogueBubble = new flixel_FlxSprite().loadGraphic("assets/images/dialogue.png",true,32,32); this.dialogueBubble.animation.add("play",[0,1,2,3],6); this.dialogueBubble.animation.play("play"); this.add(this.dialogueBubble); this.dialogueBubble.set_visible(false); zero_utilities_OgmoUtils.load_entities(zero_utilities_OgmoUtils.get_entity_layer(ogmo.level,"entities"),$bind(this,this.entity_loader)); flixel_FlxG.camera.follow(this.player,flixel_FlxCameraFollowStyle.LOCKON,0.15); var _this = flixel_FlxG.camera; var point = this.player.getPosition(); _this.scroll.set(point.x - _this.width * 0.5,point.y - _this.height * 0.5); if(point._weak) { point.put(); } var _this1 = flixel_FlxG.worldBounds; var X = 0; var Y = 0; var Width = this.level.get_width(); var Height = this.level.get_height(); 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; this.level.follow(flixel_FlxG.camera); flixel_FlxG.mouse.set_visible(false); var displayCheese = new Cheese(10,10); displayCheese.scrollFactor.set(); this.add(displayCheese); this.grpDisplayCheese = new flixel_group_FlxTypedGroup(); this.add(this.grpDisplayCheese); haxe_Log.trace(this.grpCheese.length,{ fileName : "source/PlayState.hx", lineNumber : 117, className : "PlayState", methodName : "create"}); this.debug = new flixel_text_FlxText(40,12,0,"",16); this.debug.scrollFactor.set(0,0); this.debug.set_color(-16777216); this.debug.setFormat(null,16,-1,null,flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); this.add(this.debug); flixel_FlxState.prototype.create.call(this); } ,entity_loader: function(e) { switch(e.name) { case "checkpoint": this.grpCheckpoint.add(new Checkpoint(e.x,e.y,e.values.dialogue)); break; case "coins": var daCoin = new Cheese(e.x,e.y); this.grpCheese.add(daCoin); this.totalCheese += 1; break; case "locked": this.locked = new flixel_FlxSprite(e.x,e.y).loadGraphic("assets/images/door.png"); this.locked.setGraphicSize(192,64); this.locked.updateHitbox(); this.locked.set_immovable(true); this.add(this.locked); break; case "movingPlatform": var platform = new MovingPlatform(e.x,e.y,this.getPathData(e)); platform.disintigrating = e.values.disintigrate; platform.disS = e.values.disintigrateSeconds; if(e.values.graphic != "none") { platform.loadGraphic("assets/images/" + Std.string(e.values.graphic) + ".png"); } else { platform.makeGraphic(e.width,e.height); platform.updateHitbox(); } platform.path.setProperties(e.values.speed,16); platform.set_visible(e.values.visible); if(e.values.onewayplatform) { platform.set_allowCollisions(256); } var lastStringbit = Std.string(e.values.color).substring(1,7); var firstStringbit = Std.string(e.values.color).substring(7,10); platform.set_color(flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(Std.string("#" + firstStringbit + lastStringbit).toUpperCase())); this.grpMovingPlatforms.add(platform); break; case "musicTrigger": this.grpMusicTriggers.add(new MusicTrigger(e.x,e.y,e.width,e.height,e.values.song,e.values.fadetime)); break; case "player": this.add(this.player = new Player(e.x,e.y)); this.curCheckpoint = new Checkpoint(e.x,e.y,""); break; case "secretTrigger": haxe_Log.trace("ADDED SECRET",{ fileName : "source/PlayState.hx", lineNumber : 185, className : "PlayState", methodName : "entity_loader"}); this.grpSecretTriggers.add(new SecretTrigger(e.x,e.y,e.width,e.height)); break; case "spider": var spider = new Enemy(e.x,e.y,this.getPathData(e),e.values.speed); this.add(spider); haxe_Log.trace("spider added",{ fileName : "source/PlayState.hx", lineNumber : 138, className : "PlayState", methodName : "entity_loader"}); break; case "spike": var spikeAmount = e.width / 32 | 0; var _g = 0; var _g1 = spikeAmount; while(_g < _g1) { var i = _g++; var daSpike = new SpikeObstacle(e.x + i * 32,e.y); daSpike.set_angle(e.values.angle); this.grpObstacles.add(daSpike); } break; } } ,getPathData: function(o) { var daPath = [new flixel_math_FlxPoint(o.x,o.y)]; var _g = 0; var _g1 = o.nodes; while(_g < _g1.length) { var point = _g1[_g]; ++_g; daPath.push(new flixel_math_FlxPoint(point.x,point.y)); } return new flixel_util_FlxPath(daPath); } ,cheeseAdding: null ,addingCheese: null ,ending: null ,update: function(elapsed) { var _gthis = this; this.debug.set_text(this.coinCount + "/" + this.cheeseNeeded); if(this.coinCount >= 55) { if(NGio.isLoggedIn) { var hornyMedal = io_newgrounds_NG.core.medals.h[58884]; if(!hornyMedal.unlocked) { hornyMedal.sendUnlock(); } } } flixel_FlxState.prototype.update.call(this,elapsed); flixel_FlxG.overlap(this.grpMovingPlatforms,this.player,function(platform,p) { if(platform.disintigrating && !platform.curDisintigrating) { platform.curDisintigrating = true; new flixel_util_FlxTimer().start(platform.disS,function(t) { platform.kill(); }); } },flixel_FlxObject.separate); flixel_FlxG.overlap(this.level,this.player,null,flixel_FlxObject.separate); if(this.player.x > this.level.get_width() && !this.ending) { this.ending = true; flixel_FlxG.camera.fade(-16777216,2,false,function() { var nextState = new EndState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }); } if(flixel_FlxG.overlap(this.locked,this.player,null,flixel_FlxObject.separate)) { if(this.coinCount >= this.cheeseNeeded) { this.locked.kill(); flixel_FlxG.sound.play("assets/sounds/allcheesesunlocked" + BootState.soundEXT); flixel_FlxG.sound.music.set_volume(0); } } flixel_FlxG.overlap(this.player,this.grpMusicTriggers,function(p1,mT) { if(_gthis.musicQueue != mT.daSong) { _gthis.musicQueue = mT.daSong; if(flixel_FlxG.sound.music != null) { var _this = flixel_FlxG.sound.music; var Duration = 3; 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 : function(t1) { _gthis.musicHandling(); }},$bind(_this,_this.volumeTween)); } else { _gthis.musicHandling(); } } }); flixel_FlxG.overlap(this.player,this.grpSecretTriggers,function(p2,sT) { if(!sT.hasTriggered) { if(NGio.isLoggedIn) { var hornyMedal1 = io_newgrounds_NG.core.medals.h[58883]; if(!hornyMedal1.unlocked) { hornyMedal1.sendUnlock(); } } sT.hasTriggered = true; var oldVol = flixel_FlxG.sound.music._volume; flixel_FlxG.sound.music.set_volume(0.1); flixel_FlxG.sound.play("assets/sounds/discoverysound" + BootState.soundEXT,1,false,null,true,function() { flixel_FlxG.sound.music.set_volume(oldVol); }); } }); if(flixel_FlxG.overlap(this.grpObstacles,this.player)) { if(!this.player.gettingHurt) { var _g = 0; var _g1 = this.cheeseHolding.length; while(_g < _g1) { var ch = _g++; this.grpCheese.add(this.cheeseHolding[ch]); } this.cheeseHolding = []; this.grpDisplayCheese.members = []; this.player.gettingHurt = true; this.player.animation.play("fucking died lmao"); flixel_FlxG.sound.play("assets/sounds/damageTaken" + BootState.soundEXT,0.6); new flixel_util_FlxTimer().start(0.5,function(tmr) { _gthis.player.setPosition(_gthis.curCheckpoint.x,_gthis.curCheckpoint.y - 16); _gthis.player.velocity.set(); _gthis.player.gettingHurt = false; }); } } var _this1 = this.player; if((_this1.touching & 4096) > 0 && (_this1.wasTouching & 4096) <= 0) { this.add(new Dust(this.player.x,this.player.y)); } this.dialogueBubble.set_visible(false); flixel_FlxG.overlap(this.grpCheckpoint,this.player,function(c,p3) { _gthis.dialogueBubble.set_visible(true); _gthis.dialogueBubble.setPosition(c.x + 20,c.y - 10); if(flixel_FlxG.keys.checkKeyArrayState([69,70,88],2)) { _gthis.persistentUpdate = false; _gthis.openSubState(new DialogueSubstate(c.dialogue)); } var gamepad = flixel_FlxG.gamepads.lastActive; if(gamepad != null) { var _this2 = gamepad.justPressed; var id = 2; var _this3 = _this2.gamepad; var Status = _this2.status; var tmp; switch(id) { case -2: switch(Status) { case -1: tmp = _this3.justReleased.get_ANY(); break; case 0: tmp = _this3.released.get_ANY(); break; case 1: tmp = _this3.pressed.get_ANY(); break; case 2: tmp = _this3.justPressed.get_ANY(); break; } break; case -1: switch(Status) { case -1: tmp = _this3.justReleased.get_NONE(); break; case 0: tmp = _this3.released.get_NONE(); break; case 1: tmp = _this3.pressed.get_NONE(); break; case 2: tmp = _this3.justPressed.get_NONE(); break; } break; default: var rawID = _this3.mapping.getRawID(id); var button = _this3.buttons[rawID]; if(button == null) { tmp = false; } else { var value = button.current; switch(Status) { case -1: tmp = value == -1; break; case 0: tmp = value == 0; break; case 1: tmp = value == 1; break; case 2: tmp = value == 2; break; } } } if(tmp) { _gthis.persistentUpdate = false; _gthis.openSubState(new DialogueSubstate(c.dialogue)); } } if(c != _gthis.curCheckpoint) { _gthis.grpCheckpoint.forEach(function(c1) { c1.isCurCheckpoint = false; }); c.isCurCheckpoint = true; _gthis.curCheckpoint = c; flixel_FlxG.sound.play("assets/sounds/checkpoint" + BootState.soundEXT,0.8); } if(_gthis.cheeseHolding.length > 0) { _gthis.addingCheese = true; } }); if(this.addingCheese) { this.cheeseAdding++; if(this.cheeseAdding >= 10) { this.coinCount += 1; this.cheeseHolding.pop(); this.grpDisplayCheese.members.pop(); this.cheeseAdding = 0; flixel_FlxG.sound.play("assets/sounds/Munchsound" + flixel_FlxG.random.int(1,4) + BootState.soundEXT,flixel_FlxG.random.float(0.7,1)); } if(this.cheeseHolding.length == 0) { this.addingCheese = false; } } flixel_FlxG.overlap(this.player,this.grpCheese,function(p4,daCheese) { if(!p4.gettingHurt) { flixel_FlxG.sound.play("assets/sounds/collectCheese" + BootState.soundEXT,0.6); _gthis.cheeseHolding.push(daCheese); _gthis.grpCheese.remove(daCheese,true); var daCheese1 = new Cheese(0,0); daCheese1.scrollFactor.set(); daCheese1.setGraphicSize(daCheese1.get_width() / 2 | 0); daCheese1.updateHitbox(); daCheese1.setPosition(95 + 10 * ((_gthis.cheeseHolding.length - 1) % 6),10 + 10 * Math.floor((_gthis.cheeseHolding.length - 1) / 6)); _gthis.grpDisplayCheese.add(daCheese1); if(NGio.isLoggedIn) { var hornyMedal2 = io_newgrounds_NG.core.medals.h[58879]; if(!hornyMedal2.unlocked) { hornyMedal2.sendUnlock(); } } } }); } ,musicHandling: function() { flixel_FlxG.sound.playMusic("assets/music/" + this.musicQueue + BootState.soundEXT,0.7); switch(this.musicQueue) { case "pillow": flixel_FlxG.sound.music.loopTime = 4450; break; case "ritz": flixel_FlxG.sound.music.loopTime = 0; break; } } ,__class__: PlayState }); var Player = function(x,y) { this.wallClimbing = false; this.hovering = false; this.ceilingBufferShit = 0; this.coyoteTime = 0; this.jumped = false; this.doubleJumped = false; this.gettingHurt = false; this.jumpBoost = 0; this.canJump = false; this.apexReached = true; this.baseJumpStrength = 120; this.speed = 1400; flixel_FlxSprite.call(this,x,y); this.loadGraphic("assets/images/ritz_spritesheet.png",true,32,32); this.animation.add("idle",[0]); this.animation.add("walk",[1,2,2,0],12); this.animation.add("jumping",[2]); this.animation.add("fucking died lmao",[7,8,9,10,11],12); this.animation.play("idle"); var _g = this; _g.set_height(_g.get_height() - 12); this.offset.set_y(10); var _g1 = this; _g1.set_width(_g1.get_width() - 12); this.offset.set_x(6); this._facingFlip.h[1] = { x : false, y : false}; this._facingFlip.h[16] = { x : true, y : false}; this.drag.set_x(700); this.maxVelocity.set_x(230); this.maxVelocity.set_y(520); }; $hxClasses["Player"] = Player; Player.__name__ = "Player"; Player.__super__ = flixel_FlxSprite; Player.prototype = $extend(flixel_FlxSprite.prototype,{ speed: null ,baseJumpStrength: null ,apexReached: null ,canJump: null ,jumpBoost: null ,gettingHurt: null ,doubleJumped: null ,jumped: null ,coyoteTime: null ,ceilingBufferShit: null ,hovering: null ,wallClimbing: null ,left: null ,right: null ,jump: null ,jumpP: null ,down: null ,update: function(e) { if(!this.wallClimbing) { this.acceleration.set_y(2500); this.drag.set_y(2000); } else if(this.velocity.y > 0) { this.drag.set_y(1000); } else { this.drag.set_y(1200); } if(this.gettingHurt) { this.velocity.set(); this.acceleration.set(); } else { this.movement(); } flixel_FlxSprite.prototype.update.call(this,e); } ,movement: function() { var _this = flixel_FlxG.keys; var KeyArray; var s = "LEFT"; s = s.toUpperCase(); var _this1 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s] != null ? _this1.existsReserved(s) : _this1.h.hasOwnProperty(s)) { var _this2 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray = __map_reserved[s] != null ? _this2.getReserved(s) : _this2.h[s]; } else { KeyArray = -1; } var s1 = "A"; s1 = s1.toUpperCase(); var KeyArray1; var _this3 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s1] != null ? _this3.existsReserved(s1) : _this3.h.hasOwnProperty(s1)) { var _this4 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray1 = __map_reserved[s1] != null ? _this4.getReserved(s1) : _this4.h[s1]; } else { KeyArray1 = -1; } this.left = _this.checkKeyArrayState([KeyArray,KeyArray1],1); var _this5 = flixel_FlxG.keys; var KeyArray2; var s2 = "RIGHT"; s2 = s2.toUpperCase(); var _this6 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s2] != null ? _this6.existsReserved(s2) : _this6.h.hasOwnProperty(s2)) { var _this7 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray2 = __map_reserved[s2] != null ? _this7.getReserved(s2) : _this7.h[s2]; } else { KeyArray2 = -1; } var s3 = "D"; s3 = s3.toUpperCase(); var KeyArray3; var _this8 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s3] != null ? _this8.existsReserved(s3) : _this8.h.hasOwnProperty(s3)) { var _this9 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray3 = __map_reserved[s3] != null ? _this9.getReserved(s3) : _this9.h[s3]; } else { KeyArray3 = -1; } this.right = _this5.checkKeyArrayState([KeyArray2,KeyArray3],1); var _this10 = flixel_FlxG.keys; var KeyArray4; var s4 = "SPACE"; s4 = s4.toUpperCase(); var _this11 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s4] != null ? _this11.existsReserved(s4) : _this11.h.hasOwnProperty(s4)) { var _this12 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray4 = __map_reserved[s4] != null ? _this12.getReserved(s4) : _this12.h[s4]; } else { KeyArray4 = -1; } var KeyArray5; var s5 = "W"; s5 = s5.toUpperCase(); var _this13 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s5] != null ? _this13.existsReserved(s5) : _this13.h.hasOwnProperty(s5)) { var _this14 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray5 = __map_reserved[s5] != null ? _this14.getReserved(s5) : _this14.h[s5]; } else { KeyArray5 = -1; } var KeyArray6; var s6 = "UP"; s6 = s6.toUpperCase(); var _this15 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s6] != null ? _this15.existsReserved(s6) : _this15.h.hasOwnProperty(s6)) { var _this16 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray6 = __map_reserved[s6] != null ? _this16.getReserved(s6) : _this16.h[s6]; } else { KeyArray6 = -1; } var KeyArray7; var s7 = "Z"; s7 = s7.toUpperCase(); var _this17 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s7] != null ? _this17.existsReserved(s7) : _this17.h.hasOwnProperty(s7)) { var _this18 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray7 = __map_reserved[s7] != null ? _this18.getReserved(s7) : _this18.h[s7]; } else { KeyArray7 = -1; } var s8 = "Y"; s8 = s8.toUpperCase(); var KeyArray8; var _this19 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s8] != null ? _this19.existsReserved(s8) : _this19.h.hasOwnProperty(s8)) { var _this20 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray8 = __map_reserved[s8] != null ? _this20.getReserved(s8) : _this20.h[s8]; } else { KeyArray8 = -1; } this.jump = _this10.checkKeyArrayState([KeyArray4,KeyArray5,KeyArray6,KeyArray7,KeyArray8],1); var _this21 = flixel_FlxG.keys; var KeyArray9; var s9 = "SPACE"; s9 = s9.toUpperCase(); var _this22 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s9] != null ? _this22.existsReserved(s9) : _this22.h.hasOwnProperty(s9)) { var _this23 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray9 = __map_reserved[s9] != null ? _this23.getReserved(s9) : _this23.h[s9]; } else { KeyArray9 = -1; } var KeyArray10; var s10 = "W"; s10 = s10.toUpperCase(); var _this24 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s10] != null ? _this24.existsReserved(s10) : _this24.h.hasOwnProperty(s10)) { var _this25 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray10 = __map_reserved[s10] != null ? _this25.getReserved(s10) : _this25.h[s10]; } else { KeyArray10 = -1; } var KeyArray11; var s11 = "UP"; s11 = s11.toUpperCase(); var _this26 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s11] != null ? _this26.existsReserved(s11) : _this26.h.hasOwnProperty(s11)) { var _this27 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray11 = __map_reserved[s11] != null ? _this27.getReserved(s11) : _this27.h[s11]; } else { KeyArray11 = -1; } var KeyArray12; var s12 = "Z"; s12 = s12.toUpperCase(); var _this28 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s12] != null ? _this28.existsReserved(s12) : _this28.h.hasOwnProperty(s12)) { var _this29 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray12 = __map_reserved[s12] != null ? _this29.getReserved(s12) : _this29.h[s12]; } else { KeyArray12 = -1; } var s13 = "Y"; s13 = s13.toUpperCase(); var KeyArray13; var _this30 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s13] != null ? _this30.existsReserved(s13) : _this30.h.hasOwnProperty(s13)) { var _this31 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray13 = __map_reserved[s13] != null ? _this31.getReserved(s13) : _this31.h[s13]; } else { KeyArray13 = -1; } this.jumpP = _this21.checkKeyArrayState([KeyArray9,KeyArray10,KeyArray11,KeyArray12,KeyArray13],2); var _this32 = flixel_FlxG.keys; var KeyArray14; var s14 = "S"; s14 = s14.toUpperCase(); var _this33 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s14] != null ? _this33.existsReserved(s14) : _this33.h.hasOwnProperty(s14)) { var _this34 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray14 = __map_reserved[s14] != null ? _this34.getReserved(s14) : _this34.h[s14]; } else { KeyArray14 = -1; } var s15 = "DOWN"; s15 = s15.toUpperCase(); var KeyArray15; var _this35 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s15] != null ? _this35.existsReserved(s15) : _this35.h.hasOwnProperty(s15)) { var _this36 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; KeyArray15 = __map_reserved[s15] != null ? _this36.getReserved(s15) : _this36.h[s15]; } else { KeyArray15 = -1; } this.down = _this32.checkKeyArrayState([KeyArray14,KeyArray15],1); var _upR = false; var _downR = false; var _leftR = false; var _rightR = false; _upR = flixel_FlxG.keys.checkKeyArrayState([38,87,32,90,89],-1); _downR = flixel_FlxG.keys.checkKeyArrayState([40,83],-1); _leftR = flixel_FlxG.keys.checkKeyArrayState([37,65],-1); _rightR = flixel_FlxG.keys.checkKeyArrayState([39,68],-1); var _downP = false; var _leftP = false; var _rightP = false; _downP = flixel_FlxG.keys.checkKeyArrayState([40,83],2); _leftP = flixel_FlxG.keys.checkKeyArrayState([37,65],2); _rightP = flixel_FlxG.keys.checkKeyArrayState([39,68],2); var gamepad = flixel_FlxG.gamepads.lastActive; if(gamepad != null) { var tmp; var s16 = "LEFT"; s16 = s16.toUpperCase(); var _this37 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s16] != null ? _this37.existsReserved(s16) : _this37.h.hasOwnProperty(s16)) { var _this38 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp = __map_reserved[s16] != null ? _this38.getReserved(s16) : _this38.h[s16]; } else { tmp = -1; } var tmp1; var s17 = "DPAD_LEFT"; s17 = s17.toUpperCase(); var _this39 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s17] != null ? _this39.existsReserved(s17) : _this39.h.hasOwnProperty(s17)) { var _this40 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp1 = __map_reserved[s17] != null ? _this40.getReserved(s17) : _this40.h[s17]; } else { tmp1 = -1; } var s18 = "LEFT_STICK_DIGITAL_LEFT"; s18 = s18.toUpperCase(); var tmp2; var _this41 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s18] != null ? _this41.existsReserved(s18) : _this41.h.hasOwnProperty(s18)) { var _this42 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp2 = __map_reserved[s18] != null ? _this42.getReserved(s18) : _this42.h[s18]; } else { tmp2 = -1; } if(gamepad.anyPressed([tmp,tmp1,tmp2])) { this.left = true; } var tmp3; var s19 = "RIGHT"; s19 = s19.toUpperCase(); var _this43 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s19] != null ? _this43.existsReserved(s19) : _this43.h.hasOwnProperty(s19)) { var _this44 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp3 = __map_reserved[s19] != null ? _this44.getReserved(s19) : _this44.h[s19]; } else { tmp3 = -1; } var tmp4; var s20 = "DPAD_RIGHT"; s20 = s20.toUpperCase(); var _this45 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s20] != null ? _this45.existsReserved(s20) : _this45.h.hasOwnProperty(s20)) { var _this46 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp4 = __map_reserved[s20] != null ? _this46.getReserved(s20) : _this46.h[s20]; } else { tmp4 = -1; } var s21 = "LEFT_STICK_DIGITAL_RIGHT"; s21 = s21.toUpperCase(); var tmp5; var _this47 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s21] != null ? _this47.existsReserved(s21) : _this47.h.hasOwnProperty(s21)) { var _this48 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp5 = __map_reserved[s21] != null ? _this48.getReserved(s21) : _this48.h[s21]; } else { tmp5 = -1; } if(gamepad.anyPressed([tmp3,tmp4,tmp5])) { this.right = true; } if(gamepad.anyPressed([0])) { this.jump = true; } var tmp6; var s22 = "DOWN"; s22 = s22.toUpperCase(); var _this49 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s22] != null ? _this49.existsReserved(s22) : _this49.h.hasOwnProperty(s22)) { var _this50 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp6 = __map_reserved[s22] != null ? _this50.getReserved(s22) : _this50.h[s22]; } else { tmp6 = -1; } var tmp7; var s23 = "DPAD_DOWN"; s23 = s23.toUpperCase(); var _this51 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s23] != null ? _this51.existsReserved(s23) : _this51.h.hasOwnProperty(s23)) { var _this52 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp7 = __map_reserved[s23] != null ? _this52.getReserved(s23) : _this52.h[s23]; } else { tmp7 = -1; } var s24 = "LEFT_STICK_DIGITAL_DOWN"; s24 = s24.toUpperCase(); var tmp8; var _this53 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s24] != null ? _this53.existsReserved(s24) : _this53.h.hasOwnProperty(s24)) { var _this54 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp8 = __map_reserved[s24] != null ? _this54.getReserved(s24) : _this54.h[s24]; } else { tmp8 = -1; } if(gamepad.anyPressed([tmp6,tmp7,tmp8])) { this.down = true; } var tmp9; var s25 = "LEFT"; s25 = s25.toUpperCase(); var _this55 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s25] != null ? _this55.existsReserved(s25) : _this55.h.hasOwnProperty(s25)) { var _this56 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp9 = __map_reserved[s25] != null ? _this56.getReserved(s25) : _this56.h[s25]; } else { tmp9 = -1; } var tmp10; var s26 = "DPAD_LEFT"; s26 = s26.toUpperCase(); var _this57 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s26] != null ? _this57.existsReserved(s26) : _this57.h.hasOwnProperty(s26)) { var _this58 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp10 = __map_reserved[s26] != null ? _this58.getReserved(s26) : _this58.h[s26]; } else { tmp10 = -1; } var s27 = "LEFT_STICK_DIGITAL_LEFT"; s27 = s27.toUpperCase(); var tmp11; var _this59 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s27] != null ? _this59.existsReserved(s27) : _this59.h.hasOwnProperty(s27)) { var _this60 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp11 = __map_reserved[s27] != null ? _this60.getReserved(s27) : _this60.h[s27]; } else { tmp11 = -1; } if(gamepad.anyJustPressed([tmp9,tmp10,tmp11])) { _leftP = true; } var tmp12; var s28 = "RIGHT"; s28 = s28.toUpperCase(); var _this61 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s28] != null ? _this61.existsReserved(s28) : _this61.h.hasOwnProperty(s28)) { var _this62 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp12 = __map_reserved[s28] != null ? _this62.getReserved(s28) : _this62.h[s28]; } else { tmp12 = -1; } var tmp13; var s29 = "DPAD_RIGHT"; s29 = s29.toUpperCase(); var _this63 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s29] != null ? _this63.existsReserved(s29) : _this63.h.hasOwnProperty(s29)) { var _this64 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp13 = __map_reserved[s29] != null ? _this64.getReserved(s29) : _this64.h[s29]; } else { tmp13 = -1; } var s30 = "LEFT_STICK_DIGITAL_RIGHT"; s30 = s30.toUpperCase(); var tmp14; var _this65 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s30] != null ? _this65.existsReserved(s30) : _this65.h.hasOwnProperty(s30)) { var _this66 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp14 = __map_reserved[s30] != null ? _this66.getReserved(s30) : _this66.h[s30]; } else { tmp14 = -1; } if(gamepad.anyJustPressed([tmp12,tmp13,tmp14])) { _rightP = true; } if(gamepad.anyJustPressed([0])) { this.jumpP = true; } var tmp15; var s31 = "DOWN"; s31 = s31.toUpperCase(); var _this67 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s31] != null ? _this67.existsReserved(s31) : _this67.h.hasOwnProperty(s31)) { var _this68 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp15 = __map_reserved[s31] != null ? _this68.getReserved(s31) : _this68.h[s31]; } else { tmp15 = -1; } var tmp16; var s32 = "DPAD_DOWN"; s32 = s32.toUpperCase(); var _this69 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s32] != null ? _this69.existsReserved(s32) : _this69.h.hasOwnProperty(s32)) { var _this70 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp16 = __map_reserved[s32] != null ? _this70.getReserved(s32) : _this70.h[s32]; } else { tmp16 = -1; } var s33 = "LEFT_STICK_DIGITAL_DOWN"; s33 = s33.toUpperCase(); var tmp17; var _this71 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s33] != null ? _this71.existsReserved(s33) : _this71.h.hasOwnProperty(s33)) { var _this72 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; tmp17 = __map_reserved[s33] != null ? _this72.getReserved(s33) : _this72.h[s33]; } else { tmp17 = -1; } if(gamepad.anyJustPressed([tmp15,tmp16,tmp17])) { _downP = true; } } if(this.left && this.right) { this.left = this.right = false; } if(this.left || this.right) { if(this.velocity.x != 0) { this.animation.play("walk"); } var hoverMulti = 1; if((this.touching & 4096) <= 0 && this.doubleJumped && this.velocity.y > 0) { hoverMulti = 0.3; } if(this.hovering) { hoverMulti = 0.6; } if(this.left) { this.set_facing(1); this.acceleration.set_x(-this.speed * hoverMulti); } if(this.right) { this.set_facing(16); this.acceleration.set_x(this.speed * hoverMulti); } } else { this.acceleration.set_x(0); this.animation.play("idle"); } if((this.touching & 4096) > 0) { this.doubleJumped = false; this.jumped = false; this.hovering = false; this.apexReached = false; this.canJump = true; this.jumpBoost = 0; this.coyoteTime = 0; this.ceilingBufferShit = 0; if(this.jumpP) { var _g = this.velocity; _g.set_y(_g.y - this.baseJumpStrength * 2); this.jumped = true; flixel_FlxG.sound.play("assets/sounds/jump" + BootState.soundEXT,0.5); this.coyoteTime = 20; } } else { this.coyoteTime++; if(this.jumpP && this.coyoteTime <= 8) { var _g1 = this.velocity; _g1.set_y(_g1.y - this.baseJumpStrength * 2); this.jumped = true; flixel_FlxG.sound.play("assets/sounds/jump" + BootState.soundEXT,0.5); } this.animation.play("jumping"); if((this.touching & 256) > 0) { this.apexReached = true; } if(this.jump && !this.apexReached && this.canJump) { this.jumpBoost++; var n = 10.7 * this.jumpBoost * flixel_FlxG.elapsed + 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 C = 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(C < 0) { this.apexReached = true; } else { var _g2 = this.velocity; _g2.set_y(_g2.y - C * (this.baseJumpStrength * 1.6) * 2); } } if(_upR) { this.apexReached = true; } if(this.jumpP && !this.doubleJumped && !this.wallClimbing && this.coyoteTime > 8) { this.velocity.set_y(0); var tmp18 = this.velocity.x > 0 && this.left || this.velocity.x < 0 && this.right; var _g3 = this.velocity; _g3.set_y(_g3.y - 600); this.doubleJumped = true; flixel_FlxG.sound.play("assets/sounds/doubleJump" + BootState.soundEXT,0.75); } } if(this.wallClimbing) { this.doubleJumped = false; this.hovering = false; } if(this.hovering) { this.velocity.set_y(100); this.drag.set_x(150); } else { this.drag.set_x(1700); } } ,wallJumping: function() { if((this.touching & 17) > 0) { if(this.jump && this.down) { this.jump = this.down = false; } if(this.jump || this.down) { if(this.jump) { this.acceleration.set_y(-this.speed * 0.8); } if(this.down) { this.acceleration.set_y(900); } } else { this.acceleration.set_y(0); } this.wallClimbing = true; } else { this.wallClimbing = false; } } ,__class__: Player }); 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 SecretTrigger = function(x,y,w,h) { this.hasTriggered = false; flixel_FlxObject.call(this,x,y); this.set_width(w); this.set_height(h); haxe_Log.trace("YEP I BEEN ADDED LMAO",{ fileName : "source/SecretTrigger.hx", lineNumber : 14, className : "SecretTrigger", methodName : "new"}); }; $hxClasses["SecretTrigger"] = SecretTrigger; SecretTrigger.__name__ = "SecretTrigger"; SecretTrigger.__super__ = flixel_FlxObject; SecretTrigger.prototype = $extend(flixel_FlxObject.prototype,{ hasTriggered: null ,__class__: SecretTrigger }); var SpikeObstacle = function(x,y) { Obstacle.call(this,x,y); this.loadGraphic("assets/images/spike.png",true,32,32); this.animation.add("idle",[0,1,2,3],10); this.animation.play("idle",false,false,flixel_math_FlxMath.wrap(x / 64 | 0,0,3)); this.offset.set_y(3); var _g = this; _g.set_height(_g.get_height() - 4); this.offset.set_x(10); var _g1 = this; _g1.set_width(_g1.get_width() - (this.offset.x * 2 + 1)); var _g2 = this; _g2.set_y(_g2.y + 2); var _g3 = this; _g3.set_x(_g3.x + 13); }; $hxClasses["SpikeObstacle"] = SpikeObstacle; SpikeObstacle.__name__ = "SpikeObstacle"; SpikeObstacle.__super__ = Obstacle; SpikeObstacle.prototype = $extend(Obstacle.prototype,{ __class__: SpikeObstacle }); 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 _$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.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 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 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 _g = 0; var _g1 = this._formatRanges; while(_g < _g1.length) { var formatRange = _g1[_g]; ++_g; if(formatRange.format != Format) { continue; } if(Start != null && End != null && (Start > formatRange.range.end || End < formatRange.range.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 TypeTextTwo = function(X,Y,Width,Text1,Size,EmbeddedFont) { if(EmbeddedFont == null) { EmbeddedFont = true; } if(Size == null) { Size = 8; } this.format6 = new flixel_text_FlxTextFormat(33023,false,false,16777215); this.format5 = new flixel_text_FlxTextFormat(59110,false,false,null); this.format4 = new flixel_text_FlxTextFormat(32960,false,false,null); this.format3 = new flixel_text_FlxTextFormat(-65281,false,false,null); this.format2 = new flixel_text_FlxTextFormat(16556344,false,false,16744448); this.format1 = new flixel_text_FlxTextFormat(15132160,false,false,16744448); this.isFinished = false; this._intendedText = ""; this.commaPauseVariance = 0.3; this.commaPause = 0.1; this.periodPauseVariance = 0.3; this.periodPause = 0.175; flixel_addons_text_FlxTypeText.call(this,X,Y,Width,Text1,Size,EmbeddedFont); this.markUpShit = [new flixel_text_FlxTextFormatMarkerPair(this.format1,""),new flixel_text_FlxTextFormatMarkerPair(this.format2,""),new flixel_text_FlxTextFormatMarkerPair(this.format3,"")]; }; $hxClasses["TypeTextTwo"] = TypeTextTwo; TypeTextTwo.__name__ = "TypeTextTwo"; TypeTextTwo.__super__ = flixel_addons_text_FlxTypeText; TypeTextTwo.prototype = $extend(flixel_addons_text_FlxTypeText.prototype,{ periodPause: null ,periodPauseVariance: null ,commaPause: null ,commaPauseVariance: null ,_intendedText: null ,isFinished: null ,format1: null ,format2: null ,format3: null ,format4: null ,format5: null ,format6: null ,markUpShit: null ,insertBreakLines: function() { flixel_addons_text_FlxTypeText.prototype.insertBreakLines.call(this); this._intendedText = this._finalText; } ,update: function(elapsed) { var _gthis = this; flixel_addons_text_FlxTypeText.prototype.update.call(this,elapsed); if(this.text == this._intendedText) { this.isFinished = true; } else { this.isFinished = false; } if(!this.paused) { switch(this._finalText.charAt(this._length - 1)) { case ",": this.paused = true; new flixel_util_FlxTimer().start(this.commaPause * flixel_FlxG.random.float(1 - this.commaPauseVariance,1 + this.commaPauseVariance),function(tmr) { _gthis.paused = false; }); break; case ".": this.paused = true; new flixel_util_FlxTimer().start(this.periodPause * flixel_FlxG.random.float(1 - this.periodPauseVariance,1 + this.periodPauseVariance),function(tmr1) { _gthis.paused = false; }); break; } } } ,skip: function() { flixel_addons_text_FlxTypeText.prototype.skip.call(this); } ,__class__: TypeTextTwo }); 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 _$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; } ,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 openfl__$internal_renderer_DisplayObjectType = $hxEnums["openfl._internal.renderer.DisplayObjectType"] = { __ename__ : "openfl._internal.renderer.DisplayObjectType", __constructs__ : ["BITMAP","DISPLAY_OBJECT","DISPLAY_OBJECT_CONTAINER","DOM_ELEMENT","MOVIE_CLIP","SHAPE","SIMPLE_BUTTON","TEXTFIELD","TILEMAP","VIDEO","CUSTOM"] ,BITMAP: {_hx_index:0,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,DISPLAY_OBJECT: {_hx_index:1,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,DISPLAY_OBJECT_CONTAINER: {_hx_index:2,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,DOM_ELEMENT: {_hx_index:3,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,MOVIE_CLIP: {_hx_index:4,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,SHAPE: {_hx_index:5,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,SIMPLE_BUTTON: {_hx_index:6,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,TEXTFIELD: {_hx_index:7,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,TILEMAP: {_hx_index:8,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,VIDEO: {_hx_index:9,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} ,CUSTOM: {_hx_index:10,__enum__:"openfl._internal.renderer.DisplayObjectType",toString:$estr} }; 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.defaultZoom = null; flixel_FlxCamera.defaultCameras = null; flixel_FlxCamera._storageTilesHead = null; flixel_FlxCamera._storageTrianglesHead = null; 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.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 { 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; if((__map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]).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.list = []; flixel_FlxCamera.defaultCameras = this.list; }; $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 ,cameraAdded: null ,cameraRemoved: null ,cameraResized: null ,useBufferLocking: null ,_cameraRect: null ,add: function(NewCamera) { flixel_FlxG.game.addChildAt(NewCamera.flashSprite,flixel_FlxG.game.getChildIndex(flixel_FlxG.game._inputContainer)); flixel_FlxG.cameras.list.push(NewCamera); NewCamera.ID = flixel_FlxG.cameras.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); } 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); } ,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.list; } ,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_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 ""; 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; } ,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.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 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_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 ,numFrames: 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 ,frames: 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 ,imageFrame: null ,atlasFrames: 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 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 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 ,graphic: 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 ,x: null ,y: null ,isEmpty: 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 size = []; 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 = 0; var tempString = lines[curIndex++]; var size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size); var imageX = size1[0]; var imageY = size1[1]; tempString = lines[curIndex++]; size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size1); var imageWidth = size1[0]; var imageHeight = size1[1]; var rect = null; if(rotated) { var X = imageX; var Y = imageY; var Width = imageHeight; var Height = imageWidth; 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 rect1 = _this; rect1._inPool = false; rect = rect1; angle = 90; } else { var X2 = imageX; var Y2 = imageY; var Width2 = imageWidth; var Height2 = imageHeight; 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 rect2 = _this1; rect2._inPool = false; rect = rect2; } tempString = lines[curIndex++]; size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size1); var X4 = size1[0]; var Y4 = size1[1]; if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X4,Y4); point._inPool = false; var sourceSize = point; tempString = lines[curIndex++]; size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size1); var X5 = size1[0]; var Y5 = sourceSize.y - size1[1] - imageHeight; if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X5,Y5); point1._inPool = false; var offset = point1; frames.addAtlasFrame(rect,sourceSize,offset,name,angle); } return frames; }; flixel_graphics_frames_FlxAtlasFrames.getDimensions = function(line,size) { var colonPosition = line.indexOf(":"); var comaPosition = line.indexOf(","); size[0] = Std.parseInt(line.substring(colonPosition + 1,comaPosition)); size[1] = Std.parseInt(line.substring(comaPosition + 1,line.length)); return size; }; 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,{ frame: null ,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); this.frame = 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 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 ,__alphaTexture: null ,__alphaTextureMatrix: 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,35713) == 0) { var message = type == 35633 ? "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 : 332, className : "openfl.display.Shader", methodName : "__createGLShader"}); } return shader; } ,__createGLProgram: function(vertexSource,fragmentSource) { var gl = this.__context.gl; var vertexShader = this.__createGLShader(vertexSource,35633); var fragmentShader = this.__createGLShader(fragmentSource,35632); 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,35714) == 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 : 365, 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\r\n\t\t\t\t" + (this.precisionHint == 1 ? "#ifdef GL_FRAGMENT_PRECISION_HIGH\r\n\t\t\t\tprecision highp float;\r\n\t\t\t\t#else\r\n\t\t\t\tprecision mediump float;\r\n\t\t\t\t#endif" : "precision lowp float;") + "\r\n\t\t\t\t#endif\r\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_AlphaTexture": this.__alphaTexture = 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_AlphaTextureMatrix": this.__alphaTextureMatrix = 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,34962,shaderBuffer.paramData,35048); } 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;\r\n\t\tvarying vec4 openfl_ColorMultiplierv;\r\n\t\tvarying vec4 openfl_ColorOffsetv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform bool openfl_HasColorTransform;\r\n\t\tuniform vec2 openfl_TextureSize;\r\n\t\tuniform sampler2D bitmap;\r\n\r\n\t\tvoid main(void) {\r\n\r\n\t\t\tvec4 color = texture2D (bitmap, openfl_TextureCoordv);\r\n\r\n\t\tif (color.a == 0.0) {\r\n\r\n\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n\t\t} else if (openfl_HasColorTransform) {\r\n\r\n\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\r\n\r\n\t\t\tmat4 colorMultiplier = mat4 (0);\r\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\r\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\r\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\r\n\t\t\tcolorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\r\n\r\n\t\t\tcolor = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\r\n\r\n\t\t\tif (color.a > 0.0) {\r\n\r\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\r\n\t\t\tgl_FragColor = color * openfl_Alphav;\r\n\r\n\t\t}\r\n\r\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute float openfl_Alpha;\r\n\t\tattribute vec4 openfl_ColorMultiplier;\r\n\t\tattribute vec4 openfl_ColorOffset;\r\n\t\tattribute vec4 openfl_Position;\r\n\t\tattribute vec2 openfl_TextureCoord;\r\n\r\n\t\tvarying float openfl_Alphav;\r\n\t\tvarying vec4 openfl_ColorMultiplierv;\r\n\t\tvarying vec4 openfl_ColorOffsetv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform mat4 openfl_Matrix;\r\n\t\tuniform bool openfl_HasColorTransform;\r\n\t\tuniform vec2 openfl_TextureSize;\r\n\r\n\t\tvoid main(void) {\r\n\r\n\t\t\topenfl_Alphav = openfl_Alpha;\r\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\r\n\r\n\t\tif (openfl_HasColorTransform) {\r\n\r\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\r\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\r\n\r\n\t\t}\r\n\r\n\t\tgl_Position = openfl_Matrix * openfl_Position;\r\n\r\n\t\t}"; } openfl_display_Shader.call(this,code); this.__isGenerated = true; this.__init(); }; $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 = "\r\n\t\tvarying float openfl_Alphav;\r\n\t\tvarying vec4 openfl_ColorMultiplierv;\r\n\t\tvarying vec4 openfl_ColorOffsetv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform bool openfl_HasColorTransform;\r\n\t\tuniform vec2 openfl_TextureSize;\r\n\t\tuniform sampler2D bitmap;\n\r\n\t\tuniform bool hasTransform;\r\n\t\tuniform bool hasColorTransform;\r\n\r\n\t\tvec4 flixel_texture2D(sampler2D bitmap, vec2 coord)\r\n\t\t{\r\n\t\t\tvec4 color = texture2D(bitmap, coord);\r\n\t\t\tif (!hasTransform)\r\n\t\t\t{\r\n\t\t\t\treturn color;\r\n\t\t\t}\r\n\r\n\t\t\tif (color.a == 0.0)\r\n\t\t\t{\r\n\t\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\r\n\t\t\t}\r\n\r\n\t\t\tif (!hasColorTransform)\r\n\t\t\t{\r\n\t\t\t\treturn color * openfl_Alphav;\r\n\t\t\t}\r\n\r\n\t\t\tcolor = vec4(color.rgb / color.a, color.a);\r\n\r\n\t\t\tmat4 colorMultiplier = mat4(0);\r\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\r\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\r\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\r\n\t\t\tcolorMultiplier[3][3] = openfl_ColorMultiplierv.w;\r\n\r\n\t\t\tcolor = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\r\n\r\n\t\t\tif (color.a > 0.0)\r\n\t\t\t{\r\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\t\t\t}\r\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\r\n\t\t}\r\n\t\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "\r\n\t\tattribute float openfl_Alpha;\r\n\t\tattribute vec4 openfl_ColorMultiplier;\r\n\t\tattribute vec4 openfl_ColorOffset;\r\n\t\tattribute vec4 openfl_Position;\r\n\t\tattribute vec2 openfl_TextureCoord;\r\n\r\n\t\tvarying float openfl_Alphav;\r\n\t\tvarying vec4 openfl_ColorMultiplierv;\r\n\t\tvarying vec4 openfl_ColorOffsetv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform mat4 openfl_Matrix;\r\n\t\tuniform bool openfl_HasColorTransform;\r\n\t\tuniform vec2 openfl_TextureSize;\n\r\n\t\t\r\n\t\tattribute float alpha;\r\n\t\tattribute vec4 colorMultiplier;\r\n\t\tattribute vec4 colorOffset;\r\n\t\tuniform bool hasColorTransform;\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\topenfl_Alphav = openfl_Alpha;\r\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\r\n\r\n\t\tif (openfl_HasColorTransform) {\r\n\r\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\r\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\r\n\r\n\t\t}\r\n\r\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\r\n\t\t\t\r\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\r\n\t\t\t\r\n\t\t\tif (hasColorTransform)\r\n\t\t\t{\r\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\r\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\r\n\t\t\t}\r\n\t\t}"; } openfl_display_GraphicsShader.call(this); this.__isGenerated = true; this.__init(); }; $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 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_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_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_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); } } } ,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_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); } } } ,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) { if(Force == null) { Force = false; } return this.group.recycle(ObjectClass,ObjectFactory,Force); } ,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 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; } ,__class__: flixel_input_FlxBaseKeyList ,__properties__: {get_ANY:"get_ANY"} }; 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_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_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_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.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 ,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) { var key = this._keyListMap.h[KeyCode]; if(key != null) { if(key.hasState(Status)) { return true; } } return false; } ,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; var key = this._keyListMap.h[code]; if(key != null) { if(key.hasState(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_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_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_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: 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 rawID = this.mapping.getRawID(ID); var button = this.buttons[rawID]; if(button == null) { return false; } var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } ,checkStatusRaw: function(RawID,Status) { if(this.buttons[RawID] != null) { return this.buttons[RawID].current == Status; } return false; } ,anyPressed: function(IDArray) { var _g = 0; while(_g < IDArray.length) { var id = IDArray[_g]; ++_g; var raw = this.mapping.getRawID(id); if(this.buttons[raw] != null) { var _this = this.buttons[raw]; if(_this.current == 1 || _this.current == 2) { return true; } } } return false; } ,anyPressedRaw: function(RawIDArray) { var _g = 0; while(_g < RawIDArray.length) { var b = RawIDArray[_g]; ++_g; if(this.buttons[b] != null) { var _this = this.buttons[b]; if(_this.current == 1 || _this.current == 2) { return true; } } } return false; } ,anyJustPressed: function(IDArray) { var _g = 0; while(_g < IDArray.length) { var b = IDArray[_g]; ++_g; var raw = this.mapping.getRawID(b); if(this.buttons[raw] != null) { if(this.buttons[raw].current == 2) { return true; } } } return false; } ,anyJustPressedRaw: function(RawIDArray) { var _g = 0; while(_g < RawIDArray.length) { var b = RawIDArray[_g]; ++_g; if(this.buttons[b] != null) { if(this.buttons[b].current == 2) { return true; } } } return false; } ,anyJustReleased: function(IDArray) { var _g = 0; while(_g < IDArray.length) { var b = IDArray[_g]; ++_g; var raw = this.mapping.getRawID(b); if(this.buttons[raw] != null) { if(this.buttons[raw].current == -1) { return true; } } } return false; } ,anyJustReleasedRaw: function(RawIDArray) { var _g = 0; while(_g < RawIDArray.length) { var b = RawIDArray[_g]; ++_g; if(this.buttons[b] != null) { if(this.buttons[b].current == -1) { return true; } } } return false; } ,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); 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; } ,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","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} ,UNKNOWN: {_hx_index:8,__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 ,numActiveGamepads: 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: switch(state) { case -1: tmp = gamepad.justReleased.get_ANY(); break; case 0: tmp = gamepad.released.get_ANY(); break; case 1: tmp = gamepad.pressed.get_ANY(); break; case 2: tmp = gamepad.justPressed.get_ANY(); break; } break; case -1: switch(state) { case -1: tmp = gamepad.justReleased.get_NONE(); break; case 0: tmp = gamepad.released.get_NONE(); break; case 1: tmp = gamepad.pressed.get_NONE(); break; case 2: tmp = gamepad.justPressed.get_NONE(); break; } break; default: var rawID = gamepad.mapping.getRawID(buttonID); var button = gamepad.buttons[rawID]; if(button == null) { tmp = false; } else { var value = button.current; switch(state) { case -1: tmp = value == -1; break; case 0: tmp = value == 0; break; case 1: tmp = value == 1; break; case 2: tmp = value == 2; break; } } } } 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(Device) { if(Device == null) { return -1; } var _g = 0; var _g1 = openfl_ui_GameInput.numDevices; while(_g < _g1) { var i = _g++; if(openfl_ui_GameInput.getDeviceAt(i) == Device) { return i; } } return -1; } ,addGamepad: function(Device) { if(Device == null) { return; } Device.enabled = true; var id = this.findGamepadIndex(Device); if(id < 0) { return; } var gamepad = this.createByID(id,this.getModelFromDeviceName(Device.name)); gamepad._device = Device; 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) { return flixel_input_gamepad_FlxGamepadModel.XINPUT; } else if(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("mfi") != -1) { return flixel_input_gamepad_FlxGamepadModel.MFI; } else { return flixel_input_gamepad_FlxGamepadModel.UNKNOWN; } } ,removeGamepad: function(Device) { if(Device == 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 == Device) { 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_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: 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,checkRaw: function(id) { return this.gamepad.checkStatusRaw(id,this.status); } ,get_ANY: function() { var _g = 0; var _g1 = this.gamepad.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && this.gamepad.checkStatusRaw(button.ID,this.status)) { return true; } } return false; } ,get_ALL: function() { var _g = 0; var _g1 = this.gamepad.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && !this.gamepad.checkStatusRaw(button.ID,this.status)) { return false; } } return true; } ,get_NONE: function() { var _g = 0; var _g1 = this.gamepad.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && this.gamepad.checkStatusRaw(button.ID,this.status)) { 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 { return this.gamepad.checkStatusRaw(stick.x,this.status); } } ,get_LEFT_STICK_Y: function() { var stick = this.gamepad.mapping.getAnalogStick(19); if(stick == null) { return false; } else { return this.gamepad.checkStatusRaw(stick.y,this.status); } } ,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 { return this.gamepad.checkStatusRaw(stick.x,this.status); } } ,get_RIGHT_STICK_Y: function() { var stick = this.gamepad.mapping.getAnalogStick(20); if(stick == null) { return false; } else { return this.gamepad.checkStatusRaw(stick.y,this.status); } } ,checkXY: function(id) { var stick = this.gamepad.mapping.getAnalogStick(id); if(stick == null) { return false; } var xVal = this.gamepad.checkStatusRaw(stick.x,this.status); var yVal = this.gamepad.checkStatusRaw(stick.y,this.status); if(xVal && yVal) { return true; } if(xVal) { var yReleased = this.gamepad.checkStatusRaw(stick.y,0); var yJustReleased = this.gamepad.checkStatusRaw(stick.y,-1); if(yReleased || yJustReleased) { return true; } } if(yVal) { var xReleased = this.gamepad.checkStatusRaw(stick.x,0); var xJustReleased = this.gamepad.checkStatusRaw(stick.x,-1); if(xReleased || xJustReleased) { return true; } } return false; } ,checkX: function(id) { var stick = this.gamepad.mapping.getAnalogStick(id); if(stick == null) { return false; } return this.gamepad.checkStatusRaw(stick.x,this.status); } ,checkY: function(id) { var stick = this.gamepad.mapping.getAnalogStick(id); if(stick == null) { return false; } return this.gamepad.checkStatusRaw(stick.y,this.status); } ,checkRaw: function(RawID,Status) { return this.gamepad.checkStatusRaw(RawID,Status); } ,__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: 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_B: function() { var id = 1; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_X: function() { var id = 2; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_Y: function() { var id = 3; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_SHOULDER: function() { var id = 4; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_SHOULDER: function() { var id = 5; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_BACK: function() { var id = 6; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_START: function() { var id = 7; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_CLICK: function() { var id = 8; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_CLICK: function() { var id = 9; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_GUIDE: function() { var id = 10; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD_UP: function() { var id = 11; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD_DOWN: function() { var id = 12; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD_LEFT: function() { var id = 13; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD_RIGHT: function() { var id = 14; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_TRIGGER_BUTTON: function() { var id = 15; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_TRIGGER_BUTTON: function() { var id = 16; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_TRIGGER: function() { var id = 17; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_TRIGGER: function() { var id = 18; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_ANALOG_STICK: function() { var id = 19; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_ANALOG_STICK: function() { var id = 20; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD: function() { var id = 21; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_TILT_PITCH: function() { var id = 26; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_TILT_ROLL: function() { var id = 27; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_POINTER_X: function() { var id = 28; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_POINTER_Y: function() { var id = 29; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_EXTRA_0: function() { var id = 30; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_EXTRA_1: function() { var id = 31; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_EXTRA_2: function() { var id = 32; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_EXTRA_3: function() { var id = 33; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_DIGITAL_UP: function() { var id = 34; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_DIGITAL_RIGHT: function() { var id = 35; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_DIGITAL_DOWN: function() { var id = 36; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_DIGITAL_LEFT: function() { var id = 37; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_DIGITAL_UP: function() { var id = 38; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_DIGITAL_RIGHT: function() { var id = 39; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_DIGITAL_DOWN: function() { var id = 40; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_DIGITAL_LEFT: function() { var id = 41; var _this = this.gamepad; var Status = this.status; switch(id) { 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 rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,__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; } ,__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; } } ,__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); } ,__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 0: return 0; case 1: return 1; case 2: return 10; case 3: return 2; case 4: return 3; case 6: return 4; case 7: return 5; case 8: return 17; case 9: return 18; case 10: return 8; case 11: return 9; case 13: return 13; case 14: return 14; case 15: return 12; case 16: return 11; 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 0; case 1: return 1; case 2: return 3; case 3: return 4; case 4: return 6; case 5: return 7; case 8: return 10; case 9: return 11; case 10: return 2; case 11: return 16; case 12: return 15; case 13: return 13; case 14: return 14; case 17: return 8; case 18: return 9; 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; } } ,__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; } } ,__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; } } ,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_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.__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); } ,__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 openfl__$internal_renderer_BitmapDataPool = function(lifetime,context3D) { if(lifetime == null) { lifetime = 2; } this.__lifetime = lifetime; this.__context = context3D; this.__bitmapData = new haxe_ds_IntMap(); this.__bitmapDataAge = new haxe_ds_ObjectMap(); this.__bitmapDataList = []; }; $hxClasses["openfl._internal.renderer.BitmapDataPool"] = openfl__$internal_renderer_BitmapDataPool; openfl__$internal_renderer_BitmapDataPool.__name__ = "openfl._internal.renderer.BitmapDataPool"; openfl__$internal_renderer_BitmapDataPool.prototype = { __bitmapData: null ,__bitmapDataAge: null ,__bitmapDataList: null ,__context: null ,__lifetime: null ,cleanup: function() { var _g = 0; var _g1 = this.__bitmapDataList; while(_g < _g1.length) { var bitmapData = _g1[_g]; ++_g; var age = this.__bitmapDataAge.h[bitmapData.__id__]; if(age >= this.__lifetime) { this.__bitmapData.h[bitmapData.width].h[bitmapData.height].remove(bitmapData); bitmapData.dispose(); this.__bitmapDataAge.remove(bitmapData); HxOverrides.remove(this.__bitmapDataList,bitmapData); } else if(age > -1) { var v = age + 1; this.__bitmapDataAge.set(bitmapData,v); } } } ,get: function(width,height) { var heightMap = this.__bitmapData.h[width]; if(heightMap == null) { var this1 = this.__bitmapData; var v = new haxe_ds_IntMap(); this1.h[width] = v; heightMap = v; } var pool = heightMap.h[height]; if(pool == null) { var f = $bind(this,this.__createBitmapData); var width1 = width; var height1 = height; var v1 = new lime_utils_ObjectPool(function() { return f(width1,height1); },$bind(this,this.__cleanBitmapData)); heightMap.h[height] = v1; pool = v1; } var bitmapData = pool.get(); if(bitmapData == null) { return null; } if(this.__bitmapDataAge.h.__keys__[bitmapData.__id__] == null) { this.__bitmapDataList.push(bitmapData); } this.__bitmapDataAge.set(bitmapData,-1); return bitmapData; } ,release: function(bitmapData) { if(this.__bitmapDataAge.h.__keys__[bitmapData.__id__] != null) { this.__bitmapData.h[bitmapData.width].h[bitmapData.height].release(bitmapData); this.__bitmapDataAge.set(bitmapData,0); } } ,__cleanBitmapData: function(bitmapData) { bitmapData.fillRect(bitmapData.rect,0); } ,__createBitmapData: function(width,height) { if(this.__context != null) { var texture = this.__context.createRectangleTexture(width,height,1,true); var bitmapData = openfl_display_BitmapData.fromTexture(texture); return bitmapData; } else { return new openfl_display_BitmapData(width,height,true,0); } } ,__powerOfTwo: function(value) { var newValue = 1; while(newValue < value) newValue <<= 1; return newValue; } ,__class__: openfl__$internal_renderer_BitmapDataPool }; 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.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.__hardwareRenderer = null; openfl_display_BitmapData.__softwareRenderer = null; 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 ,__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 ,__type: 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(alphaBitmapData != null && alphaBitmapData.transparent && (alphaBitmapData != sourceBitmapData || alphaPoint != null && (alphaPoint.x != 0 || alphaPoint.y != 0))) { var point = openfl_geom_Point.__pool.get(); var rect = openfl_geom_Rectangle.__pool.get(); rect.copyFrom(sourceBitmapData.rect); rect.__contract(sourceRect.x,sourceRect.y,sourceRect.width,sourceRect.height); var copy = openfl_display_BitmapData.__pool.get(rect.width | 0,rect.height | 0); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(copy.image); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(sourceBitmapData.image); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(alphaBitmapData.image); if(alphaPoint != null) { rect.x += alphaPoint.x; rect.y += alphaPoint.y; } copy.image.buffer.__srcContext.globalCompositeOperation = "source-over"; copy.image.buffer.__srcContext.drawImage(alphaBitmapData.image.buffer.get_src(),rect.x + sourceBitmapData.image.offsetX | 0,rect.y + sourceBitmapData.image.offsetY | 0,rect.width | 0,rect.height | 0,point.x + this.image.offsetX | 0,point.y + this.image.offsetY | 0,rect.width | 0,rect.height | 0); if(alphaPoint != null) { rect.x -= alphaPoint.x; rect.y -= alphaPoint.y; } copy.image.buffer.__srcContext.globalCompositeOperation = "source-in"; copy.image.buffer.__srcContext.drawImage(sourceBitmapData.image.buffer.get_src(),rect.x + sourceBitmapData.image.offsetX | 0,rect.y + sourceBitmapData.image.offsetY | 0,rect.width | 0,rect.height | 0,point.x + this.image.offsetX | 0,point.y + this.image.offsetY | 0,rect.width | 0,rect.height | 0); this.image.copyPixels(copy.image,copy.rect.__toLimeRectangle(),destPoint.__toLimeVector2(),null,null,mergeAlpha); openfl_display_BitmapData.__pool.release(copy); openfl_geom_Rectangle.__pool.release(rect); openfl_geom_Point.__pool.release(point); 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 _colorTransform = new openfl_geom_ColorTransform(); _colorTransform.__copyFrom(source.__worldColorTransform); _colorTransform.__invert(); if(!this.readable && openfl_display_BitmapData.__hardwareRenderer != null && this.getTexture(openfl_display_BitmapData.__hardwareRenderer.context3D) != null) { if(colorTransform != null) { _colorTransform.__combine(colorTransform); } openfl_display_BitmapData.__hardwareRenderer.__allowSmoothing = smoothing; openfl_display_BitmapData.__hardwareRenderer.__overrideBlendMode = blendMode; openfl_display_BitmapData.__hardwareRenderer.__worldTransform = transform; openfl_display_BitmapData.__hardwareRenderer.__worldAlpha = 1 / source.__worldAlpha; openfl_display_BitmapData.__hardwareRenderer.__worldColorTransform = _colorTransform; openfl_display_BitmapData.__hardwareRenderer.__drawBitmapData(this,source,clipRect); } 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); } if(openfl_display_BitmapData.__softwareRenderer == null) { openfl_display_BitmapData.__softwareRenderer = new openfl__$internal_renderer_canvas_CanvasRenderer(null); } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.image); var renderer = openfl_display_BitmapData.__softwareRenderer; renderer.context = this.image.buffer.__srcContext; renderer.__allowSmoothing = smoothing; renderer.__overrideBlendMode = blendMode; renderer.__worldTransform = transform; renderer.__worldAlpha = 1 / source.__worldAlpha; renderer.__worldColorTransform = _colorTransform; renderer.__drawBitmapData(this,source,clipRect); } 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) { if(rect == null) { return; } if(this.transparent && (color & -16777216) == 0) { color = 0; } if(!this.readable && this.__texture != null && openfl_display_BitmapData.__hardwareRenderer != null) { openfl_display_BitmapData.__hardwareRenderer.__fillRect(this,rect,color); } else if(this.readable) { this.image.fillRect(rect.__toLimeRectangle(),color,1); } } ,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] = 5; this.__indexBufferData[8] = 6; this.__indexBufferData[9] = 6; this.__indexBufferData[10] = 5; this.__indexBufferData[11] = 7; this.__indexBufferData[12] = 8; this.__indexBufferData[13] = 9; this.__indexBufferData[14] = 10; this.__indexBufferData[15] = 10; this.__indexBufferData[16] = 9; this.__indexBufferData[17] = 11; this.__indexBufferData[18] = 12; this.__indexBufferData[19] = 13; this.__indexBufferData[20] = 14; this.__indexBufferData[21] = 14; this.__indexBufferData[22] = 13; this.__indexBufferData[23] = 15; this.__indexBufferData[24] = 16; this.__indexBufferData[25] = 18; this.__indexBufferData[26] = 17; this.__indexBufferData[27] = 17; this.__indexBufferData[28] = 18; this.__indexBufferData[29] = 19; this.__indexBufferData[30] = 20; this.__indexBufferData[31] = 21; this.__indexBufferData[32] = 22; this.__indexBufferData[33] = 22; this.__indexBufferData[34] = 21; this.__indexBufferData[35] = 23; this.__indexBufferData[36] = 24; this.__indexBufferData[37] = 25; this.__indexBufferData[38] = 26; this.__indexBufferData[39] = 26; this.__indexBufferData[40] = 25; this.__indexBufferData[41] = 27; this.__indexBufferData[42] = 28; this.__indexBufferData[43] = 29; this.__indexBufferData[44] = 30; this.__indexBufferData[45] = 30; this.__indexBufferData[46] = 29; this.__indexBufferData[47] = 31; this.__indexBufferData[48] = 32; this.__indexBufferData[49] = 33; this.__indexBufferData[50] = 34; this.__indexBufferData[51] = 34; this.__indexBufferData[52] = 33; this.__indexBufferData[53] = 35; 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; } ,pushQuadsToBatcher: function(batcher,transform,alpha,object) { var blendMode = object.__worldBlendMode; var colorTransform = object.__worldColorTransform; var scale9Grid = object.__worldScale9Grid; var uvWidth = 1; var uvHeight = 1; if(object != null && scale9Grid != null) { var vertexBufferWidth = object.get_width(); var vertexBufferHeight = object.get_height(); var vertexBufferScaleX = object.get_scaleX(); var vertexBufferScaleY = object.get_scaleY(); var centerX = scale9Grid.width; var centerY = scale9Grid.height; if(centerX != 0 && centerY != 0) { var left = scale9Grid.x; var top = scale9Grid.y; var right = vertexBufferWidth - centerX - left; var bottom = vertexBufferHeight - centerY - top; var uvLeft = left / vertexBufferWidth; var uvTop = top / vertexBufferHeight; var uvCenterX = scale9Grid.width / vertexBufferWidth; var uvCenterY = scale9Grid.height / vertexBufferHeight; var uvRight = right / this.width; var uvBottom = bottom / this.height; var uvOffsetU = 0.5 / vertexBufferWidth; var uvOffsetV = 0.5 / vertexBufferHeight; var renderedLeft = left / vertexBufferScaleX; var renderedTop = top / vertexBufferScaleY; var renderedRight = right / vertexBufferScaleX; var renderedBottom = bottom / vertexBufferScaleY; var renderedCenterX = this.width - renderedLeft - renderedRight; var renderedCenterY = this.height - renderedTop - renderedBottom; var a = 0; var b = renderedLeft; var c = renderedLeft + renderedCenterX; var bc = renderedCenterX; var d = this.width; var cd = d - c; var p = 0; var q = renderedTop; var r = renderedTop + renderedCenterY; var qr = renderedCenterY; var s = this.height; var rs = s - r; batcher.setVs(0,uvHeight * uvTop - uvOffsetV); batcher.setVertices(transform,a,p,b,q); batcher.setUs(0,uvWidth * uvLeft - uvOffsetU); batcher.pushQuad(this,blendMode,alpha,colorTransform); batcher.setVertices(transform,b,p,bc,q); batcher.setUs(uvWidth * uvLeft + uvOffsetU,uvWidth * (uvLeft + uvCenterX) - uvOffsetU); batcher.pushQuad(this,blendMode,alpha,colorTransform); batcher.setVertices(transform,c,p,cd,q); batcher.setUs(uvWidth * (uvLeft + uvCenterX) + uvOffsetU,uvWidth); batcher.pushQuad(this,blendMode,alpha,colorTransform); batcher.setVs(uvHeight * uvTop + uvOffsetV,uvHeight * (uvTop + uvCenterY) - uvOffsetV); batcher.setVertices(transform,a,q,b,qr); batcher.setUs(0,uvWidth * uvLeft - uvOffsetU); batcher.pushQuad(this,blendMode,alpha,colorTransform); batcher.setVertices(transform,b,q,bc,qr); batcher.setUs(uvWidth * uvLeft + uvOffsetU,uvWidth * (uvLeft + uvCenterX) - uvOffsetU); batcher.pushQuad(this,blendMode,alpha,colorTransform); batcher.setVertices(transform,c,q,cd,qr); batcher.setUs(uvWidth * (uvLeft + uvCenterX) + uvOffsetU,uvWidth); batcher.pushQuad(this,blendMode,alpha,colorTransform); batcher.setVs(uvHeight * (uvTop + uvCenterY) + uvOffsetV,uvHeight); batcher.setVertices(transform,a,r,b,rs); batcher.setUs(0,uvWidth * uvLeft - uvOffsetU); batcher.pushQuad(this,blendMode,alpha,colorTransform); batcher.setVertices(transform,b,r,bc,rs); batcher.setUs(uvWidth * uvLeft + uvOffsetU,uvWidth * (uvLeft + uvCenterX) - uvOffsetU); batcher.pushQuad(this,blendMode,alpha,colorTransform); batcher.setVertices(transform,c,r,cd,rs); batcher.setUs(uvWidth * (uvLeft + uvCenterX) + uvOffsetU,uvWidth); batcher.pushQuad(this,blendMode,alpha,colorTransform); } else { var tmp = centerX == 0 && centerY != 0; } } else { batcher.setVertices(transform,0,0,this.width,this.height); batcher.setUs(0,uvWidth); batcher.setVs(0,uvHeight); batcher.pushQuad(this,blendMode,alpha,colorTransform); } } ,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.__textureWidth,this.__textureHeight); var uvWidth = this.width / this.__textureWidth; var uvHeight = this.height / this.__textureHeight; 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(504); this.__vertexBufferData = this1; var left = scale9Grid.x; var top = scale9Grid.y; var right = this.__vertexBufferWidth - centerX - left; var bottom = this.__vertexBufferHeight - centerY - top; var uvLeft = left / this.__vertexBufferWidth; var uvTop = top / this.__vertexBufferHeight; var uvCenterX = scale9Grid.width / this.__vertexBufferWidth; var uvCenterY = scale9Grid.height / this.__vertexBufferHeight; var uvRight = right / this.width; var uvBottom = bottom / this.height; var uvOffsetU = 0.5 / this.__vertexBufferWidth; var uvOffsetV = 0.5 / this.__vertexBufferHeight; 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 = this.width - renderedLeft - renderedRight; var renderedCenterY = this.height - renderedTop - renderedBottom; this.__setVertex(0,0,0,0,0); this.__setVertices([3,6,13,16],renderedLeft,renderedTop,uvWidth * uvLeft,uvHeight * uvTop); this.__setVertices([2,12],0,renderedTop,0,uvHeight * uvTop); this.__setVertices([1,4],renderedLeft,0,uvWidth * uvLeft,0); this.__setVertices([7,10,18,20],renderedLeft + renderedCenterX,renderedTop,uvWidth * (uvLeft + uvCenterX),uvHeight * uvTop); this.__setVertices([5,8],renderedLeft + renderedCenterX,0,uvWidth * (uvLeft + uvCenterX),0); this.__setVertices([11,21],this.width,renderedTop,uvWidth,uvHeight * uvTop); this.__setVertex(9,this.width,0,uvWidth,0); this.__setVertices([15,17,25,28],renderedLeft,renderedTop + renderedCenterY,uvWidth * uvLeft,uvHeight * (uvTop + uvCenterY)); this.__setVertices([14,24],0,renderedTop + renderedCenterY,0,uvHeight * (uvTop + uvCenterY)); this.__setVertices([19,22,29,32],renderedLeft + renderedCenterX,renderedTop + renderedCenterY,uvWidth * (uvLeft + uvCenterX),uvHeight * (uvTop + uvCenterY)); this.__setVertices([23,33],this.width,renderedTop + renderedCenterY,uvWidth,uvHeight * (uvTop + uvCenterY)); this.__setVertices([27,30],renderedLeft,this.height,uvWidth * uvLeft,uvHeight); this.__setVertex(26,0,this.height,0,uvHeight); this.__setVertices([31,34],renderedLeft + renderedCenterX,this.height,uvWidth * (uvLeft + uvCenterX),uvHeight); this.__setVertex(35,this.width,this.height,uvWidth,uvHeight); this.__setUOffsets([1,3,5,7,13,15,18,19,25,27,29,31],-uvOffsetU); this.__setUOffsets([4,6,8,10,16,17,20,22,28,30,32,34],uvOffsetU); this.__setVOffsets([2,3,6,7,10,11,14,15,17,19,22,23],-uvOffsetV); this.__setVOffsets([12,13,16,18,20,21,24,25,28,29,32,33],uvOffsetV); 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(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.readable && this.image == null && (this.__texture == null || this.__textureContext != context.__context)) { this.__textureContext = null; this.__texture = null; return null; } if(this.__texture == null || this.__textureContext != context.__context) { this.__textureContext = context.__context; this.__texture = context.createRectangleTexture(this.__textureWidth,this.__textureHeight,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__$internal_utils_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++; } ,__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(this.__vertexBufferData); } } ,__setVertex: function(index,x,y,u,v) { var i = index * 14; this.__vertexBufferData[i] = x; this.__vertexBufferData[i + 1] = y; this.__vertexBufferData[i + 3] = u; this.__vertexBufferData[i + 4] = v; } ,__setVertices: function(indices,x,y,u,v) { var _g = 0; while(_g < indices.length) { var index = indices[_g]; ++_g; this.__setVertex(index,x,y,u,v); } } ,__setUOffsets: function(indices,offset) { var _g = 0; while(_g < indices.length) { var index = indices[_g]; ++_g; this.__vertexBufferData[index * 14 + 3] += offset; } } ,__setVOffsets: function(indices,offset) { var _g = 0; while(_g < indices.length) { var index = indices[_g]; ++_g; this.__vertexBufferData[index * 14 + 4] += offset; } } ,__sync: function() { lime__$internal_graphics_ImageCanvasUtil.sync(this.image,false); } ,__update: function(transformOnly,updateChildren) { } ,__powerOfTwo: function(value) { var newValue = 1; while(newValue < value) newValue <<= 1; return newValue; } ,__class__: openfl_display_BitmapData }; 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_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_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.9999999999999984e-015; }; 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.9999999999999984e-015; 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.9999999999999984e-015; }; 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.9999999999999984e-015; }; 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.9999999999999984e-015) { r = NaN; } else if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) { 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.9999999999999984e-015) { return NaN; } if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) { 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.9999999999999984e-015) { t = NaN; } else if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) { 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.9999999999999984e-015) { t1 = NaN; } else if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) { 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.9999999999999984e-015) { t2 = NaN; } else if(v.x * v.x + v.y * v.y < 9.9999999999999984e-015 || this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015) { 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 graphic = flixel_graphics_FlxGraphic.fromClass(flixel_system_GraphicVirtualInput); 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 ,playing: 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) { if(AutoDestroy == null) { AutoDestroy = false; } if(Looped == null) { Looped = false; } this.cleanup(true); this._sound = new openfl_media_Sound(); this._sound.addEventListener("id3",$bind(this,this.gotID3)); 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); 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() { var _gthis = this; this.variables = new haxe_ds_StringMap(); this.locals = new haxe_ds_StringMap(); this.declared = []; 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; } 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 ,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.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 + "'"; } throw new js__$Boot_HaxeError(str); } 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( e15 ) { haxe_CallStack.lastException = e15; var e16 = ((e15) instanceof js__$Boot_HaxeError) ? e15.val : e15; me.locals = old1; me.depth = depth; throw js__$Boot_HaxeError.wrap(e16); } } 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 e17 = e.e; this.returnValue = e17 == null ? null : this.expr(e17); throw new js__$Boot_HaxeError(hscript__$Interp_Stop.SReturn); case 16: var index = e.index; var e18 = e.e; var arr = this.expr(e18); 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 e19 = arr1[_g4]; ++_g4; if(e19._hx_index == 6) { if(e19.op == "=>") { var eValue = e19.e2; var eKey = e19.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 e20 = arr1[_g41]; ++_g41; a.push(this.expr(e20)); } return a; } break; case 18: var params2 = e.params; var cl = e.cl; var a1 = []; var _g7 = 0; while(_g7 < params2.length) { var e23 = params2[_g7]; ++_g7; a1.push(this.expr(e23)); } return this.cnew(cl,a1); case 19: var e24 = e.e; throw js__$Boot_HaxeError.wrap(this.expr(e24)); case 20: var _g51 = e.t; var ecatch = e.ecatch; var n2 = e.v; var e25 = e.e; var old2 = this.declared.length; var oldTry = this.inTry; try { this.inTry = true; var v3 = this.expr(e25); this.restore(old2); this.inTry = oldTry; return v3; } catch( e26 ) { haxe_CallStack.lastException = e26; var e27 = ((e26) instanceof js__$Boot_HaxeError) ? e26.val : e26; if(js_Boot.__instanceof(e27,hscript__$Interp_Stop)) { this.inTry = oldTry; throw new js__$Boot_HaxeError(e27); } 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 : e27}; 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 e28 = e.e2; var e110 = e.e1; var econd2 = e.cond; if(this.expr(econd2) == true) { return this.expr(e110); } else { return this.expr(e28); } break; case 23: var def = e.defaultExpr; var cases = e.cases; var e29 = e.e; var val = this.expr(e29); 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 e30 = e.e; var econd3 = e.cond; this.doWhileLoop(econd3,e30); return null; case 25: var _g52 = e.args; var _g511 = e.name; var e31 = e.e; return this.expr(e31); case 26: var _g46 = e.t; var e32 = e.e; return this.expr(e32); } } ,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.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.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) { 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); } else { sound.loadStream(URL1,Looped,AutoDestroy,OnComplete); } 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); sound.set_volume(Volume); sound.set_group(Group == null ? this.defaultSoundGroup : Group); return sound.play(); } ,stream: function(URL1,Volume,Looped,Group,AutoDestroy,OnComplete) { if(AutoDestroy == null) { AutoDestroy = true; } if(Looped == null) { Looped = false; } if(Volume == null) { Volume = 1; } return this.load(null,Volume,Looped,null,AutoDestroy,true,URL1,OnComplete); } ,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 + "\""); } if(curTile < 0) { curTile = 0; } 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; } 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_FlxTile = function(Tilemap,Index,Width,Height,Visible,AllowCollisions) { this.mapIndex = 0; this.callbackFunction = null; flixel_FlxObject.call(this,0,0,Width,Height); this.set_immovable(true); this.set_moves(false); this.tilemap = Tilemap; this.index = Index; this.set_visible(Visible); this.set_allowCollisions(AllowCollisions); }; $hxClasses["flixel.tile.FlxTile"] = flixel_tile_FlxTile; flixel_tile_FlxTile.__name__ = "flixel.tile.FlxTile"; flixel_tile_FlxTile.__super__ = flixel_FlxObject; flixel_tile_FlxTile.prototype = $extend(flixel_FlxObject.prototype,{ callbackFunction: null ,filter: null ,tilemap: null ,index: null ,mapIndex: null ,frame: null ,destroy: function() { this.callbackFunction = null; this.tilemap = null; this.frame = null; flixel_FlxObject.prototype.destroy.call(this); } ,__class__: flixel_tile_FlxTile }); 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_tile_GraphicAuto = 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_tile_GraphicAuto.preload != null) { this.__fromImage(flixel_tile_GraphicAuto.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_tile_GraphicAuto.resourceName),flixel_tile_GraphicAuto.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_tile_GraphicAuto.preload == null) { flixel_tile_GraphicAuto.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.tile.GraphicAuto"] = flixel_tile_GraphicAuto; flixel_tile_GraphicAuto.__name__ = "flixel.tile.GraphicAuto"; flixel_tile_GraphicAuto.preload = null; flixel_tile_GraphicAuto.__super__ = openfl_display_BitmapData; flixel_tile_GraphicAuto.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_tile_GraphicAuto }); var flixel_tile_GraphicAutoAlt = 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_tile_GraphicAutoAlt.preload != null) { this.__fromImage(flixel_tile_GraphicAutoAlt.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_tile_GraphicAutoAlt.resourceName),flixel_tile_GraphicAutoAlt.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_tile_GraphicAutoAlt.preload == null) { flixel_tile_GraphicAutoAlt.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.tile.GraphicAutoAlt"] = flixel_tile_GraphicAutoAlt; flixel_tile_GraphicAutoAlt.__name__ = "flixel.tile.GraphicAutoAlt"; flixel_tile_GraphicAutoAlt.preload = null; flixel_tile_GraphicAutoAlt.__super__ = openfl_display_BitmapData; flixel_tile_GraphicAutoAlt.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_tile_GraphicAutoAlt }); var flixel_tile_GraphicAutoFull = 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_tile_GraphicAutoFull.preload != null) { this.__fromImage(flixel_tile_GraphicAutoFull.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_tile_GraphicAutoFull.resourceName),flixel_tile_GraphicAutoFull.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_tile_GraphicAutoFull.preload == null) { flixel_tile_GraphicAutoFull.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.tile.GraphicAutoFull"] = flixel_tile_GraphicAutoFull; flixel_tile_GraphicAutoFull.__name__ = "flixel.tile.GraphicAutoFull"; flixel_tile_GraphicAutoFull.preload = null; flixel_tile_GraphicAutoFull.__super__ = openfl_display_BitmapData; flixel_tile_GraphicAutoFull.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_tile_GraphicAutoFull }); var flixel_tile_FlxTilemap = function() { this._checkBufferChanges = false; this._scaledTileHeight = 0; this._scaledTileWidth = 0; this._tileHeight = 0; this._tileWidth = 0; this._buffers = []; this._flashRect = new openfl_geom_Rectangle(); this._flashPoint = new openfl_geom_Point(); this.blend = null; this.colorTransform = new openfl_geom_ColorTransform(); this.alpha = 1.0; this.color = 16777215; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.offset = point; this.antialiasing = false; this.useScaleHack = true; flixel_tile_FlxBaseTilemap.call(this); if(flixel_FlxG.renderTile) { this._helperPoint = new openfl_geom_Point(); this._matrix = new flixel_math_FlxMatrix(); } this.scale = new flixel_math_FlxCallbackPoint($bind(this,this.setScaleXCallback),$bind(this,this.setScaleYCallback),$bind(this,this.setScaleXYCallback)); this.scale.set(1,1); flixel_FlxG.signals.gameResized.add($bind(this,this.onGameResized)); flixel_FlxG.cameras.cameraAdded.add($bind(this,this.onCameraChanged)); flixel_FlxG.cameras.cameraRemoved.add($bind(this,this.onCameraChanged)); flixel_FlxG.cameras.cameraResized.add($bind(this,this.onCameraChanged)); }; $hxClasses["flixel.tile.FlxTilemap"] = flixel_tile_FlxTilemap; flixel_tile_FlxTilemap.__name__ = "flixel.tile.FlxTilemap"; flixel_tile_FlxTilemap.__super__ = flixel_tile_FlxBaseTilemap; flixel_tile_FlxTilemap.prototype = $extend(flixel_tile_FlxBaseTilemap.prototype,{ useScaleHack: null ,scale: null ,antialiasing: null ,offset: null ,frames: null ,graphic: null ,color: null ,alpha: null ,colorTransform: null ,blend: null ,shader: null ,_flashPoint: null ,_flashRect: null ,_buffers: null ,_tileWidth: null ,_tileHeight: null ,_scaledTileWidth: null ,_scaledTileHeight: null ,_helperPoint: null ,_matrix: null ,_checkBufferChanges: null ,destroy: function() { this._flashPoint = null; this._flashRect = null; this._tileObjects = flixel_util_FlxDestroyUtil.destroyArray(this._tileObjects); this._buffers = flixel_util_FlxDestroyUtil.destroyArray(this._buffers); if(!flixel_FlxG.renderBlit) { this._helperPoint = null; this._matrix = null; } this.set_frames(null); this.set_graphic(null); this.scale = flixel_util_FlxDestroyUtil.destroy(this.scale); this.offset = flixel_util_FlxDestroyUtil.put(this.offset); this.colorTransform = null; flixel_FlxG.signals.gameResized.remove($bind(this,this.onGameResized)); flixel_FlxG.cameras.cameraAdded.remove($bind(this,this.onCameraChanged)); flixel_FlxG.cameras.cameraRemoved.remove($bind(this,this.onCameraChanged)); flixel_FlxG.cameras.cameraResized.remove($bind(this,this.onCameraChanged)); this.shader = null; flixel_tile_FlxBaseTilemap.prototype.destroy.call(this); } ,set_frames: function(value) { this.frames = value; if(value != null) { this._tileWidth = value.frames[0].sourceSize.x | 0; this._tileHeight = value.frames[0].sourceSize.y | 0; this._flashRect.setTo(0,0,this._tileWidth,this._tileHeight); this.set_graphic(value.parent); this.postGraphicLoad(); } return value; } ,onGameResized: function(_,_1) { this._checkBufferChanges = true; } ,onCameraChanged: function(_) { this._checkBufferChanges = true; } ,cacheGraphics: function(TileWidth,TileHeight,TileGraphic) { if(((TileGraphic) instanceof flixel_graphics_frames_FlxFramesCollection)) { this.set_frames(TileGraphic); return; } var graph = flixel_FlxG.bitmap.add(TileGraphic); if(graph == null) { return; } this._tileWidth = TileWidth; if(this._tileWidth <= 0) { this._tileWidth = graph.height; } this._tileHeight = TileHeight; if(this._tileHeight <= 0) { this._tileHeight = this._tileWidth; } var X = this._tileWidth; var Y = this._tileHeight; 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)); } ,initTileObjects: function() { if(this.frames == null) { return; } this._tileObjects = flixel_util_FlxDestroyUtil.destroyArray(this._tileObjects); this._tileObjects = []; var length = this.frames.frames.length; length += this._startingIndex; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; this._tileObjects[i] = new flixel_tile_FlxTile(this,i,this._tileWidth,this._tileHeight,i >= this._drawIndex,i >= this._collideIndex ? this.allowCollisions : 0); } } ,computeDimensions: function() { this._scaledTileWidth = this._tileWidth * this.scale.x; this._scaledTileHeight = this._tileHeight * this.scale.y; this.set_width(this.widthInTiles * this._scaledTileWidth); this.set_height(this.heightInTiles * this._scaledTileHeight); } ,updateMap: function() { var numTiles = this._tileObjects.length; var _g = 0; var _g1 = numTiles; while(_g < _g1) { var i = _g++; this.updateTile(i); } } ,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; this._point.set(minX,minY); var point = this._point; var width = this._scaledTileWidth * this.widthInTiles; var height = this._scaledTileHeight * this.heightInTiles; 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; } } ,draw: function() { if(this.graphic == null) { return; } if(this._checkBufferChanges) { this.refreshBuffers(); this._checkBufferChanges = false; } var camera; var buffer; var l = this.get_cameras().length; var _g = 0; var _g1 = l; while(_g < _g1) { var i = _g++; camera = this.get_cameras()[i]; if(!camera.visible || !camera.exists || !this.isOnScreen(camera)) { continue; } if(this._buffers[i] == null) { var tmp = this._buffers; var buffer1 = new flixel_tile_FlxTilemapBuffer(this._tileWidth,this._tileHeight,this.widthInTiles,this.heightInTiles,camera,this.scale.x,this.scale.y); buffer1.pixelPerfectRender = this.pixelPerfectRender; buffer1.antialiasing = this.antialiasing; tmp[i] = buffer1; } buffer = this._buffers[i]; if(flixel_FlxG.renderBlit) { if(buffer.isDirty(this,camera)) { this.drawTilemap(buffer,camera); } var _this = this.getScreenPosition(this._point,camera).subtractPoint(this.offset); var X = buffer.x; var Y = buffer.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g2 = _this; _g2.set_x(_g2.x + X); var _g3 = _this; _g3.set_y(_g3.y + Y); var _this1 = _this; var FlashPoint = this._flashPoint; if(FlashPoint == null) { FlashPoint = new openfl_geom_Point(); } FlashPoint.x = _this1.x; FlashPoint.y = _this1.y; buffer.draw(camera,this._flashPoint,this.scale.x,this.scale.y); } else { this.drawTilemap(buffer,camera); } } } ,refreshBuffers: function() { var _g = 0; var _g1 = this.get_cameras().length; while(_g < _g1) { var i = _g++; var camera = this.get_cameras()[i]; var buffer = this._buffers[i]; if(buffer == null) { var tmp = this._buffers; var buffer1 = new flixel_tile_FlxTilemapBuffer(this._tileWidth,this._tileHeight,this.widthInTiles,this.heightInTiles,camera,this.scale.x,this.scale.y); buffer1.pixelPerfectRender = this.pixelPerfectRender; buffer1.antialiasing = this.antialiasing; tmp[i] = buffer1; } else { buffer.resize(this._tileWidth,this._tileHeight,this.widthInTiles,this.heightInTiles,camera,this.scale.x,this.scale.y); } } } ,setDirty: function(Dirty) { if(Dirty == null) { Dirty = true; } if(flixel_FlxG.renderTile) { return; } var _g = 0; var _g1 = this._buffers; while(_g < _g1.length) { var buffer = _g1[_g]; ++_g; if(buffer != null) { buffer.dirty = Dirty; } } } ,overlapsWithCallback: function(Object1,Callback,FlipCallbackParams,Position) { if(FlipCallbackParams == null) { FlipCallbackParams = false; } var results = false; var xPos = this.x; var yPos = this.y; if(Position != null) { xPos = Position.x; yPos = Position.y; } var selectionX = Math.floor((Object1.x - xPos) / this._scaledTileWidth); var selectionY = Math.floor((Object1.y - yPos) / this._scaledTileHeight); var selectionWidth = selectionX + Math.ceil(Object1.get_width() / this._scaledTileWidth) + 1; var selectionHeight = selectionY + Math.ceil(Object1.get_height() / this._scaledTileHeight) + 1; var Max = this.widthInTiles; var lowerBound = selectionX < 0 ? 0 : selectionX; selectionX = (Max != null && lowerBound > Max ? Max : lowerBound) | 0; var Max1 = this.heightInTiles; var lowerBound1 = selectionY < 0 ? 0 : selectionY; selectionY = (Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1) | 0; var Max2 = this.widthInTiles; var lowerBound2 = selectionWidth < 0 ? 0 : selectionWidth; selectionWidth = (Max2 != null && lowerBound2 > Max2 ? Max2 : lowerBound2) | 0; var Max3 = this.heightInTiles; var lowerBound3 = selectionHeight < 0 ? 0 : selectionHeight; selectionHeight = (Max3 != null && lowerBound3 > Max3 ? Max3 : lowerBound3) | 0; var rowStart = selectionY * this.widthInTiles; var column; var tile; var overlapFound; var deltaX = xPos - this.last.x; var deltaY = yPos - this.last.y; var _g = selectionY; var _g1 = selectionHeight; while(_g < _g1) { var row = _g++; column = selectionX; while(column < selectionWidth) { var index = rowStart + column; if(index < 0 || index > this._data.length - 1) { ++column; continue; } var dataIndex = this._data[index]; if(dataIndex < 0) { ++column; continue; } tile = this._tileObjects[dataIndex]; tile.set_width(this._scaledTileWidth); tile.set_height(this._scaledTileHeight); tile.set_x(xPos + column * tile.get_width()); tile.set_y(yPos + row * tile.get_height()); tile.last.set_x(tile.x - deltaX); tile.last.set_y(tile.y - deltaY); overlapFound = Object1.x + Object1.get_width() > tile.x && Object1.x < tile.x + tile.get_width() && Object1.y + Object1.get_height() > tile.y && Object1.y < tile.y + tile.get_height(); if(tile.allowCollisions != 0) { if(Callback != null) { if(FlipCallbackParams) { overlapFound = Callback(Object1,tile); } else { overlapFound = Callback(tile,Object1); } } } if(overlapFound) { if(tile.callbackFunction != null && (tile.filter == null || js_Boot.__instanceof(Object1,tile.filter))) { tile.mapIndex = rowStart + column; tile.callbackFunction(tile,Object1); } if(tile.allowCollisions != 0) { results = true; } } ++column; } rowStart += this.widthInTiles; } return results; } ,getTileIndexByCoords: function(Coord) { var localX = Coord.x - this.x; var localY = Coord.y - this.y; if(Coord._weak) { Coord.put(); } if(localX < 0 || localY < 0 || localX >= this.get_width() || localY >= this.get_height()) { return -1; } return (localY / this._scaledTileHeight | 0) * this.widthInTiles + (localX / this._scaledTileWidth | 0); } ,getTileCoordsByIndex: function(Index,Midpoint) { if(Midpoint == null) { Midpoint = true; } var X = this.x + Index % this.widthInTiles * this._scaledTileWidth; var Y = this.y + (Index / this.widthInTiles | 0) * this._scaledTileHeight; 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; if(Midpoint) { var _g = point1; _g.set_x(_g.x + this._scaledTileWidth * 0.5); var _g1 = point1; _g1.set_y(_g1.y + this._scaledTileHeight * 0.5); } return point1; } ,getTileCoords: function(Index,Midpoint) { if(Midpoint == null) { Midpoint = true; } var array = null; var point; var l = this.widthInTiles * this.heightInTiles; var _g = 0; var _g1 = l; while(_g < _g1) { var i = _g++; if(this._data[i] == Index) { var X = this.x + i % this.widthInTiles * this._scaledTileWidth; var Y = this.y + (i / this.widthInTiles | 0) * this._scaledTileHeight; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X,Y); point1._inPool = false; point = point1; if(Midpoint) { var _g2 = point; _g2.set_x(_g2.x + this._scaledTileWidth * 0.5); var _g3 = point; _g3.set_y(_g3.y + this._scaledTileHeight * 0.5); } if(array == null) { array = []; } array.push(point); } } return array; } ,follow: function(Camera,Border,UpdateWorld) { if(UpdateWorld == null) { UpdateWorld = true; } if(Border == null) { Border = 0; } if(Camera == null) { Camera = flixel_FlxG.camera; } Camera.setScrollBoundsRect(this.x + Border * this._scaledTileWidth,this.y + Border * this._scaledTileHeight,this.get_width() - Border * this._scaledTileWidth * 2,this.get_height() - Border * this._scaledTileHeight * 2,UpdateWorld); } ,ray: function(Start,End,Result,Resolution) { if(Resolution == null) { Resolution = 1; } var step = this._scaledTileWidth; if(this._scaledTileHeight < this._scaledTileWidth) { step = this._scaledTileHeight; } step /= Resolution; var deltaX = End.x - Start.x; var deltaY = End.y - Start.y; var distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY); var steps = Math.ceil(distance / step); var stepX = deltaX / steps; var stepY = deltaY / steps; var curX = Start.x - stepX - this.x; var curY = Start.y - stepY - this.y; var tileX; var tileY; var i = 0; if(Start._weak) { Start.put(); } if(End._weak) { End.put(); } while(i < steps) { curX += stepX; curY += stepY; if(curX < 0 || curX > this.get_width() || curY < 0 || curY > this.get_height()) { ++i; continue; } tileX = Math.floor(curX / this._scaledTileWidth); tileY = Math.floor(curY / this._scaledTileHeight); if(this._tileObjects[this._data[tileY * this.widthInTiles + tileX]].allowCollisions != 0) { tileX *= this._scaledTileWidth | 0; tileY *= this._scaledTileHeight | 0; var rx = 0; var ry = 0; var lx = curX - stepX; var ly = curY - stepY; var q = tileX; if(deltaX < 0) { q += this._scaledTileWidth; } rx = q; ry = ly + stepY * ((q - lx) / stepX); if(ry >= tileY && ry <= tileY + this._scaledTileHeight) { if(Result == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; Result = point; } Result.set(rx,ry); return false; } q = tileY; if(deltaY < 0) { q += this._scaledTileHeight; } rx = lx + stepX * ((q - ly) / stepY); ry = q; if(rx >= tileX && rx <= tileX + this._scaledTileWidth) { if(Result == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; Result = point1; } Result.set(rx,ry); return false; } return true; } ++i; } return true; } ,tileToSprite: function(X,Y,NewTile,SpriteFactory) { if(NewTile == null) { NewTile = 0; } if(SpriteFactory == null) { SpriteFactory = $bind(this,this.defaultTileToSprite); } var rowIndex = X + Y * this.widthInTiles; var tile = this._tileObjects[this._data[rowIndex]]; var image = null; if(tile != null && tile.visible) { image = flixel_graphics_frames_FlxImageFrame.fromFrame(tile.frame); } else { var image1 = this.graphic; var X1 = 0; var Y1 = 0; var Width = this._tileWidth; var Height = this._tileHeight; 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; image = flixel_graphics_frames_FlxImageFrame.fromEmptyFrame(image1,rect); } var tileX = X * this._tileWidth * this.scale.x + this.x; var tileY = Y * this._tileHeight * this.scale.y + this.y; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var _this1 = point; var point1 = this.scale; _this1.set_x(point1.x); _this1.set_y(point1.y); if(point1._weak) { point1.put(); } var tileSprite = SpriteFactory({ graphic : image, x : tileX, y : tileY, scale : _this1, alpha : this.alpha, blend : this.blend}); if(NewTile >= 0) { this.setTile(X,Y,NewTile); } return tileSprite; } ,updateBuffers: function() { flixel_util_FlxDestroyUtil.destroyArray(this._buffers); this._buffers = []; } ,drawTilemap: function(Buffer,Camera) { var isColored = this.alpha != 1 || this.color != 16777215; var drawX = 0; var drawY = 0; var scaledWidth = 0; var scaledHeight = 0; var drawItem = null; if(flixel_FlxG.renderBlit) { Buffer.fill(); } else { var _this = this.getScreenPosition(this._point,Camera).subtractPoint(this.offset); var FlashPoint = this._helperPoint; if(FlashPoint == null) { FlashPoint = new openfl_geom_Point(); } FlashPoint.x = _this.x; FlashPoint.y = _this.y; var tmp = this.isPixelPerfectRender(Camera) ? Math.floor(this._helperPoint.x) : this._helperPoint.x; this._helperPoint.x = tmp; var tmp1 = this.isPixelPerfectRender(Camera) ? Math.floor(this._helperPoint.y) : this._helperPoint.y; this._helperPoint.y = tmp1; scaledWidth = this._scaledTileWidth; scaledHeight = this._scaledTileHeight; var hasColorOffsets = this.colorTransform != null && flixel_util_FlxColorTransformUtil.hasRGBAOffsets(this.colorTransform); drawItem = Camera.startQuadBatch(this.graphic,isColored,hasColorOffsets,this.blend,this.antialiasing,this.shader); } this._point.set_x(Camera.scroll.x * this.scrollFactor.x - this.x - this.offset.x + Camera.viewOffsetX); this._point.set_y(Camera.scroll.y * this.scrollFactor.y - this.y - this.offset.y + Camera.viewOffsetY); var screenXInTiles = Math.floor(this._point.x / this._scaledTileWidth); var screenYInTiles = Math.floor(this._point.y / this._scaledTileHeight); var screenRows = Buffer.rows; var screenColumns = Buffer.columns; var Max = this.widthInTiles - screenColumns; var lowerBound = screenXInTiles < 0 ? 0 : screenXInTiles; screenXInTiles = (Max != null && lowerBound > Max ? Max : lowerBound) | 0; var Max1 = this.heightInTiles - screenRows; var lowerBound1 = screenYInTiles < 0 ? 0 : screenYInTiles; screenYInTiles = (Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1) | 0; var rowIndex = screenYInTiles * this.widthInTiles + screenXInTiles; this._flashPoint.y = 0; var columnIndex; var tile; var frame; var _g = 0; var _g1 = screenRows; while(_g < _g1) { var row = _g++; columnIndex = rowIndex; this._flashPoint.x = 0; var _g2 = 0; var _g11 = screenColumns; while(_g2 < _g11) { var column = _g2++; tile = this._tileObjects[this._data[columnIndex]]; if(tile != null && tile.visible && tile.frame.type != 2) { frame = tile.frame; if(flixel_FlxG.renderBlit) { frame.paint(Buffer.pixels,this._flashPoint,true); } else { drawX = this._helperPoint.x + columnIndex % this.widthInTiles * scaledWidth; drawY = this._helperPoint.y + Math.floor(columnIndex / this.widthInTiles) * scaledHeight; this._matrix.identity(); if(frame.angle != 0) { frame.prepareMatrix(this._matrix); } var scaleX = this.scale.x; var scaleY = this.scale.y; if(this.useScaleHack) { scaleX += 1 / (frame.sourceSize.x * Camera.totalScaleX); scaleY += 1 / (frame.sourceSize.y * Camera.totalScaleY); } this._matrix.scale(scaleX,scaleY); this._matrix.translate(drawX,drawY); drawItem.addQuad(frame,this._matrix,this.colorTransform); } } if(flixel_FlxG.renderBlit) { this._flashPoint.x += this._tileWidth; } ++columnIndex; } if(flixel_FlxG.renderBlit) { this._flashPoint.y += this._tileHeight; } rowIndex += this.widthInTiles; } Buffer.x = screenXInTiles * this._scaledTileWidth; Buffer.y = screenYInTiles * this._scaledTileHeight; if(flixel_FlxG.renderBlit) { if(isColored) { Buffer.colorTransform(this.colorTransform); } Buffer.blend = this.blend; } Buffer.dirty = false; } ,updateTile: function(Index) { var tile = this._tileObjects[Index]; if(tile == null || !tile.visible) { return; } tile.frame = this.frames.frames[Index - this._startingIndex]; } ,createBuffer: function(camera) { var buffer = new flixel_tile_FlxTilemapBuffer(this._tileWidth,this._tileHeight,this.widthInTiles,this.heightInTiles,camera,this.scale.x,this.scale.y); buffer.pixelPerfectRender = this.pixelPerfectRender; buffer.antialiasing = this.antialiasing; return buffer; } ,set_antialiasing: function(value) { var _g = 0; var _g1 = this._buffers; while(_g < _g1.length) { var buffer = _g1[_g]; ++_g; buffer.antialiasing = value; } return this.antialiasing = value; } ,set_graphic: function(Value) { if(this.graphic != Value) { if(Value != null) { var _g = Value; _g.set_useCount(_g.get_useCount() + 1); } if(this.graphic != null) { var _g1 = this.graphic; _g1.set_useCount(_g1.get_useCount() - 1); } } return this.graphic = Value; } ,set_pixelPerfectRender: function(Value) { if(this._buffers != null) { var _g = 0; var _g1 = this._buffers; while(_g < _g1.length) { var buffer = _g1[_g]; ++_g; buffer.pixelPerfectRender = Value; } } return this.pixelPerfectRender = Value; } ,set_alpha: function(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; } ,updateColorTransform: function() { if(this.colorTransform == null) { this.colorTransform = new openfl_geom_ColorTransform(); } if(this.alpha != 1 || this.color != 16777215) { 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.setDirty(); } ,set_blend: function(Value) { this.setDirty(); return this.blend = Value; } ,setScaleXYCallback: function(Scale) { this.setScaleXCallback(Scale); this.setScaleYCallback(Scale); } ,setScaleXCallback: function(Scale) { this._scaledTileWidth = this._tileWidth * this.scale.x; this.set_width(this.widthInTiles * this._scaledTileWidth); if(this.get_cameras() == null) { return; } var _g = 0; var _g1 = this.get_cameras().length; while(_g < _g1) { var i = _g++; if(this._buffers[i] != null) { this._buffers[i].updateColumns(this._tileWidth,this.widthInTiles,this.scale.x,this.get_cameras()[i]); } } } ,setScaleYCallback: function(Scale) { this._scaledTileHeight = this._tileHeight * this.scale.y; this.set_height(this.heightInTiles * this._scaledTileHeight); if(this.get_cameras() == null) { return; } var _g = 0; var _g1 = this.get_cameras().length; while(_g < _g1) { var i = _g++; if(this._buffers[i] != null) { this._buffers[i].updateRows(this._tileHeight,this.heightInTiles,this.scale.y,this.get_cameras()[i]); } } } ,defaultTileToSprite: function(TileProperties) { var tileSprite = new flixel_FlxSprite(TileProperties.x,TileProperties.y); tileSprite.set_frames(TileProperties.graphic); var _this = tileSprite.scale; var point = TileProperties.scale; _this.set_x(point.x); _this.set_y(point.y); if(point._weak) { point.put(); } TileProperties.scale = flixel_util_FlxDestroyUtil.put(TileProperties.scale); tileSprite.set_alpha(TileProperties.alpha); tileSprite.set_blend(TileProperties.blend); return tileSprite; } ,set_allowCollisions: function(Value) { var _g = 0; var _g1 = this._tileObjects; while(_g < _g1.length) { var tile = _g1[_g]; ++_g; if(tile.index >= this._collideIndex) { tile.set_allowCollisions(Value); } } return flixel_tile_FlxBaseTilemap.prototype.set_allowCollisions.call(this,Value); } ,__class__: flixel_tile_FlxTilemap ,__properties__: $extend(flixel_tile_FlxBaseTilemap.prototype.__properties__,{set_blend:"set_blend",set_alpha:"set_alpha",set_color:"set_color",set_graphic:"set_graphic",set_frames:"set_frames",set_antialiasing:"set_antialiasing"}) }); var flixel_tile_FlxTilemapBuffer = function(TileWidth,TileHeight,WidthInTiles,HeightInTiles,Camera,ScaleX,ScaleY) { if(ScaleY == null) { ScaleY = 1.0; } if(ScaleX == null) { ScaleX = 1.0; } this.antialiasing = false; this.columns = 0; this.rows = 0; this.dirty = false; this.height = 0; this.width = 0; this.y = 0; this.x = 0; this.resize(TileWidth,TileHeight,WidthInTiles,HeightInTiles,Camera,ScaleX,ScaleY); }; $hxClasses["flixel.tile.FlxTilemapBuffer"] = flixel_tile_FlxTilemapBuffer; flixel_tile_FlxTilemapBuffer.__name__ = "flixel.tile.FlxTilemapBuffer"; flixel_tile_FlxTilemapBuffer.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_tile_FlxTilemapBuffer.prototype = { x: null ,y: null ,width: null ,height: null ,dirty: null ,rows: null ,columns: null ,pixelPerfectRender: null ,pixels: null ,blend: null ,antialiasing: null ,_flashRect: null ,_matrix: null ,_prevTilemapX: null ,_prevTilemapY: null ,_prevTilemapScaleX: null ,_prevTilemapScaleY: null ,_prevTilemapScrollX: null ,_prevTilemapScrollY: null ,_prevCameraScrollX: null ,_prevCameraScrollY: null ,_prevCameraScaleX: null ,_prevCameraScaleY: null ,_prevCameraWidth: null ,_prevCameraHeight: null ,resize: function(TileWidth,TileHeight,WidthInTiles,HeightInTiles,Camera,ScaleX,ScaleY) { if(ScaleY == null) { ScaleY = 1.0; } if(ScaleX == null) { ScaleX = 1.0; } this.updateColumns(TileWidth,WidthInTiles,ScaleX,Camera); this.updateRows(TileHeight,HeightInTiles,ScaleY,Camera); if(flixel_FlxG.renderBlit) { var newWidth = this.columns * TileWidth | 0; var newHeight = this.rows * TileHeight | 0; if(this.pixels == null) { this.pixels = new openfl_display_BitmapData(newWidth,newHeight,true,0); this._flashRect = new openfl_geom_Rectangle(0,0,newWidth,newHeight); this._matrix = new flixel_math_FlxMatrix(); this.dirty = true; } else if(this.pixels.width != newWidth || this.pixels.height != newHeight) { flixel_util_FlxDestroyUtil.dispose(this.pixels); this.pixels = new openfl_display_BitmapData(newWidth,newHeight,true,0); this._flashRect.setTo(0,0,newWidth,newHeight); this.dirty = true; } } } ,destroy: function() { if(flixel_FlxG.renderBlit) { this.pixels = flixel_util_FlxDestroyUtil.dispose(this.pixels); this.blend = null; this._matrix = null; this._flashRect = null; } } ,fill: function(Color) { if(Color == null) { Color = 0; } if(flixel_FlxG.renderBlit) { this.pixels.fillRect(this._flashRect,Color); } } ,draw: function(Camera,FlashPoint,ScaleX,ScaleY) { if(ScaleY == null) { ScaleY = 1.0; } if(ScaleX == null) { ScaleX = 1.0; } if(this.isPixelPerfectRender(Camera)) { FlashPoint.x = Math.floor(FlashPoint.x); FlashPoint.y = Math.floor(FlashPoint.y); } if(this.isPixelPerfectRender(Camera) && (ScaleX == 1.0 && ScaleY == 1.0) && this.blend == null) { Camera.copyPixels(null,this.pixels,this._flashRect,FlashPoint,null,null,true); } else { this._matrix.identity(); this._matrix.scale(ScaleX,ScaleY); this._matrix.translate(FlashPoint.x,FlashPoint.y); Camera.drawPixels(null,this.pixels,this._matrix,null,this.blend,this.antialiasing); } } ,colorTransform: function(Transform) { this.pixels.colorTransform(this._flashRect,Transform); } ,updateColumns: function(TileWidth,WidthInTiles,ScaleX,Camera) { if(ScaleX == null) { ScaleX = 1.0; } if(WidthInTiles < 0) { WidthInTiles = 0; } if(Camera == null) { Camera = flixel_FlxG.camera; } this.columns = Math.ceil(Camera.viewWidth / (TileWidth * ScaleX)) + 1; if(this.columns > WidthInTiles) { this.columns = WidthInTiles; } this.width = this.columns * TileWidth * ScaleX | 0; this.dirty = true; } ,updateRows: function(TileHeight,HeightInTiles,ScaleY,Camera) { if(ScaleY == null) { ScaleY = 1.0; } if(HeightInTiles < 0) { HeightInTiles = 0; } if(Camera == null) { Camera = flixel_FlxG.camera; } this.rows = Math.ceil(Camera.viewHeight / (TileHeight * ScaleY)) + 1; if(this.rows > HeightInTiles) { this.rows = HeightInTiles; } this.height = this.rows * TileHeight * ScaleY | 0; this.dirty = true; } ,isPixelPerfectRender: function(Camera) { if(Camera == null) { Camera = flixel_FlxG.camera; } if(this.pixelPerfectRender == null) { return Camera.pixelPerfectRender; } else { return this.pixelPerfectRender; } } ,isDirty: function(Tilemap,Camera) { this.dirty = this.dirty || Tilemap.x != this._prevTilemapX || Tilemap.y != this._prevTilemapY || Tilemap.scale.x != this._prevTilemapScaleX || Tilemap.scale.y != this._prevTilemapScaleY || Tilemap.scrollFactor.x != this._prevTilemapScrollX || Tilemap.scrollFactor.y != this._prevTilemapScrollY || Camera.scroll.x != this._prevCameraScrollX || Camera.scroll.y != this._prevCameraScrollY || Camera.scaleX != this._prevCameraScaleX || Camera.scaleY != this._prevCameraScaleY || Camera.width != this._prevCameraWidth || Camera.height != this._prevCameraHeight; if(this.dirty) { this._prevTilemapX = Tilemap.x; this._prevTilemapY = Tilemap.y; this._prevTilemapScaleX = Tilemap.scale.x; this._prevTilemapScaleY = Tilemap.scale.y; this._prevTilemapScrollX = Tilemap.scrollFactor.x; this._prevTilemapScrollY = Tilemap.scrollFactor.y; this._prevCameraScrollX = Camera.scroll.x; this._prevCameraScrollY = Camera.scroll.y; this._prevCameraScaleX = Camera.scaleX; this._prevCameraScaleY = Camera.scaleY; this._prevCameraWidth = Camera.width; this._prevCameraHeight = Camera.height; } return this.dirty; } ,__class__: flixel_tile_FlxTilemapBuffer }; 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.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; } } ,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._secondsSinceStart = this.duration * (Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration) + Math.max(dly - this.startDelay,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_VarTween: 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; } ,_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); } ,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); } } ,__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); } } ,__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(); 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(this._propertyInfos.length == 0) { this.initializeVars(); } 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 + "\""); } } if(Reflect.getProperty(target,field) == null) { throw new js__$Boot_HaxeError("The object does not have the property \"" + field + "\""); } var value = Reflect.getProperty(target,field); if(isNaN(value)) { throw new js__$Boot_HaxeError("The property \"" + field + "\" is not numeric."); } var targetValue = Reflect.getProperty(this._properties,fieldPath); this._propertyInfos.push({ object : target, field : field, startValue : value, range : targetValue - value}); } } ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this._object = null; this._properties = null; this._propertyInfos = null; } ,__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); } } ,__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_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.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.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.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 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_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_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 = ""; var suffix = ""; if(Bold) { prefix = "" + prefix; suffix += ""; } if(Italic) { prefix = "" + prefix; suffix += ""; } if(Underlined) { prefix = "" + prefix; suffix += ""; } 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 ? "" : 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_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_Output = function() { }; $hxClasses["haxe.io.Output"] = haxe_io_Output; haxe_io_Output.__name__ = "haxe.io.Output"; var haxe_io_BytesOutput = function() { this.b = new haxe_io_BytesBuffer(); }; $hxClasses["haxe.io.BytesOutput"] = haxe_io_BytesOutput; haxe_io_BytesOutput.__name__ = "haxe.io.BytesOutput"; haxe_io_BytesOutput.__super__ = haxe_io_Output; haxe_io_BytesOutput.prototype = $extend(haxe_io_Output.prototype,{ b: null ,writeByte: function(c) { this.b.addByte(c); } ,getBytes: function() { return this.b.getBytes(); } ,__class__: haxe_io_BytesOutput }); 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.directory = function(path) { var s = new haxe_io_Path(path); if(s.dir == null) { return ""; } return s.dir; }; haxe_io_Path.prototype = { dir: null ,file: null ,ext: null ,backslash: null ,__class__: haxe_io_Path }; var haxe_io_StringInput = function(s) { haxe_io_BytesInput.call(this,haxe_io_Bytes.ofString(s)); }; $hxClasses["haxe.io.StringInput"] = haxe_io_StringInput; haxe_io_StringInput.__name__ = "haxe.io.StringInput"; haxe_io_StringInput.__super__ = haxe_io_BytesInput; haxe_io_StringInput.prototype = $extend(haxe_io_BytesInput.prototype,{ __class__: haxe_io_StringInput }); 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_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_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 = 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 , 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 ",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(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 + ""; 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 = ""; 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(""); 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(""); 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.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; if((flags & 63473) != 0) { throw new js__$Boot_HaxeError("Unsupported flags " + flags); } 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) { crc32 = null; } 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.crc32 == null) { if(e.compressed) { 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(); } else { e.data = this.i.read(e.dataSize); } 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 ,input: null ,char: null ,ops: null ,idents: null ,uid: null ,tokens: null ,error: function(err,pmin,pmax) { throw new js__$Boot_HaxeError(err); } ,invalidChar: function(c) { 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"; } return this.parse(new haxe_io_StringInput(s),origin); } ,parse: function(s,origin) { if(origin == null) { origin = "hscript"; } this.initParser(origin); this.input = s; 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) { throw new js__$Boot_HaxeError(hscript_Error.EUnexpected(this.tokenString(tk))); } ,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) { 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) { 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); } 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); } } 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 == "-") { 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) { 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) { 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) { 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); } else { switch(tk._hx_index) { case 5: break _hx_loop1; case 9: break; default: this.unexpected(tk); } } } 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) { 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) { 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) { 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()); var next = true; while(next) { var tk3 = this.token(); if(tk3 == null) { this.unexpected(tk3); } else { switch(tk3._hx_index) { case 4: next = false; break; case 8: a.push(this.getIdent()); break; default: this.unexpected(tk3); } } } 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); } 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); } else { switch(tk5._hx_index) { case 9: break; case 14: break _hx_loop3; default: this.unexpected(tk5); } } } 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 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 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; case 7: break _hx_loop2; default: this.unexpected(tk5); } } } 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); } else if(tk._hx_index == 2) { var id = tk.s; name = id; } else { this.unexpected(tk); } 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); } } 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; 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; 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); } 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); } } } 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); } else if(tk._hx_index != 9) { if(tk == etk) { break; } this.unexpected(tk); } } return args; } ,parseModule: function(content,origin) { if(origin == null) { origin = "hscript"; } this.initParser(origin); this.input = new haxe_io_StringInput(content); 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("<"))) { 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 = []; 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)); } } } ,incPos: function() { } ,readChar: function() { try { return this.input.readByte(); } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; return 0; } } ,readString: function(until) { var c = 0; var b = new haxe_io_BytesOutput(); var esc = false; var old = this.line; var s = this.input; while(true) { try { c = s.readByte(); } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; this.line = old; throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedString); } if(esc) { esc = false; switch(c) { case 34:case 39:case 92: b.writeByte(c); break; case 47: if(this.allowJSON) { b.writeByte(c); } else { this.invalidChar(c); } break; case 110: b.writeByte(10); break; case 114: b.writeByte(13); break; case 116: b.writeByte(9); break; case 117: if(!this.allowJSON) { this.invalidChar(c); } var code = null; try { code = s.readString(4); } catch( e2 ) { haxe_CallStack.lastException = e2; var e3 = ((e2) instanceof js__$Boot_HaxeError) ? e2.val : e2; this.line = old; throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedString); } var k = 0; k <<= 4; var char = HxOverrides.cca(code,0); if(char == null) { this.invalidChar(char); } else { 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: this.invalidChar(char); } } k <<= 4; var char1 = HxOverrides.cca(code,1); if(char1 == null) { this.invalidChar(char1); } else { switch(char1) { case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: k += char1 - 48; break; case 65:case 66:case 67:case 68:case 69:case 70: k += char1 - 55; break; case 97:case 98:case 99:case 100:case 101:case 102: k += char1 - 87; break; default: this.invalidChar(char1); } } k <<= 4; var char2 = HxOverrides.cca(code,2); if(char2 == null) { this.invalidChar(char2); } else { switch(char2) { case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: k += char2 - 48; break; case 65:case 66:case 67:case 68:case 69:case 70: k += char2 - 55; break; case 97:case 98:case 99:case 100:case 101:case 102: k += char2 - 87; break; default: this.invalidChar(char2); } } k <<= 4; var char3 = HxOverrides.cca(code,3); if(char3 == null) { this.invalidChar(char3); } else { switch(char3) { case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: k += char3 - 48; break; case 65:case 66:case 67:case 68:case 69:case 70: k += char3 - 55; break; case 97:case 98:case 99:case 100:case 101:case 102: k += char3 - 87; break; default: this.invalidChar(char3); } } if(k <= 127) { b.writeByte(k); } else if(k <= 2047) { b.writeByte(192 | k >> 6); b.writeByte(128 | k & 63); } else { b.writeByte(224 | k >> 12); b.writeByte(128 | k >> 6 & 63); b.writeByte(128 | k & 63); } break; default: this.invalidChar(c); } } else if(c == 92) { esc = true; } else if(c == until) { break; } else { if(c == 10) { this.line++; } b.writeByte(c); } } return b.getBytes().toString(); } ,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.readChar(); } else { char = this.char; this.char = -1; } while(true) { switch(char) { case 0: return hscript_Token.TEof; case 10: this.line++; break; case 9:case 13:case 32: break; case 35: char = this.readChar(); if(this.idents[char]) { var id = String.fromCodePoint(char); while(true) { char = this.readChar(); 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.readChar(); switch(char) { case 46: char = this.readChar(); 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.readChar(); 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.readChar(); exp1 *= 10; switch(char) { case 46: if(exp1 > 0) { if(exp1 == 10 && this.readChar() == 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.readChar(); 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.readChar(); 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.readChar(); if(this.idents[char] || char == 58) { var id1 = String.fromCodePoint(char); while(true) { char = this.readChar(); 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.readChar(); 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.readChar(); if(!this.idents[char]) { this.char = char; return hscript_Token.TId(id2); } id2 += String.fromCodePoint(char); } } this.invalidChar(char); } char = this.readChar(); } } ,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: throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Can't eval " + $hxEnums[e.__enum__].__constructs__[e._hx_index])); } break; case 7: var _g1 = e.prefix; if(e.op == "!") { var e3 = e.e; return !this.evalPreproCond(e3); } else { throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Can't eval " + $hxEnums[e.__enum__].__constructs__[e._hx_index])); } break; default: throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Can't eval " + $hxEnums[e.__enum__].__constructs__[e._hx_index])); } } ,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 = 0; while(true) { var tk = this.token(); if(tk == hscript_Token.TEof) { 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) { try { while(char != 13 && char != 10) char = s.readByte(); this.char = char; } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; } return this.token(); } if(c == 42) { var old = this.line; if(op == "/**/") { this.char = char; return this.token(); } try { while(true) { while(char != 42) { if(char == 10) { this.line++; } char = s.readByte(); } char = s.readByte(); if(char == 47) { break; } } } catch( e2 ) { haxe_CallStack.lastException = e2; var e3 = ((e2) instanceof js__$Boot_HaxeError) ? e2.val : e2; this.line = old; throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedComment); } 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 ""; 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) { this._core.logError(new io_newgrounds_objects_Error("cannot send \"" + this.component + "\" call without a sessionId"),{ fileName : "source/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 : "source/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 : "source/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 : "source/io/newgrounds/Call.hx", lineNumber : 180, className : "io.newgrounds.Call", methodName : "onData"}); } if(this._dataHandlers == null && this._successHandlers == null) { return; } var response = new io_newgrounds_objects_events_Response(this._core,reply); if(this._dataHandlers != null) { this._dataHandlers.dispatch(response); } if(response.success && response.result.success && this._successHandlers != null) { this._successHandlers.dispatch(); } this.destroy(); } ,onHttpError: function(message) { this._core.logError(message,{ fileName : "source/io/newgrounds/Call.hx", lineNumber : 198, className : "io.newgrounds.Call", methodName : "onHttpError"}); if(this._httpErrorHandlers == null) { return; } var error = new io_newgrounds_objects_Error(message); 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,onSessionFail) { if(appId == null) { appId = "test"; } this._pendingCalls = []; this._queuedCalls = []; this.appId = appId; this.set_sessionId(sessionId); 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,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 : "source/io/newgrounds/NGLite.hx", lineNumber : 191, 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.success || response.result.data.session.expired) { this.initialSessionFail(onFail,response.success ? response.result.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,onSessionFail) { if(appId == null) { appId = "test"; } this._session = new io_newgrounds_objects_Session(this); 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,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,onSessionFail) { if(appId == null) { appId = "test"; } io_newgrounds_NG.core = new io_newgrounds_NG(appId,sessionId,onSessionFail); io_newgrounds_NG.onCoreReady.dispatch(); }; io_newgrounds_NG.createAndCheckSession = function(appId,backupSession,onSessionFail) { if(appId == null) { appId = "test"; } var session = io_newgrounds_NGLite.getSessionId(); if(session == null) { session = backupSession; } io_newgrounds_NG.create(appId,session,onSessionFail); io_newgrounds_NG.core.host = io_newgrounds_NG.getHost(); 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 ""; } if(url.indexOf("file") == 0) { return ""; } if(io_newgrounds_NG.urlParser.match(url)) { return io_newgrounds_NG.urlParser.matched(1); } return ""; }; 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 || this._session.get_status() != "request-login") { return null; } return this._session.passportUrl; } ,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 : "source/io/newgrounds/NG.hx", lineNumber : 149, className : "io.newgrounds.NG", methodName : "requestLogin"}); return; } if(this.loggedIn) { this.logError("cannot log in, already logged in",{ fileName : "source/io/newgrounds/NG.hx", lineNumber : 155, 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.success) { this.set_sessionId(null); this.endLoginAndCall(null); if(onFail != null) { onFail(!response.success ? response.error : response.result.error); } return; } this._session.parse(response.result.data.session); this.set_sessionId(this._session.id); var any = "session started - status: " + this._session.get_status(); if(this.verbose) { this.log(any,{ fileName : "source/io/newgrounds/NG.hx", lineNumber : 194, className : "io.newgrounds.NG", methodName : "onSessionReceive"}); } if(this._session.get_status() == "request-login") { var f = $bind(this,this.checkSession); var response1 = null; var onSucceess = onSuccess; var onCancel1 = onCancel; this._passportCallback = function() { f(response1,onSucceess,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 : "source/io/newgrounds/NG.hx", lineNumber : 216, className : "io.newgrounds.NG", methodName : "openPassportUrl"}); } io_newgrounds_NG.openPassportHelper(this.get_passportUrl()); this.onPassportUrlOpen(); } else { this.logError("Cannot open passport",{ fileName : "source/io/newgrounds/NG.hx", lineNumber : 221, className : "io.newgrounds.NG", methodName : "openPassportUrl"}); } } ,onPassportUrlOpen: function() { if(this._passportCallback != null) { this._passportCallback(); } this._passportCallback = null; } ,checkSession: function(response,onSucceess,onCancel) { var _gthis = this; if(response != null) { if(!response.success || !response.result.success) { this.log("login cancelled via passport",{ fileName : "source/io/newgrounds/NG.hx", lineNumber : 268, className : "io.newgrounds.NG", methodName : "checkSession"}); this.endLoginAndCall(onCancel); return; } this._session.parse(response.result.data.session); } if(this._session.get_status() == "user-loaded") { this.loggedIn = true; this.endLoginAndCall(onSucceess); this.onLogin.dispatch(); } else if(this._session.get_status() == "request-login") { var f = $bind(this,this.checkSession); var onSucceess1 = onSucceess; var onCancel1 = onCancel; var call = function(response1) { f(response1,onSucceess1,onCancel1); }; var call1 = this.calls.app.checkSession().addDataHandler(call); this.timer(3.0,function() { if(!_gthis._loginCancelled) { call1.send(); } else { _gthis.log("login cancelled via cancelLoginRequest",{ fileName : "source/io/newgrounds/NG.hx", lineNumber : 297, className : "io.newgrounds.NG", methodName : "checkSession"}); _gthis.endLoginAndCall(onCancel); } }); } else { this.endLoginAndCall(onCancel); } } ,cancelLoginRequest: function() { if(this.attemptingLogin) { this._loginCancelled = true; } } ,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.expire(); 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.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.id] = medal; idList.push(medal.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 : "source/io/newgrounds/NG.hx", lineNumber : 386, 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 : "source/io/newgrounds/NG.hx", lineNumber : 399, 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.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.id] = board; idList.push(board.id); } } var any = "" + response.result.data.scoreboards.length + " ScoreBoards received [" + idList.join(", ") + "]"; if(this.verbose) { this.log(any,{ fileName : "source/io/newgrounds/NG.hx", lineNumber : 438, 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 : "source/io/newgrounds/components/ScoreBoardComponent.hx", lineNumber : 93, className : "io.newgrounds.components.ScoreBoardComponent", methodName : "createBoard"}); } this.allById.h[board.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 = function(message,code) { if(code == null) { code = 0; } this.message = message; this.code = code; }; $hxClasses["io.newgrounds.objects.Error"] = io_newgrounds_objects_Error; io_newgrounds_objects_Error.__name__ = "io.newgrounds.objects.Error"; io_newgrounds_objects_Error.prototype = { code: null ,message: null ,toString: function() { if(this.code > 0) { return "#" + this.code + " - " + this.message; } return this.message; } ,__class__: io_newgrounds_objects_Error }; 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 ,onUpdate: null ,parse: function(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,{ id: null ,name: null ,description: null ,icon: null ,value: null ,difficulty: null ,secret: null ,unlocked: null ,onUnlock: null ,parse: function(data) { var wasLocked = !this.unlocked; this.id = data.id; this.name = data.name; this.description = data.description; this.icon = data.icon; this.value = data.value; this.difficulty = data.difficulty; this.secret = data.secret == 1; this.unlocked = data.unlocked; io_newgrounds_objects_Object.prototype.parse.call(this,data); if(wasLocked && this.unlocked) { this.onUnlock.dispatch(); } } ,sendUnlock: function() { if(this._core.sessionId == null) { this.unlocked = true; this.onUnlock.dispatch(); } this._core.calls.medal.unlock(this.id).addDataHandler($bind(this,this.onUnlockResponse)).send(); } ,onUnlockResponse: function(response) { if(response.success && response.result.success) { this.parse(response.result.data.medal); if(!this.unlocked) { this.unlocked = true; this.onUnlock.dispatch(); } } } ,sendDebugUnlock: function() { if(io_newgrounds_NG.core.sessionId == null) { this.onUnlock.dispatch(); } else { this.unlocked = false; this.sendUnlock(); } } ,get_difficultyName: function() { return io_newgrounds_objects_Medal.difficultyNames[this.difficulty - 1]; } ,toString: function() { return "Medal: " + this.id + "@" + this.name + " (" + (this.unlocked ? "unlocked" : "locked") + ", " + this.value + " pts, " + this.get_difficultyName() + ")."; } ,__class__: io_newgrounds_objects_Medal ,__properties__: {get_difficultyName:"get_difficultyName"} }); 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 ,id: null ,name: null ,parse: function(data) { this.id = data.id; this.name = data.name; io_newgrounds_objects_Object.prototype.parse.call(this,data); } ,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.id,limit,skip,period,social,tag,user).addDataHandler($bind(this,this.onScoresReceived)).send(); } ,onScoresReceived: function(response) { if(!response.success || !response.result.success) { return; } this.scores = response.result.data.scores; var _this = this._core; if(_this.verbose) { _this.log("received " + this.scores.length + " scores",{ fileName : "source/io/newgrounds/objects/ScoreBoard.hx", lineNumber : 54, className : "io.newgrounds.objects.ScoreBoard", methodName : "onScoresReceived"}); } this.onUpdate.dispatch(); } ,postScore: function(value,tag) { this._core.calls.scoreBoard.postScore(this.id,value,tag).addDataHandler($bind(this,this.onScorePosted)).send(); } ,onScorePosted: function(response) { } ,toString: function() { return "ScoreBoard: " + this.id + "@" + this.name; } ,__class__: io_newgrounds_objects_ScoreBoard }); var io_newgrounds_objects_Session = function(core,data) { io_newgrounds_objects_Object.call(this,core,data); }; $hxClasses["io.newgrounds.objects.Session"] = io_newgrounds_objects_Session; io_newgrounds_objects_Session.__name__ = "io.newgrounds.objects.Session"; io_newgrounds_objects_Session.__super__ = io_newgrounds_objects_Object; io_newgrounds_objects_Session.prototype = $extend(io_newgrounds_objects_Object.prototype,{ expired: null ,id: null ,passportUrl: null ,remember: null ,user: null ,parse: function(data) { this.id = data.id; this.expired = data.expired; this.passportUrl = data.passport_url; this.remember = data.remember; if(this.user == null) { this.user = data.user; } io_newgrounds_objects_Object.prototype.parse.call(this,data); } ,get_status: function() { if(this.expired || this.id == null || this.id == "") { return "session-expired"; } if(this.user != null && this.user.name != null && this.user.name != "") { return "user-loaded"; } return "request-login"; } ,expire: function() { this.expired = true; this.id = null; this.user = null; } ,__class__: io_newgrounds_objects_Session ,__properties__: {get_status:"get_status"} }); var io_newgrounds_objects_events_Response = function(core,reply) { var data; try { data = JSON.parse(reply); } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; data = JSON.parse("{\"success\":false,\"error\":{\"message\":\"" + (reply == null ? "null" : "" + reply) + "\",\"code\":0}}"); } this.success = data.success; this.debug = data.debug; if(!this.success) { this.error = new io_newgrounds_objects_Error(data.error.message,data.error.code); core.logError("Call unseccessful: " + Std.string(this.error),{ fileName : "source/io/newgrounds/objects/events/Response.hx", lineNumber : 37, className : "io.newgrounds.objects.events.Response", methodName : "new"}); return; } this.result = new io_newgrounds_objects_events_Result(core,data.result); }; $hxClasses["io.newgrounds.objects.events.Response"] = io_newgrounds_objects_events_Response; io_newgrounds_objects_events_Response.__name__ = "io.newgrounds.objects.events.Response"; io_newgrounds_objects_events_Response.prototype = { success: null ,error: null ,debug: null ,result: null ,__class__: io_newgrounds_objects_events_Response }; var io_newgrounds_objects_events_Result = function(core,data) { this.echo = data.echo; this.component = data.component; data = data.data; this.success = data.success; this.debug = data.debug; if(!data.success) { this.error = new io_newgrounds_objects_Error(data.error.message,data.error.code); core.logError("" + this.component + " fail: " + Std.string(this.error),{ fileName : "source/io/newgrounds/objects/events/Result.hx", lineNumber : 25, className : "io.newgrounds.objects.events.Result", methodName : "new"}); } else { this.data = data; } }; $hxClasses["io.newgrounds.objects.events.Result"] = io_newgrounds_objects_events_Result; io_newgrounds_objects_events_Result.__name__ = "io.newgrounds.objects.events.Result"; io_newgrounds_objects_events_Result.prototype = { echo: null ,component: null ,data: null ,success: null ,debug: null ,error: null ,__class__: io_newgrounds_objects_events_Result }; 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 : "source/io/newgrounds/utils/AsyncHttp.hx", lineNumber : 33, 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_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); } } ,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.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.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.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}; 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(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) { var inputEnabled = this.textInputEnabled; this.setTextInputEnabled(true); var cacheText = lime__$internal_backend_html5_HTML5Window.textInput.value; lime__$internal_backend_html5_HTML5Window.textInput.value = value; lime__$internal_backend_html5_HTML5Window.textInput.select(); if(window.document.queryCommandEnabled("copy")) { window.document.execCommand("copy"); } lime__$internal_backend_html5_HTML5Window.textInput.value = cacheText; this.setTextInputEnabled(inputEnabled); } ,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.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.blur(); } return this.textInputEnabled = value; } ,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; var mapPixel; var targetPixel; var mapPixelX; var mapPixelY; var mapPixelA; var s1; var s2; var s3; var s4; 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 this1 = 0; var result = this1; 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; 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; var destPixel; 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; var destPixel; 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; 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; 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; 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; 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; 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; var bgra; var pixel; 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; var destPixel; 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; 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; var destPixel; 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; 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); } } ,__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 : 210, 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_$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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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); } } ,__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_$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); } } ,__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__$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 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(this1 != null) { this2 = new Float32Array(this1); } 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 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(this1 != null) { this2 = new Float32Array(this1); } 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_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_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 = 760801; }; $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.defaultRootPath = null; 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 : 134, 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 : 139, className : "lime.utils.Assets", methodName : "getAsset"}); } } else { lime_utils_Log.error(lime_utils_Assets.__libraryNotFound(symbol_libraryName),{ fileName : "lime/utils/Assets.hx", lineNumber : 144, 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 : 225, className : "lime.utils.Assets", methodName : "getPath"}); } } else { lime_utils_Log.error(lime_utils_Assets.__libraryNotFound(symbol_libraryName),{ fileName : "lime/utils/Assets.hx", lineNumber : 230, 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 = (lime_utils_Assets.defaultRootPath != "" ? lime_utils_Assets.defaultRootPath + "/" : "") + haxe_io_Path.directory(path); } else { if(StringTools.endsWith(path,".bundle")) { rootPath = path; path += "/library.json"; } rootPath = (lime_utils_Assets.defaultRootPath != "" ? lime_utils_Assets.defaultRootPath + "/" : "") + 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) { 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_$.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_$.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_$.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_$.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_$.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) { console.log("[" + info.className + "] " + Std.string(message)); } }; 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__$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_$.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_$.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_$.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_$.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 : 557, className : "openfl.Lib", methodName : "trace"}); }; openfl_Lib.get_application = function() { return openfl__$internal_Lib.application; }; openfl_Lib.get_current = function() { if(openfl__$internal_Lib.current == null) { openfl__$internal_Lib.current = new openfl_display_MovieClip(); } return openfl__$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__$internal_Lib = function() { }; $hxClasses["openfl._internal.Lib"] = openfl__$internal_Lib; openfl__$internal_Lib.__name__ = "openfl._internal.Lib"; openfl__$internal_Lib.application = null; openfl__$internal_Lib.current = null; openfl__$internal_Lib.notImplemented = function(posInfo) { var api = posInfo.className + "." + posInfo.methodName; var _this = openfl__$internal_Lib.__sentWarnings; if(!(__map_reserved[api] != null ? _this.existsReserved(api) : _this.h.hasOwnProperty(api))) { var _this1 = openfl__$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__$internal_formats_agal_AGALConverter = function() { }; $hxClasses["openfl._internal.formats.agal.AGALConverter"] = openfl__$internal_formats_agal_AGALConverter; openfl__$internal_formats_agal_AGALConverter.__name__ = "openfl._internal.formats.agal.AGALConverter"; openfl__$internal_formats_agal_AGALConverter.prefixFromType = function(regType,programType) { switch(regType) { case 0: return "va"; case 1: if(programType == openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX) { return "vc"; } else { return "fc"; } break; case 2: if(programType == openfl__$internal_formats_agal__$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__$internal_formats_agal_AGALConverter.readUInt64 = function(byteArray) { var low = byteArray.readInt(); var high = byteArray.readInt(); var this1 = new haxe__$Int64__$_$_$Int64(high,low); return this1; }; openfl__$internal_formats_agal_AGALConverter.convertToGLSL = function(program,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__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX : openfl__$internal_formats_agal__$AGALConverter_ProgramType.FRAGMENT; var map = new openfl__$internal_formats_agal_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__$internal_formats_agal_AGALConverter.readUInt64(agal); var source2 = openfl__$internal_formats_agal_AGALConverter.readUInt64(agal); var dr = openfl__$internal_formats_agal__$AGALConverter_DestRegister.parse(dest,programType); var sr1 = openfl__$internal_formats_agal__$AGALConverter_SourceRegister.parse(source1,programType,dr.mask); var sr2 = openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 1: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " + " + sr2.toGLSL() + "; // add"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 2: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " - " + sr2.toGLSL() + "; // sub"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 3: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL() + "; // mul"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 4: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " / " + sr2.toGLSL() + "; // div"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 6: sb_b += Std.string(dr.toGLSL() + " = min(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // min"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 7: sb_b += Std.string(dr.toGLSL() + " = max(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // max"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 8: sb_b += Std.string(dr.toGLSL() + " = fract(" + sr1.toGLSL() + "); // frc"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 9: sb_b += Std.string(dr.toGLSL() + " = sqrt(" + sr1.toGLSL() + "); // sqrt"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 10: sb_b += Std.string(dr.toGLSL() + " = inversesqrt(" + sr1.toGLSL() + "); // rsq"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 11: sb_b += Std.string(dr.toGLSL() + " = pow(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // pow"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 12: sb_b += Std.string(dr.toGLSL() + " = log2(" + sr1.toGLSL() + "); // log"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 13: sb_b += Std.string(dr.toGLSL() + " = exp2(" + sr1.toGLSL() + "); // exp"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 14: sb_b += Std.string(dr.toGLSL() + " = normalize(" + sr1.toGLSL() + "); // normalize"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 15: sb_b += Std.string(dr.toGLSL() + " = sin(" + sr1.toGLSL() + "); // sin"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 16: sb_b += Std.string(dr.toGLSL() + " = cos(" + sr1.toGLSL() + "); // cos"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 20: sb_b += Std.string(dr.toGLSL() + " = abs(" + sr1.toGLSL() + "); // abs"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 21: sb_b += Std.string(dr.toGLSL() + " = -" + sr1.toGLSL() + "; // neg"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 23: var existingUsage = map.getRegisterUsage(sr2); if(existingUsage != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * mat3(" + sr2.toGLSL(false) + "); // m33"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,0); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,1); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,2); } break; case 24: var existingUsage1 = map.getRegisterUsage(sr2); if(existingUsage1 != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage1 != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL(false) + "; // m44"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,0); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,1); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,2); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,3); } break; case 25: dr.mask &= 7; var existingUsage2 = map.getRegisterUsage(sr2); if(existingUsage2 != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage2 != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL(false) + "; // m34"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,0); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,1); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 40: var sampler = openfl__$internal_formats_agal__$AGALConverter_SamplerRegister.parse(source2,programType); switch(sampler.d) { case 0: if(sampler.t == 2) { sr1.sourceMask = 3; map.addSaR(sampler,openfl__$internal_formats_agal__$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__$internal_formats_agal__$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__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE); } break; } map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Opcode " + opcode)); } sb_b += "\n"; } if(openfl__$internal_formats_agal_AGALConverter.limitedProfile == null) { var gl = program.__context.gl; var version1 = gl.getParameter(7938); openfl__$internal_formats_agal_AGALConverter.limitedProfile = version1.indexOf("OpenGL ES") > -1 || version1.indexOf("WebGL") > -1; } var glsl_b = ""; glsl_b += Std.string("// AGAL " + (programType == openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX ? "vertex" : "fragment") + " shader\n"); if(openfl__$internal_formats_agal_AGALConverter.limitedProfile) { glsl_b += "#version 100\n"; glsl_b += "precision highp float;\n"; } else { glsl_b += "#version 120\n"; } glsl_b += Std.string(map.toGLSL(false)); if(programType == openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX) { glsl_b += "\tgl_Position *= vcPositionScale;\n"; } glsl_b += "}\n"; return glsl_b; }; var openfl__$internal_formats_agal__$AGALConverter_DestRegister = function() { }; $hxClasses["openfl._internal.formats.agal._AGALConverter.DestRegister"] = openfl__$internal_formats_agal__$AGALConverter_DestRegister; openfl__$internal_formats_agal__$AGALConverter_DestRegister.__name__ = "openfl._internal.formats.agal._AGALConverter.DestRegister"; openfl__$internal_formats_agal__$AGALConverter_DestRegister.parse = function(v,programType) { var dr = new openfl__$internal_formats_agal__$AGALConverter_DestRegister(); dr.programType = programType; dr.type = v >>> 24 & 15; dr.mask = v >>> 16 & 15; dr.n = v & 65535; return dr; }; openfl__$internal_formats_agal__$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__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX ? "gl_Position" : "gl_FragColor"; } else { str = openfl__$internal_formats_agal_AGALConverter.prefixFromType(this.type,this.programType) + this.n; } if(useMask && this.mask != 15) { str += this.getWriteMask(); } return str; } ,__class__: openfl__$internal_formats_agal__$AGALConverter_DestRegister }; var openfl__$internal_formats_agal__$AGALConverter_ProgramType = $hxEnums["openfl._internal.formats.agal._AGALConverter.ProgramType"] = { __ename__ : "openfl._internal.formats.agal._AGALConverter.ProgramType", __constructs__ : ["VERTEX","FRAGMENT"] ,VERTEX: {_hx_index:0,__enum__:"openfl._internal.formats.agal._AGALConverter.ProgramType",toString:$estr} ,FRAGMENT: {_hx_index:1,__enum__:"openfl._internal.formats.agal._AGALConverter.ProgramType",toString:$estr} }; var openfl__$internal_formats_agal_RegisterMap = function() { this.mEntries = []; }; $hxClasses["openfl._internal.formats.agal.RegisterMap"] = openfl__$internal_formats_agal_RegisterMap; openfl__$internal_formats_agal_RegisterMap.__name__ = "openfl._internal.formats.agal.RegisterMap"; openfl__$internal_formats_agal_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__$internal_formats_agal__$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__$internal_formats_agal_AGALConverter.prefixFromType(sr.itype,sr.programType) + sr.n,sr.n,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); this.add(sr.type,openfl__$internal_formats_agal_AGALConverter.prefixFromType(sr.type,sr.programType) + sr.o,sr.o,openfl__$internal_formats_agal__$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__$internal_formats_agal__$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__$internal_formats_agal__$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/_internal/formats/agal/AGALConverter.hx", lineNumber : 750, className : "openfl._internal.formats.agal.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__$internal_formats_agal__$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__$internal_formats_agal__$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__$internal_formats_agal__$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__$internal_formats_agal_RegisterMap }; var openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry = function() { }; $hxClasses["openfl._internal.formats.agal._AGALConverter.RegisterMapEntry"] = openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry; openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry.__name__ = "openfl._internal.formats.agal._AGALConverter.RegisterMapEntry"; openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry.prototype = { name: null ,number: null ,type: null ,usage: null ,__class__: openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry }; var openfl__$internal_formats_agal__$AGALConverter_RegisterUsage = $hxEnums["openfl._internal.formats.agal._AGALConverter.RegisterUsage"] = { __ename__ : "openfl._internal.formats.agal._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._internal.formats.agal._AGALConverter.RegisterUsage",toString:$estr} ,VECTOR_4: {_hx_index:1,__enum__:"openfl._internal.formats.agal._AGALConverter.RegisterUsage",toString:$estr} ,MATRIX_4_4: {_hx_index:2,__enum__:"openfl._internal.formats.agal._AGALConverter.RegisterUsage",toString:$estr} ,SAMPLER_2D: {_hx_index:3,__enum__:"openfl._internal.formats.agal._AGALConverter.RegisterUsage",toString:$estr} ,SAMPLER_2D_ALPHA: {_hx_index:4,__enum__:"openfl._internal.formats.agal._AGALConverter.RegisterUsage",toString:$estr} ,SAMPLER_CUBE: {_hx_index:5,__enum__:"openfl._internal.formats.agal._AGALConverter.RegisterUsage",toString:$estr} ,SAMPLER_CUBE_ALPHA: {_hx_index:6,__enum__:"openfl._internal.formats.agal._AGALConverter.RegisterUsage",toString:$estr} ,VECTOR_4_ARRAY: {_hx_index:7,__enum__:"openfl._internal.formats.agal._AGALConverter.RegisterUsage",toString:$estr} }; var openfl__$internal_formats_agal__$AGALConverter_SamplerRegister = function() { }; $hxClasses["openfl._internal.formats.agal._AGALConverter.SamplerRegister"] = openfl__$internal_formats_agal__$AGALConverter_SamplerRegister; openfl__$internal_formats_agal__$AGALConverter_SamplerRegister.__name__ = "openfl._internal.formats.agal._AGALConverter.SamplerRegister"; openfl__$internal_formats_agal__$AGALConverter_SamplerRegister.parse = function(v,programType) { var sr = new openfl__$internal_formats_agal__$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__$internal_formats_agal__$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__$internal_formats_agal_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__$internal_renderer_SamplerState(wrap,filter,mipfilter,lodBias,ignoreSampler,centroid,textureAlpha); } ,__class__: openfl__$internal_formats_agal__$AGALConverter_SamplerRegister }; var openfl__$internal_formats_agal__$AGALConverter_SourceRegister = function() { }; $hxClasses["openfl._internal.formats.agal._AGALConverter.SourceRegister"] = openfl__$internal_formats_agal__$AGALConverter_SourceRegister; openfl__$internal_formats_agal__$AGALConverter_SourceRegister.__name__ = "openfl._internal.formats.agal._AGALConverter.SourceRegister"; openfl__$internal_formats_agal__$AGALConverter_SourceRegister.parse = function(v,programType,sourceMask) { var sr = new openfl__$internal_formats_agal__$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__$internal_formats_agal__$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__$internal_formats_agal__$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__$internal_formats_agal_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__$internal_formats_agal_AGALConverter.prefixFromType(this.itype,this.programType) + this.n + "." + indexComponent; str += "[ int(" + indexRegister + ") +" + offset + "]"; } if(emitSwizzle && swizzle != "") { str += "." + swizzle; } return str; } ,__class__: openfl__$internal_formats_agal__$AGALConverter_SourceRegister }; var openfl__$internal_formats_atf_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._internal.formats.atf.ATFReader"] = openfl__$internal_formats_atf_ATFReader; openfl__$internal_formats_atf_ATFReader.__name__ = "openfl._internal.formats.atf.ATFReader"; openfl__$internal_formats_atf_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/_internal/formats/atf/ATFReader.hx", lineNumber : 96, className : "openfl._internal.formats.atf.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__$internal_formats_atf_ATFReader }; var openfl__$internal_formats_html_HTMLParser = function() { }; $hxClasses["openfl._internal.formats.html.HTMLParser"] = openfl__$internal_formats_html_HTMLParser; openfl__$internal_formats_html_HTMLParser.__name__ = "openfl._internal.formats.html.HTMLParser"; openfl__$internal_formats_html_HTMLParser.parse = function(value,textFormat,textFormatRanges) { value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexBreakTag.r,"\n"); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[0].r,"\""); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[1].r,"'"); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[2].r,"&"); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[5].r," "); var segments = value.split("<"); if(segments.length == 1) { value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexHTMLTag.r,""); if(textFormatRanges.get_length() > 1) { textFormatRanges.splice(1,textFormatRanges.get_length() - 1); } value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[3].r,"<"); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[4].r,">"); 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 _g = 0; var _g1 = segments.length; while(_g < _g1) { var i = _g++; segment = segments[i]; segment = segment.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[3].r,"<"); segment = segment.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[4].r,">"); segments[i] = segment; } var formatStack = [textFormat.clone()]; var tagStack = []; var sub; var noLineBreak = false; var _g2 = 0; while(_g2 < segments.length) { var segment1 = segments[_g2]; ++_g2; 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/_internal/formats/html/HTMLParser.hx", lineNumber : 97, className : "openfl._internal.formats.html.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; var tmp = textFormatRanges.get(textFormatRanges.get_length() - 1); tmp.end++; } if(start < segment1.length) { sub = HxOverrides.substr(segment1,start,null); textFormatRanges.push(new openfl__$internal_text_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__$internal_formats_html_HTMLParser.__regexHref.match(segment1)) { format.url = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexHref); } break; case "b": format.bold = true; break; case "em":case "i": format.italic = true; break; case "font": if(openfl__$internal_formats_html_HTMLParser.__regexFace.match(segment1)) { format.font = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexFace); } if(openfl__$internal_formats_html_HTMLParser.__regexColor.match(segment1)) { format.color = Std.parseInt("0x" + openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexColor)); } if(openfl__$internal_formats_html_HTMLParser.__regexSize.match(segment1)) { var sizeAttr = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_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__$internal_formats_html_HTMLParser.__regexAlign.match(segment1)) { var align = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexAlign).toLowerCase(); format.align = openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.fromString(align); } break; case "textformat": if(openfl__$internal_formats_html_HTMLParser.__regexBlockIndent.match(segment1)) { format.blockIndent = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexBlockIndent)); } if(openfl__$internal_formats_html_HTMLParser.__regexIndent.match(segment1)) { format.indent = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexIndent)); } if(openfl__$internal_formats_html_HTMLParser.__regexLeading.match(segment1)) { format.leading = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexLeading)); } if(openfl__$internal_formats_html_HTMLParser.__regexLeftMargin.match(segment1)) { format.leftMargin = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexLeftMargin)); } if(openfl__$internal_formats_html_HTMLParser.__regexRightMargin.match(segment1)) { format.rightMargin = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexRightMargin)); } if(openfl__$internal_formats_html_HTMLParser.__regexTabStops.match(segment1)) { var values = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexTabStops).split(" "); var tabStops = []; var _g21 = 0; while(_g21 < values.length) { var stop = values[_g21]; ++_g21; 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 = segment1.substring(start); textFormatRanges.push(new openfl__$internal_text_TextFormatRange(format,value.length,value.length + sub.length)); value += sub; noLineBreak = false; } } else { textFormatRanges.push(new openfl__$internal_text_TextFormatRange(format,value.length,value.length + segment1.length)); value += segment1; noLineBreak = false; } } } if(textFormatRanges.get_length() == 0) { textFormatRanges.push(new openfl__$internal_text_TextFormatRange(formatStack[0],0,0)); } } return value; }; openfl__$internal_formats_html_HTMLParser.__getAttributeMatch = function(regex) { if(regex.matched(2) != null) { return regex.matched(2); } else { return regex.matched(3); } }; var openfl__$internal_renderer_DrawCommandBuffer = function() { if(openfl__$internal_renderer_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._internal.renderer.DrawCommandBuffer"] = openfl__$internal_renderer_DrawCommandBuffer; openfl__$internal_renderer_DrawCommandBuffer.__name__ = "openfl._internal.renderer.DrawCommandBuffer"; openfl__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL); this.o.push(shaderBuffer); } ,clear: function() { this.types = openfl__$internal_renderer_DrawCommandBuffer.empty.types; this.b = openfl__$internal_renderer_DrawCommandBuffer.empty.b; this.i = openfl__$internal_renderer_DrawCommandBuffer.empty.i; this.f = openfl__$internal_renderer_DrawCommandBuffer.empty.f; this.o = openfl__$internal_renderer_DrawCommandBuffer.empty.o; this.ff = openfl__$internal_renderer_DrawCommandBuffer.empty.ff; this.ii = openfl__$internal_renderer_DrawCommandBuffer.empty.ii; this.copyOnWrite = true; } ,copy: function() { var copy = new openfl__$internal_renderer_DrawCommandBuffer(); copy.append(this); return copy; } ,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_DrawCommandType.END_FILL); } ,lineBitmapStyle: function(bitmap,matrix,repeat,smooth) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_DrawCommandType.LINE_TO); this.f.push(x); this.f.push(y); } ,moveTo: function(x,y) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_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__$internal_renderer_DrawCommandType.OVERRIDE_BLEND_MODE); this.o.push(blendMode); } ,overrideMatrix: function(matrix) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.OVERRIDE_MATRIX); this.o.push(matrix); } ,windingEvenOdd: function() { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.WINDING_EVEN_ODD); } ,windingNonZero: function() { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.WINDING_NON_ZERO); } ,get_length: function() { return this.types.length; } ,__class__: openfl__$internal_renderer_DrawCommandBuffer ,__properties__: {get_length:"get_length"} }; var openfl__$internal_renderer_DrawCommandReader = function(buffer) { this.buffer = buffer; this.bPos = this.iPos = this.fPos = this.oPos = this.ffPos = this.iiPos = this.tsPos = 0; this.prev = openfl__$internal_renderer_DrawCommandType.UNKNOWN; }; $hxClasses["openfl._internal.renderer.DrawCommandReader"] = openfl__$internal_renderer_DrawCommandReader; openfl__$internal_renderer_DrawCommandReader.__name__ = "openfl._internal.renderer.DrawCommandReader"; openfl__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_DrawCommandReader }; var openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.BeginBitmapFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.BeginBitmapFillView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.__properties__ = {get_smooth:"get_smooth",get_repeat:"get_repeat",get_matrix:"get_matrix",get_bitmap:"get_bitmap"}; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_bitmap = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_repeat = function(this1) { return this1.buffer.b[this1.bPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_smooth = function(this1) { return this1.buffer.b[this1.bPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.BeginFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.BeginFillView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$.__properties__ = {get_alpha:"get_alpha",get_color:"get_color"}; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$.get_color = function(this1) { return this1.buffer.i[this1.iPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$.get_alpha = function(this1) { return this1.buffer.f[this1.fPos]; }; var openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.BeginGradientFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.BeginGradientFillView_Impl_"; openfl__$internal_renderer__$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__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_type = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_colors = function(this1) { return this1.buffer.ii[this1.iiPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_alphas = function(this1) { return this1.buffer.ff[this1.ffPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_ratios = function(this1) { return this1.buffer.ii[this1.iiPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_spreadMethod = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_interpolationMethod = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_focalPointRatio = function(this1) { return this1.buffer.f[this1.fPos]; }; var openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.BeginShaderFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.BeginShaderFillView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$.__properties__ = {get_shaderBuffer:"get_shaderBuffer"}; openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$.get_shaderBuffer = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.CubicCurveToView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.CubicCurveToView_Impl_"; openfl__$internal_renderer__$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__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlX1 = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlY1 = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlX2 = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlY2 = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_anchorX = function(this1) { return this1.buffer.f[this1.fPos + 4]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_anchorY = function(this1) { return this1.buffer.f[this1.fPos + 5]; }; var openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.CurveToView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.CurveToView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.__properties__ = {get_anchorY:"get_anchorY",get_anchorX:"get_anchorX",get_controlY:"get_controlY",get_controlX:"get_controlX"}; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.get_controlX = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.get_controlY = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.get_anchorX = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.get_anchorY = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawCircleView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.DrawCircleView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.__properties__ = {get_radius:"get_radius",get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.get_radius = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawEllipseView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.DrawEllipseView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.__properties__ = {get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.get_width = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.get_height = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawQuadsView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.DrawQuadsView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.__properties__ = {get_transforms:"get_transforms",get_indices:"get_indices",get_rects:"get_rects"}; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.get_rects = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.get_indices = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.get_transforms = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawRectView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.DrawRectView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.__properties__ = {get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.get_width = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.get_height = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawRoundRectView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.DrawRoundRectView_Impl_"; openfl__$internal_renderer__$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__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_width = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_height = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_ellipseWidth = function(this1) { return this1.buffer.f[this1.fPos + 4]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_ellipseHeight = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawTrianglesView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.DrawTrianglesView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.__properties__ = {get_culling:"get_culling",get_uvtData:"get_uvtData",get_indices:"get_indices",get_vertices:"get_vertices"}; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_vertices = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_indices = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_uvtData = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_culling = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; var openfl__$internal_renderer__$DrawCommandReader_EndFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.EndFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_EndFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_EndFillView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.EndFillView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_EndFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; var openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.LineBitmapStyleView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.LineBitmapStyleView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.__properties__ = {get_smooth:"get_smooth",get_repeat:"get_repeat",get_matrix:"get_matrix",get_bitmap:"get_bitmap"}; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_bitmap = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_repeat = function(this1) { return this1.buffer.b[this1.bPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_smooth = function(this1) { return this1.buffer.b[this1.bPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.LineGradientStyleView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.LineGradientStyleView_Impl_"; openfl__$internal_renderer__$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__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_type = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_colors = function(this1) { return this1.buffer.ii[this1.iiPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_alphas = function(this1) { return this1.buffer.ff[this1.ffPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_ratios = function(this1) { return this1.buffer.ii[this1.iiPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_spreadMethod = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_interpolationMethod = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_focalPointRatio = function(this1) { return this1.buffer.f[this1.fPos]; }; var openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.LineStyleView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.LineStyleView_Impl_"; openfl__$internal_renderer__$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__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_thickness = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_color = function(this1) { return this1.buffer.i[this1.iPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_alpha = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_pixelHinting = function(this1) { return this1.buffer.b[this1.bPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_scaleMode = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_caps = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_joints = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_miterLimit = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.LineToView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.LineToView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$.__properties__ = {get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.MoveToView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.MoveToView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$.__properties__ = {get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.OverrideBlendModeView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.OverrideBlendModeView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$.__properties__ = {get_blendMode:"get_blendMode"}; openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$.get_blendMode = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.OverrideMatrixView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.OverrideMatrixView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$.__properties__ = {get_matrix:"get_matrix"}; openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl__$internal_renderer__$DrawCommandReader_WindingEvenOddView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.WindingEvenOddView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_WindingEvenOddView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_WindingEvenOddView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.WindingEvenOddView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_WindingEvenOddView_$Impl_$._new = function(d) { var this1 = d; return this1; }; var openfl__$internal_renderer__$DrawCommandReader_WindingNonZeroView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.WindingNonZeroView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_WindingNonZeroView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_WindingNonZeroView_$Impl_$.__name__ = "openfl._internal.renderer._DrawCommandReader.WindingNonZeroView_Impl_"; openfl__$internal_renderer__$DrawCommandReader_WindingNonZeroView_$Impl_$._new = function(d) { var this1 = d; return this1; }; var openfl__$internal_renderer_DrawCommandType = $hxEnums["openfl._internal.renderer.DrawCommandType"] = { __ename__ : "openfl._internal.renderer.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._internal.renderer.DrawCommandType",toString:$estr} ,BEGIN_FILL: {_hx_index:1,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,BEGIN_GRADIENT_FILL: {_hx_index:2,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,BEGIN_SHADER_FILL: {_hx_index:3,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,CUBIC_CURVE_TO: {_hx_index:4,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,CURVE_TO: {_hx_index:5,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,DRAW_CIRCLE: {_hx_index:6,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,DRAW_ELLIPSE: {_hx_index:7,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,DRAW_QUADS: {_hx_index:8,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,DRAW_RECT: {_hx_index:9,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,DRAW_ROUND_RECT: {_hx_index:10,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,DRAW_TILES: {_hx_index:11,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,DRAW_TRIANGLES: {_hx_index:12,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,END_FILL: {_hx_index:13,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,LINE_BITMAP_STYLE: {_hx_index:14,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,LINE_GRADIENT_STYLE: {_hx_index:15,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,LINE_STYLE: {_hx_index:16,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,LINE_TO: {_hx_index:17,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,MOVE_TO: {_hx_index:18,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,OVERRIDE_BLEND_MODE: {_hx_index:19,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,OVERRIDE_MATRIX: {_hx_index:20,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,WINDING_EVEN_ODD: {_hx_index:21,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,WINDING_NON_ZERO: {_hx_index:22,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} ,UNKNOWN: {_hx_index:23,__enum__:"openfl._internal.renderer.DrawCommandType",toString:$estr} }; var openfl__$internal_renderer_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._internal.renderer.SamplerState"] = openfl__$internal_renderer_SamplerState; openfl__$internal_renderer_SamplerState.__name__ = "openfl._internal.renderer.SamplerState"; openfl__$internal_renderer_SamplerState.prototype = { centroid: null ,filter: null ,ignoreSampler: null ,lodBias: null ,mipfilter: null ,mipmapGenerated: null ,textureAlpha: null ,wrap: null ,clone: function() { var copy = new openfl__$internal_renderer_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__$internal_renderer_SamplerState }; var openfl__$internal_renderer_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._internal.renderer.ShaderBuffer"] = openfl__$internal_renderer_ShaderBuffer; openfl__$internal_renderer_ShaderBuffer.__name__ = "openfl._internal.renderer.ShaderBuffer"; openfl__$internal_renderer_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__$internal_renderer_ShaderBuffer }; var openfl__$internal_renderer_canvas_CanvasBitmap = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasBitmap"] = openfl__$internal_renderer_canvas_CanvasBitmap; openfl__$internal_renderer_canvas_CanvasBitmap.__name__ = "openfl._internal.renderer.canvas.CanvasBitmap"; openfl__$internal_renderer_canvas_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.save(); context.beginPath(); context.rect(scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); context.clip(); context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); context.restore(); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } }; var openfl__$internal_renderer_canvas_CanvasDisplayObject = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasDisplayObject"] = openfl__$internal_renderer_canvas_CanvasDisplayObject; openfl__$internal_renderer_canvas_CanvasDisplayObject.__name__ = "openfl._internal.renderer.canvas.CanvasDisplayObject"; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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)) | 0; var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)) | 0; 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.__domRenderer != null) { var reverseScale = 1 / renderer.pixelRatio; context1.scale(reverseScale,reverseScale); } context1.drawImage(canvas,0,0,width,height); } renderer.__popMaskObject(displayObject); } } } } } } }; var openfl__$internal_renderer_canvas_CanvasGraphics = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasGraphics"] = openfl__$internal_renderer_canvas_CanvasGraphics; openfl__$internal_renderer_canvas_CanvasGraphics.__name__ = "openfl._internal.renderer.canvas.CanvasGraphics"; openfl__$internal_renderer_canvas_CanvasGraphics.allowSmoothing = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapStroke = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat = null; openfl__$internal_renderer_canvas_CanvasGraphics.bounds = null; openfl__$internal_renderer_canvas_CanvasGraphics.graphics = null; openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = null; openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting = null; openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix = null; openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix = null; openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = null; openfl__$internal_renderer_canvas_CanvasGraphics.worldAlpha = null; openfl__$internal_renderer_canvas_CanvasGraphics.context = null; openfl__$internal_renderer_canvas_CanvasGraphics.hitTestCanvas = null; openfl__$internal_renderer_canvas_CanvasGraphics.hitTestContext = null; openfl__$internal_renderer_canvas_CanvasGraphics.closePath = function(strokeBefore) { if(strokeBefore == null) { strokeBefore = false; } if(openfl__$internal_renderer_canvas_CanvasGraphics.context.strokeStyle == null) { return; } if(!strokeBefore) { openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); } openfl__$internal_renderer_canvas_CanvasGraphics.context.stroke(); if(strokeBefore) { openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); } openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); }; openfl__$internal_renderer_canvas_CanvasGraphics.createBitmapFill = function(bitmap,bitmapRepeat,smooth) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.image); openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(smooth); return openfl__$internal_renderer_canvas_CanvasGraphics.context.createPattern(bitmap.image.get_src(),bitmapRepeat ? "repeat" : "no-repeat"); }; openfl__$internal_renderer_canvas_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(); releaseMatrix = true; } switch(type) { case 0: point = openfl_geom_Point.__pool.get(); point.setTo(-819.2,0); var px = point.x; var py = point.y; point.x = px * matrix.a + py * matrix.c + matrix.tx; point.y = px * matrix.b + py * matrix.d + matrix.ty; point2 = openfl_geom_Point.__pool.get(); point2.setTo(819.2,0); var px1 = point2.x; var py1 = point2.y; point2.x = px1 * matrix.a + py1 * matrix.c + matrix.tx; point2.y = px1 * matrix.b + py1 * matrix.d + matrix.ty; gradientFill = openfl__$internal_renderer_canvas_CanvasGraphics.context.createLinearGradient(point.x,point.y,point2.x,point2.y); break; case 1: point = openfl_geom_Point.__pool.get(); point.setTo(1638.4,0); var px2 = point.x; var py2 = point.y; point.x = px2 * matrix.a + py2 * matrix.c + matrix.tx; point.y = px2 * matrix.b + py2 * matrix.d + matrix.ty; gradientFill = openfl__$internal_renderer_canvas_CanvasGraphics.context.createRadialGradient(matrix.tx,matrix.ty,0,matrix.tx,matrix.ty,Math.abs((point.x - matrix.tx) / 2)); 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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.hitTesting) { context.fill(openfl__$internal_renderer_canvas_CanvasGraphics.windingRule); } return canvas; }; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context.moveTo(xe,ye - ellipseHeight); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(xe,ye + cy2,xe + cx1,ye + cy1); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(xe + cx2,ye,xe - ellipseWidth,ye); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x + ellipseWidth,ye); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(x - cx2,ye,x - cx1,ye + cy1); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(x,ye + cy2,x,ye - ellipseHeight); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x,y + ellipseHeight); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(x,y - cy2,x - cx1,y - cy1); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(x - cx2,y,x + ellipseWidth,y); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(xe - ellipseWidth,y); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(xe + cx2,y,xe + cx1,y - cy1); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(xe,y - cy2,xe,y + ellipseHeight); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(xe,ye - ellipseHeight); }; openfl__$internal_renderer_canvas_CanvasGraphics.endFill = function() { openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); openfl__$internal_renderer_canvas_CanvasGraphics.playCommands(openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands,false); openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.clear(); }; openfl__$internal_renderer_canvas_CanvasGraphics.endStroke = function() { openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); openfl__$internal_renderer_canvas_CanvasGraphics.playCommands(openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands,true); openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.clear(); }; openfl__$internal_renderer_canvas_CanvasGraphics.hitTest = function(graphics,x,y) { openfl__$internal_renderer_canvas_CanvasGraphics.bounds = graphics.__bounds; openfl__$internal_renderer_canvas_CanvasGraphics.graphics = graphics; if(graphics.__commands.get_length() == 0 || openfl__$internal_renderer_canvas_CanvasGraphics.bounds == null || openfl__$internal_renderer_canvas_CanvasGraphics.bounds.width <= 0 || openfl__$internal_renderer_canvas_CanvasGraphics.bounds.height <= 0) { return false; } else { openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.bounds.x * transform.a + openfl__$internal_renderer_canvas_CanvasGraphics.bounds.y * transform.c + transform.tx; y -= openfl__$internal_renderer_canvas_CanvasGraphics.bounds.x * transform.b + openfl__$internal_renderer_canvas_CanvasGraphics.bounds.y * transform.d + transform.ty; var cacheCanvas = graphics.__canvas; var cacheContext = graphics.__context; graphics.__canvas = openfl__$internal_renderer_canvas_CanvasGraphics.hitTestCanvas; graphics.__context = openfl__$internal_renderer_canvas_CanvasGraphics.hitTestContext; openfl__$internal_renderer_canvas_CanvasGraphics.context = graphics.__context; openfl__$internal_renderer_canvas_CanvasGraphics.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty); openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.clear(); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.clear(); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = false; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat = false; openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; var data = new openfl__$internal_renderer_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__$internal_renderer_canvas_CanvasGraphics.endFill(); if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInPath(x,y,openfl__$internal_renderer_canvas_CanvasGraphics.windingRule)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); if(openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInStroke(x,y)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } if(type == openfl__$internal_renderer_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__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_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__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL; var this2 = data; var c1 = this2; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_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__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this3 = data; var c2 = this3; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginShaderFill(c2.buffer.o[c2.oPos]); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.BEGIN_FILL; var this4 = data; var c3 = this4; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginFill(c3.buffer.i[c3.iPos],1); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_RECT; var this9 = data; var c8 = this9; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this10 = data; var c9 = this10; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.END_FILL; var this11 = data; openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInPath(x,y,openfl__$internal_renderer_canvas_CanvasGraphics.windingRule)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); if(openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInStroke(x,y)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE; var this12 = data; var c10 = this12; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE; var this13 = data; var c11 = this13; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_STYLE; var this14 = data; var c12 = this14; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_TO; var this15 = data; var c13 = this15; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.lineTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.MOVE_TO; var this16 = data; var c14 = this16; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.moveTo(c14.buffer.f[c14.fPos],c14.buffer.f[c14.fPos + 1]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.moveTo(c14.buffer.f[c14.fPos],c14.buffer.f[c14.fPos + 1]); break; case 21: openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; break; case 22: openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.fillCommands.get_length() > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); } if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInPath(x,y,openfl__$internal_renderer_canvas_CanvasGraphics.windingRule)) { hitTest = true; } if(openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.get_length() > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); } if(openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInStroke(x,y)) { hitTest = true; } data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return hitTest; } }; openfl__$internal_renderer_canvas_CanvasGraphics.isCCW = function(x1,y1,x2,y2,x3,y3) { return (x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0; }; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.playCommands = function(commands,stroke) { if(stroke == null) { stroke = false; } openfl__$internal_renderer_canvas_CanvasGraphics.bounds = openfl__$internal_renderer_canvas_CanvasGraphics.graphics.__bounds; var offsetX = openfl__$internal_renderer_canvas_CanvasGraphics.bounds.x; var offsetY = openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); var hasPath = false; var data = new openfl__$internal_renderer_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__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = c.buffer.o[c.oPos]; openfl__$internal_renderer_canvas_CanvasGraphics.context.fillStyle = openfl__$internal_renderer_canvas_CanvasGraphics.createBitmapFill(c.buffer.o[c.oPos],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = true; if(c.buffer.o[c.oPos + 1] != null) { openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix = c.buffer.o[c.oPos + 1]; openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix = c.buffer.o[c.oPos + 1].clone(); openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.invert(); } else { openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix = null; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.BEGIN_FILL; var this2 = data; var c1 = this2; if(c1.buffer.f[c1.fPos] < 0.005) { openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; } else { if(c1.buffer.f[c1.fPos] == 1) { var tmp = StringTools.hex(c1.buffer.i[c1.iPos] & 16777215,6); openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context.fillStyle = "rgba(" + r + ", " + g + ", " + b + ", " + c1.buffer.f[c1.fPos] + ")"; } openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL; var this3 = data; var c2 = this3; openfl__$internal_renderer_canvas_CanvasGraphics.context.fillStyle = openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this4 = data; var c3 = this4; var shaderBuffer = c3.buffer.o[c3.oPos]; if(shaderBuffer.inputCount > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = shaderBuffer.inputs[0]; openfl__$internal_renderer_canvas_CanvasGraphics.context.fillStyle = openfl__$internal_renderer_canvas_CanvasGraphics.createBitmapFill(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill,shaderBuffer.inputWrap[0] != 0,shaderBuffer.inputFilter[0] != 5); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = true; openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix = null; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; hasPath = true; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; hasPath = true; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; hasPath = true; openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(c6.buffer.f[c6.fPos] - offsetX + c6.buffer.f[c6.fPos + 2],c6.buffer.f[c6.fPos + 1] - offsetY); openfl__$internal_renderer_canvas_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__$internal_renderer_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__$internal_renderer_canvas_CanvasGraphics.context.moveTo(x,ym); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(x,ym - oy,xm - ox,y,xm,y); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xm + ox,y,xe,ym - oy,xe,ym); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xe,ym + oy,xm + ox,ye,xm,ye); openfl__$internal_renderer_canvas_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__$internal_renderer_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__$internal_renderer_canvas_CanvasGraphics.graphics.__renderTransform; var alpha = openfl__$internal_renderer_canvas_CanvasGraphics.worldAlpha; var ri; var ti; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context.setTransform(tileTransform.a,tileTransform.b,tileTransform.c,tileTransform.d,tileTransform.tx,tileTransform.ty); if(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill != null) { openfl__$internal_renderer_canvas_CanvasGraphics.context.drawImage(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.image.get_src(),tileRect.x,tileRect.y,tileRect.width,tileRect.height,0,0,tileRect.width,tileRect.height); } else { openfl__$internal_renderer_canvas_CanvasGraphics.context.fillRect(0,0,tileRect.width,tileRect.height); } } openfl_geom_Rectangle.__pool.release(tileRect); openfl_geom_Matrix.__pool.release(tileTransform); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_RECT; var this10 = data; var c9 = this10; optimizationUsed = false; if(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill != null && !openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { st = 0; sr = 0; sb = 0; sl = 0; canOptimizeMatrix = true; if(openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix != null) { if(openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.b != 0 || openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.bitmapFill.width && sb <= openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.height) { optimizationUsed = true; if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.drawImage(openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this11 = data; var c10 = this11; hasPath = true; openfl__$internal_renderer_canvas_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__$internal_renderer_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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.bitmapFill.width); uvt.push(v.get(i1 * 2 + 1) - offsetY / openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.height); } } var skipT = uvt.get_length() != v.get_length(); var normalizedUVT = openfl__$internal_renderer_canvas_CanvasGraphics.normalizeUVT(uvt,skipT); var maxUVT = normalizedUVT.max; uvt = normalizedUVT.uvt; if(maxUVT > 1) { pattern = openfl__$internal_renderer_canvas_CanvasGraphics.createTempPatternCanvas(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill,openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat,openfl__$internal_renderer_canvas_CanvasGraphics.bounds.width | 0,openfl__$internal_renderer_canvas_CanvasGraphics.bounds.height | 0); } else { pattern = openfl__$internal_renderer_canvas_CanvasGraphics.createTempPatternCanvas(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill,openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat,openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.width,openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(x1,y1); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x2,y2); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x3,y3); openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.fill(openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context.restore(); continue; } openfl__$internal_renderer_canvas_CanvasGraphics.context.save(); openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(x1,y1); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x2,y2); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x3,y3); openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context.transform(t1,t2,t3,t4,dx,dy); openfl__$internal_renderer_canvas_CanvasGraphics.context.drawImage(pattern,0,0,pattern.width,pattern.height); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE; var this13 = data; var c12 = this13; if(stroke && openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke) { openfl__$internal_renderer_canvas_CanvasGraphics.closePath(); } openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY); openfl__$internal_renderer_canvas_CanvasGraphics.context.strokeStyle = openfl__$internal_renderer_canvas_CanvasGraphics.createBitmapFill(c12.buffer.o[c12.oPos],c12.buffer.b[c12.bPos],c12.buffer.b[c12.bPos + 1]); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE; var this14 = data; var c13 = this14; if(stroke && openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke) { openfl__$internal_renderer_canvas_CanvasGraphics.closePath(); } openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY); openfl__$internal_renderer_canvas_CanvasGraphics.context.strokeStyle = openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_STYLE; var this15 = data; var c14 = this15; if(stroke && openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke) { openfl__$internal_renderer_canvas_CanvasGraphics.closePath(true); } openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY); if(c14.buffer.o[c14.oPos] == null) { openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = false; } else { openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context.lineCap = tmp2; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context.strokeStyle = "rgba(" + r + ", " + g + ", " + b + ", " + c14.buffer.f[c14.fPos] + ")"; } openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_TO; var this16 = data; var c15 = this16; hasPath = true; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.MOVE_TO; var this17 = data; var c16 = this17; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; break; case 22: openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.hasStroke) { if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill && closeGap) { openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(startX - offsetX,startY - offsetY); openfl__$internal_renderer_canvas_CanvasGraphics.closePath(false); } else if(closeGap && positionX == startX && positionY == startY) { openfl__$internal_renderer_canvas_CanvasGraphics.closePath(false); } if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.stroke(); } } if(!stroke) { if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill || openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill != null) { openfl__$internal_renderer_canvas_CanvasGraphics.context.translate(-openfl__$internal_renderer_canvas_CanvasGraphics.bounds.x,-openfl__$internal_renderer_canvas_CanvasGraphics.bounds.y); if(openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix != null) { openfl__$internal_renderer_canvas_CanvasGraphics.context.transform(openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.a,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.b,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.c,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.d,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.tx,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.ty); if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.fill(openfl__$internal_renderer_canvas_CanvasGraphics.windingRule); } openfl__$internal_renderer_canvas_CanvasGraphics.context.transform(openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.a,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.b,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.c,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.d,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.tx,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.ty); } else if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.fill(openfl__$internal_renderer_canvas_CanvasGraphics.windingRule); } openfl__$internal_renderer_canvas_CanvasGraphics.context.translate(openfl__$internal_renderer_canvas_CanvasGraphics.bounds.x,openfl__$internal_renderer_canvas_CanvasGraphics.bounds.y); openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); } } } }; openfl__$internal_renderer_canvas_CanvasGraphics.render = function(graphics,renderer) { graphics.__update(renderer.__worldTransform); if(graphics.__softwareDirty) { openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting = false; openfl__$internal_renderer_canvas_CanvasGraphics.graphics = graphics; openfl__$internal_renderer_canvas_CanvasGraphics.allowSmoothing = renderer.__allowSmoothing; openfl__$internal_renderer_canvas_CanvasGraphics.worldAlpha = renderer.__getAlpha(graphics.__owner.__worldAlpha); openfl__$internal_renderer_canvas_CanvasGraphics.bounds = graphics.__bounds; var width = graphics.__width; var height = graphics.__height; if(!graphics.__visible || graphics.__commands.get_length() == 0 || openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context,10); if(renderer.__domRenderer != null) { if(canvas.width == scaledWidth && canvas.height == scaledHeight) { openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.context.closePath(); openfl__$internal_renderer_canvas_CanvasGraphics.context.setTransform(1,0,0,1,0,0); openfl__$internal_renderer_canvas_CanvasGraphics.context.clearRect(0,0,scaledWidth,scaledHeight); } else { canvas.width = width; canvas.height = height; } openfl__$internal_renderer_canvas_CanvasGraphics.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty); } openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.clear(); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.clear(); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = false; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat = false; var hasLineStyle = false; var initStrokeX = 0.0; var initStrokeY = 0.0; openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; var data = new openfl__$internal_renderer_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__$internal_renderer_canvas_CanvasGraphics.endFill(); openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); if(type == openfl__$internal_renderer_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__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_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__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL; var this2 = data; var c1 = this2; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_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__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this3 = data; var c2 = this3; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginShaderFill(c2.buffer.o[c2.oPos]); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.BEGIN_FILL; var this4 = data; var c3 = this4; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginFill(c3.buffer.i[c3.iPos],c3.buffer.f[c3.fPos]); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); if(hasLineStyle) { openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_QUADS; var this9 = data; var c8 = this9; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_RECT; var this10 = data; var c9 = this10; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this11 = data; var c10 = this11; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_TRIANGLES; var this12 = data; var c11 = this12; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.END_FILL; var this13 = data; openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; hasLineStyle = false; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE; var this14 = data; var c12 = this14; if(!hasLineStyle && (initStrokeX != 0 || initStrokeY != 0)) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY); initStrokeX = 0; initStrokeY = 0; } hasLineStyle = true; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE; var this15 = data; var c13 = this15; if(!hasLineStyle && (initStrokeX != 0 || initStrokeY != 0)) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY); initStrokeX = 0; initStrokeY = 0; } hasLineStyle = true; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_STYLE; var this16 = data; var c14 = this16; if(!hasLineStyle && c14.buffer.o[c14.oPos] != null) { if(initStrokeX != 0 || initStrokeY != 0) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY); initStrokeX = 0; initStrokeY = 0; } } hasLineStyle = c14.buffer.o[c14.oPos] != null; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_TO; var this17 = data; var c15 = this17; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.lineTo(c15.buffer.f[c15.fPos],c15.buffer.f[c15.fPos + 1]); if(hasLineStyle) { openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.MOVE_TO; var this18 = data; var c16 = this18; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.moveTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]); if(hasLineStyle) { openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.OVERRIDE_BLEND_MODE; var this19 = data; var c17 = this19; renderer.__setBlendModeContext(openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.WINDING_EVEN_ODD; var this20 = data; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.windingEvenOdd(); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.WINDING_NON_ZERO; var this21 = data; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.windingNonZero(); openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasGraphics.fillCommands.get_length() > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); } if(openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.get_length() > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); } data.destroy(); graphics.__bitmap = openfl_display_BitmapData.fromCanvas(graphics.__canvas); } graphics.__softwareDirty = false; graphics.set___dirty(false); } }; openfl__$internal_renderer_canvas_CanvasGraphics.renderMask = function(graphics,renderer) { if(graphics.__commands.get_length() != 0) { openfl__$internal_renderer_canvas_CanvasGraphics.context = renderer.context; openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); var positionX = 0.0; var positionY = 0.0; var offsetX = 0; var offsetY = 0; var data = new openfl__$internal_renderer_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__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this1 = data; var c = this1; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.CURVE_TO; var this2 = data; var c1 = this2; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this3 = data; var c2 = this3; openfl__$internal_renderer_canvas_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__$internal_renderer_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__$internal_renderer_canvas_CanvasGraphics.context.moveTo(x,ym); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(x,ym - oy,xm - ox,y,xm,y); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xm + ox,y,xe,ym - oy,xe,ym); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xe,ym + oy,xm + ox,ye,xm,ye); openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.DRAW_RECT; var this5 = data; var c4 = this5; openfl__$internal_renderer_canvas_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]); 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__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this6 = data; var c5 = this6; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.LINE_TO; var this7 = data; var c6 = this7; openfl__$internal_renderer_canvas_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__$internal_renderer_DrawCommandType.MOVE_TO; var this8 = data; var c7 = this8; openfl__$internal_renderer_canvas_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; } } openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); data.destroy(); } }; openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing = function(smooth) { if(!openfl__$internal_renderer_canvas_CanvasGraphics.allowSmoothing) { smooth = false; } if(openfl__$internal_renderer_canvas_CanvasGraphics.context.imageSmoothingEnabled != smooth) { openfl__$internal_renderer_canvas_CanvasGraphics.context.imageSmoothingEnabled = smooth; } }; var openfl_display_DisplayObjectRenderer = function() { openfl_events_EventDispatcher.call(this); this.__allowSmoothing = true; 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 ,__overrideBlendMode: null ,__roundPixels: null ,__stage: null ,__transparent: null ,__type: null ,__worldAlpha: null ,__worldColorTransform: null ,__worldTransform: null ,__clear: function() { } ,__drawBitmapData: function(bitmapData,source,clipRect) { } ,__enterFrame: function(displayObject,deltaTime) { var child = displayObject.__childIterator(false); while(child.hasNext()) { var child1 = child.next(); switch(child1.__type._hx_index) { case 0: var bitmap = child1; if(bitmap.__bitmapData != null && bitmap.__bitmapData.image != null && bitmap.__bitmapData.image.version != bitmap.__imageVersion) { if(!bitmap.__renderDirty) { bitmap.__renderDirty = true; bitmap.__setParentRenderDirty(); } } break; case 4: var movieClip = child1; if(movieClip.__timeline != null) { movieClip.__timeline.__enterFrame(deltaTime); } break; case 8: var tilemap = child1; if(tilemap.__group.__dirty) { if(!tilemap.__renderDirty) { tilemap.__renderDirty = true; tilemap.__setParentRenderDirty(); } } break; case 9: var video = child1; if(video.__renderable && video.__stream != null) { if(!video.__renderDirty) { video.__renderDirty = true; video.__setParentRenderDirty(); } } break; default: } } } ,__render: function(object) { } ,__resize: function(width,height) { } ,__class__: openfl_display_DisplayObjectRenderer }); var openfl_display_CanvasRenderer = function(context) { this.pixelRatio = 1; openfl_display_DisplayObjectRenderer.call(this); this.context = context; }; $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 ,applySmoothing: function(context,value) { } ,setTransform: function(transform,context) { } ,__class__: openfl_display_CanvasRenderer }); var openfl__$internal_renderer_canvas_CanvasRenderer = function(context) { openfl_display_CanvasRenderer.call(this,context); this.__colorTransform = new openfl_geom_ColorTransform(); this.__transform = new openfl_geom_Matrix(); this.__type = "canvas"; }; $hxClasses["openfl._internal.renderer.canvas.CanvasRenderer"] = openfl__$internal_renderer_canvas_CanvasRenderer; openfl__$internal_renderer_canvas_CanvasRenderer.__name__ = "openfl._internal.renderer.canvas.CanvasRenderer"; openfl__$internal_renderer_canvas_CanvasRenderer.__super__ = openfl_display_CanvasRenderer; openfl__$internal_renderer_canvas_CanvasRenderer.prototype = $extend(openfl_display_CanvasRenderer.prototype,{ __colorTransform: null ,__domRenderer: null ,__transform: 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.__transform.copyFrom(transform); this.__transform.concat(this.__worldTransform); transform = this.__transform; } 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); } } ,__drawBitmapData: function(bitmapData,source,clipRect) { var clipMatrix = null; if(clipRect != null) { clipMatrix = openfl_geom_Matrix.__pool.get(); clipMatrix.copyFrom(this.__worldTransform); clipMatrix.invert(); this.__pushMaskRect(clipRect,clipMatrix); } var buffer = bitmapData.image.buffer; if(!this.__allowSmoothing) { this.applySmoothing(buffer.__srcContext,false); } this.__render(source); if(!this.__allowSmoothing) { this.applySmoothing(buffer.__srcContext,true); } buffer.__srcContext.setTransform(1,0,0,1,0,0); buffer.__srcImageData = null; buffer.data = null; bitmapData.image.dirty = true; bitmapData.image.version++; if(clipRect != null) { this.__popMaskRect(); openfl_geom_Matrix.__pool.release(clipMatrix); } } ,__getAlpha: function(value) { return value * this.__worldAlpha; } ,__getColorTransform: function(value) { if(this.__worldColorTransform != null) { this.__colorTransform.__copyFrom(this.__worldColorTransform); this.__colorTransform.__combine(value); return this.__colorTransform; } else { return value; } } ,__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.__renderMask(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) { if(object != null) { if(object.__type != null) { this.__renderDisplayObject(object); } else { this.__renderBitmapData(object); } } } ,__renderBitmap: function(bitmap) { this.__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 = this.__getAlpha(bitmap1.__worldAlpha); if(alpha > 0 && bitmap1.__bitmapData != null && bitmap1.__bitmapData.__isValid && bitmap1.__bitmapData.readable) { var context = this.context; this.__setBlendMode(bitmap1.__worldBlendMode); this.__pushMaskObject(bitmap1,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap1.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap1.__scrollRect; this.setTransform(bitmap1.__renderTransform,context); if(!this.__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.save(); context.beginPath(); context.rect(scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); context.clip(); context.drawImage(bitmap1.__bitmapData.image.get_src(),0,0,bitmap1.__bitmapData.image.width,bitmap1.__bitmapData.image.height); context.restore(); } if(!this.__allowSmoothing || !bitmap1.smoothing) { context.imageSmoothingEnabled = true; } this.__popMaskObject(bitmap1,false); } } } else { if(!(bitmap.opaqueBackground == null && bitmap.__graphics == null)) { if(!(!bitmap.__renderable)) { var alpha1 = this.__getAlpha(bitmap.__worldAlpha); if(!(alpha1 <= 0)) { if(bitmap.opaqueBackground != null && !bitmap.__isCacheBitmapRender && bitmap.get_width() > 0 && bitmap.get_height() > 0) { this.__setBlendMode(bitmap.__worldBlendMode); this.__pushMaskObject(bitmap); var context1 = this.context; this.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()); this.__popMaskObject(bitmap); } if(bitmap.__graphics != null) { if(!(!bitmap.__renderable)) { var alpha2 = this.__getAlpha(bitmap.__worldAlpha); if(!(alpha2 <= 0)) { var graphics = bitmap.__graphics; if(graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,this); 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 = this.context; var scrollRect1 = bitmap.__scrollRect; var scale9Grid = bitmap.__worldScale9Grid; if(scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0) { this.__setBlendMode(bitmap.__worldBlendMode); this.__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)) | 0; var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)) | 0; 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; this.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 { this.setTransform(transform,context2); if(this.__domRenderer != null) { var reverseScale = 1 / this.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(canvas,0,0,width,height); } this.__popMaskObject(bitmap); } } } } } } } } } if(!(!bitmap.__renderable)) { var alpha3 = this.__getAlpha(bitmap.__worldAlpha); if(alpha3 > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context3 = this.context; this.__setBlendMode(bitmap.__worldBlendMode); this.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context3.globalAlpha = alpha3; var scrollRect2 = bitmap.__scrollRect; this.setTransform(bitmap.__renderTransform,context3); if(!this.__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.save(); context3.beginPath(); context3.rect(scrollRect2.x,scrollRect2.y,scrollRect2.width,scrollRect2.height); context3.clip(); context3.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); context3.restore(); } if(!this.__allowSmoothing || !bitmap.smoothing) { context3.imageSmoothingEnabled = true; } this.__popMaskObject(bitmap,false); } } } } ,__renderBitmapData: function(bitmapData) { if(!bitmapData.readable) { return; } if(bitmapData.image.type == lime_graphics_ImageType.DATA) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmapData.image); } this.context.globalAlpha = 1; this.setTransform(bitmapData.__renderTransform,this.context); this.context.drawImage(bitmapData.image.get_src(),0,0,bitmapData.image.width,bitmapData.image.height); } ,__renderDisplayObject: function(object) { if(object != null && object.__type != null) { switch(object.__type._hx_index) { case 0: this.__renderBitmap(object); break; case 1:case 5: this.__renderShape(object); break; case 2:case 4: this.__renderDisplayObjectContainer(object); break; case 6: this.__renderSimpleButton(object); break; case 7: this.__renderTextField(object); break; case 8: this.__renderTilemap(object); break; case 9: this.__renderVideo(object); break; default: } if(object.__customRenderEvent != null) { var event = object.__customRenderEvent; event.allowSmoothing = this.__allowSmoothing; event.objectMatrix.copyFrom(object.__renderTransform); event.objectColorTransform.__copyFrom(object.__worldColorTransform); event.renderer = this; event.type = "renderCanvas"; this.__setBlendMode(object.__worldBlendMode); this.__pushMaskObject(object); object.dispatchEvent(event); this.__popMaskObject(object); } } } ,__renderDisplayObjectContainer: function(container) { if(this.__domRenderer == null) { var orphan = container.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } container.__removedChildren.set_length(0); } if(!container.__renderable || container.__worldAlpha <= 0 || container.get_mask() != null && (container.get_mask().get_width() <= 0 || container.get_mask().get_height() <= 0)) { return; } this.__updateCacheBitmap(container,false); if(container.__cacheBitmap != null && !container.__isCacheBitmapRender) { var bitmap = container.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = this.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = this.context; this.__setBlendMode(bitmap.__worldBlendMode); this.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; this.setTransform(bitmap.__renderTransform,context); if(!this.__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.save(); context.beginPath(); context.rect(scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); context.clip(); context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); context.restore(); } if(!this.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } this.__popMaskObject(bitmap,false); } } } else if(!(container.opaqueBackground == null && container.__graphics == null)) { if(!(!container.__renderable)) { var alpha1 = this.__getAlpha(container.__worldAlpha); if(!(alpha1 <= 0)) { if(container.opaqueBackground != null && !container.__isCacheBitmapRender && container.get_width() > 0 && container.get_height() > 0) { this.__setBlendMode(container.__worldBlendMode); this.__pushMaskObject(container); var context1 = this.context; this.setTransform(container.__renderTransform,context1); var color = container.opaqueBackground; context1.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")"; context1.fillRect(0,0,container.get_width(),container.get_height()); this.__popMaskObject(container); } if(container.__graphics != null) { if(!(!container.__renderable)) { var alpha2 = this.__getAlpha(container.__worldAlpha); if(!(alpha2 <= 0)) { var graphics = container.__graphics; if(graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,this); 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 = this.context; var scrollRect1 = container.__scrollRect; var scale9Grid = container.__worldScale9Grid; if(scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0) { this.__setBlendMode(container.__worldBlendMode); this.__pushMaskObject(container); 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)) | 0; var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)) | 0; 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; this.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 { this.setTransform(transform,context2); if(this.__domRenderer != null) { var reverseScale = 1 / this.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(canvas,0,0,width,height); } this.__popMaskObject(container); } } } } } } } } } if(container.__cacheBitmap != null && !container.__isCacheBitmapRender) { return; } this.__pushMaskObject(container); var child = container.__firstChild; if(this.__stage != null) { while(child != null) { this.__renderDisplayObject(child); child.__renderDirty = false; child = child.__nextSibling; } container.__renderDirty = false; } else { while(child != null) { this.__renderDisplayObject(child); child = child.__nextSibling; } } this.__popMaskObject(container); } ,__renderMask: function(mask) { if(mask != null) { switch(mask.__type._hx_index) { case 0: this.context.rect(0,0,mask.get_width(),mask.get_height()); break; case 3: break; case 2:case 4: var container = mask; if(this.__domRenderer == null) { var orphan = container.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } container.__removedChildren.set_length(0); } if(container.__graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.renderMask(container.__graphics,this); } var child = container.__firstChild; while(child != null) { this.__renderMask(child); child = child.__nextSibling; } break; case 6: var button = mask; this.__renderMask(button.__currentState); break; default: if(mask.__graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.renderMask(mask.__graphics,this); } } } } ,__renderShape: function(shape) { if(shape.get_mask() == null || shape.get_mask().get_width() > 0 && shape.get_mask().get_height() > 0) { this.__updateCacheBitmap(shape,false); if(shape.__cacheBitmap != null && !shape.__isCacheBitmapRender) { var bitmap = shape.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = this.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = this.context; this.__setBlendMode(bitmap.__worldBlendMode); this.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; this.setTransform(bitmap.__renderTransform,context); if(!this.__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.save(); context.beginPath(); context.rect(scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); context.clip(); context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); context.restore(); } if(!this.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } this.__popMaskObject(bitmap,false); } } } else if(!(shape.opaqueBackground == null && shape.__graphics == null)) { if(!(!shape.__renderable)) { var alpha1 = this.__getAlpha(shape.__worldAlpha); if(!(alpha1 <= 0)) { if(shape.opaqueBackground != null && !shape.__isCacheBitmapRender && shape.get_width() > 0 && shape.get_height() > 0) { this.__setBlendMode(shape.__worldBlendMode); this.__pushMaskObject(shape); var context1 = this.context; this.setTransform(shape.__renderTransform,context1); var color = shape.opaqueBackground; context1.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")"; context1.fillRect(0,0,shape.get_width(),shape.get_height()); this.__popMaskObject(shape); } if(shape.__graphics != null) { if(!(!shape.__renderable)) { var alpha2 = this.__getAlpha(shape.__worldAlpha); if(!(alpha2 <= 0)) { var graphics = shape.__graphics; if(graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,this); 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 = this.context; var scrollRect1 = shape.__scrollRect; var scale9Grid = shape.__worldScale9Grid; if(scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0) { this.__setBlendMode(shape.__worldBlendMode); this.__pushMaskObject(shape); 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)) | 0; var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)) | 0; 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; this.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 { this.setTransform(transform,context2); if(this.__domRenderer != null) { var reverseScale = 1 / this.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(canvas,0,0,width,height); } this.__popMaskObject(shape); } } } } } } } } } } } ,__renderSimpleButton: function(button) { if(!button.__renderable || button.__worldAlpha <= 0 || button.__currentState == null) { return; } this.__pushMaskObject(button); this.__renderDisplayObject(button.__currentState); this.__popMaskObject(button); } ,__renderTextField: function(textField) { if(this.__domRenderer != null && !textField.__renderedOnCanvasWhileOnDOM) { textField.__renderedOnCanvasWhileOnDOM = true; if(textField.get_type() == 1) { textField.replaceText(0,textField.__text.length,textField.__text); } if(textField.__isHTML) { textField.__updateText(openfl__$internal_formats_html_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) { this.__updateCacheBitmap(textField,textField.__dirty); if(textField.__cacheBitmap != null && !textField.__isCacheBitmapRender) { var bitmap = textField.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = this.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = this.context; this.__setBlendMode(bitmap.__worldBlendMode); this.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; this.setTransform(bitmap.__renderTransform,context); if(!this.__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.save(); context.beginPath(); context.rect(scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); context.clip(); context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); context.restore(); } if(!this.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } this.__popMaskObject(bitmap,false); } } } else { var transform = textField.__worldTransform; var textEngine = textField.__textEngine; var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds; var graphics = textField.__graphics; if(textField.__dirty) { textField.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } graphics.__bounds.copyFrom(bounds); } graphics.__update(this.__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__$internal_renderer_canvas_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(this.__domRenderer != null) { var scale = this.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); this.setTransform(matrix,openfl__$internal_renderer_canvas_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl__$internal_renderer_canvas_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect == null) { openfl__$internal_renderer_canvas_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect) { openfl__$internal_renderer_canvas_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height); } if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) { var text = textEngine.text; if(!this.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) { graphics.__context.imageSmoothingEnabled = false; } else { graphics.__context.imageSmoothingEnabled = true; } if(textEngine.border || textEngine.background) { openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } openfl__$internal_renderer_canvas_CanvasTextField.context.textBaseline = "alphabetic"; openfl__$internal_renderer_canvas_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.bottomScrollV - 1) { break; } var color = "#" + StringTools.hex(group1.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.font = openfl__$internal_text_TextEngine.getFont(group1.format); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = color; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group1.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#000000"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group1.height); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x,group1.offsetY + group1.ascent + scrollY); } } } if(group1.format.underline) { openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = color; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.moveTo(x,y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(x + group1.width,y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp3; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) { var scrollX1 = -textField.get_scrollH(); var scrollY2 = 0.0; var _g2 = 0; var _g11 = textField.get_scrollV() - 1; while(_g2 < _g11) { var i3 = _g2++; scrollY2 += textEngine.lineHeights.get(i3); } var offsetX; switch(textField.get_defaultTextFormat().align) { case 0: offsetX = (textField.get_width() - 4) / 2; break; case 4: offsetX = textField.get_width() - 4; break; default: offsetX = 0; } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(scrollX1 + offsetX + 2.5,scrollY2 + 2.5); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(scrollX1 + offsetX + 2.5,scrollY2 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_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 = this.context.imageSmoothingEnabled; if(smoothingEnabled) { this.context.imageSmoothingEnabled = false; } } if(!(textField.opaqueBackground == null && textField.__graphics == null)) { if(!(!textField.__renderable)) { var alpha1 = this.__getAlpha(textField.__worldAlpha); if(!(alpha1 <= 0)) { if(textField.opaqueBackground != null && !textField.__isCacheBitmapRender && textField.get_width() > 0 && textField.get_height() > 0) { this.__setBlendMode(textField.__worldBlendMode); this.__pushMaskObject(textField); var context1 = this.context; this.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()); this.__popMaskObject(textField); } if(textField.__graphics != null) { if(!(!textField.__renderable)) { var alpha2 = this.__getAlpha(textField.__worldAlpha); if(!(alpha2 <= 0)) { var graphics1 = textField.__graphics; if(graphics1 != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics1,this); 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 = this.context; var scrollRect1 = textField.__scrollRect; var scale9Grid = textField.__worldScale9Grid; if(scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0) { this.__setBlendMode(textField.__worldBlendMode); this.__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)) | 0; var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds1.get_right() - scale9Grid.get_right()) * scaleX)) | 0; 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; this.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 { this.setTransform(transform2,context2); if(this.__domRenderer != null) { var reverseScale = 1 / this.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(canvas,0,0,width1,height1); } this.__popMaskObject(textField); } } } } } } } } } if(smoothingEnabled) { this.context.imageSmoothingEnabled = true; } } } } ,__renderTilemap: function(tilemap) { this.__updateCacheBitmap(tilemap,false); if(tilemap.__cacheBitmap != null && !tilemap.__isCacheBitmapRender) { var bitmap = tilemap.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = this.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = this.context; this.__setBlendMode(bitmap.__worldBlendMode); this.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; this.setTransform(bitmap.__renderTransform,context); if(!this.__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.save(); context.beginPath(); context.rect(scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); context.clip(); context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); context.restore(); } if(!this.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } this.__popMaskObject(bitmap,false); } } } else { if(!(tilemap.opaqueBackground == null && tilemap.__graphics == null)) { if(!(!tilemap.__renderable)) { var alpha1 = this.__getAlpha(tilemap.__worldAlpha); if(!(alpha1 <= 0)) { if(tilemap.opaqueBackground != null && !tilemap.__isCacheBitmapRender && tilemap.get_width() > 0 && tilemap.get_height() > 0) { this.__setBlendMode(tilemap.__worldBlendMode); this.__pushMaskObject(tilemap); var context1 = this.context; this.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()); this.__popMaskObject(tilemap); } if(tilemap.__graphics != null) { if(!(!tilemap.__renderable)) { var alpha2 = this.__getAlpha(tilemap.__worldAlpha); if(!(alpha2 <= 0)) { var graphics = tilemap.__graphics; if(graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,this); 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 = this.context; var scrollRect1 = tilemap.__scrollRect; var scale9Grid = tilemap.__worldScale9Grid; if(scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0) { this.__setBlendMode(tilemap.__worldBlendMode); this.__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)) | 0; var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)) | 0; 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; this.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 { this.setTransform(transform,context2); if(this.__domRenderer != null) { var reverseScale = 1 / this.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(canvas,0,0,width,height); } this.__popMaskObject(tilemap); } } } } } } } } } if(!(!tilemap.__renderable || tilemap.__group.__tiles.length == 0)) { var alpha3 = this.__getAlpha(tilemap.__worldAlpha); if(!(alpha3 <= 0)) { var context3 = this.context; this.__setBlendMode(tilemap.__worldBlendMode); this.__pushMaskObject(tilemap); var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,tilemap.__width,tilemap.__height); this.__pushMaskRect(rect,tilemap.__renderTransform); if(!this.__allowSmoothing || !tilemap.smoothing) { context3.imageSmoothingEnabled = false; } openfl__$internal_renderer_canvas_CanvasTilemap.renderTileContainer(tilemap.__group,this,tilemap.__renderTransform,tilemap.__tileset,this.__allowSmoothing && tilemap.smoothing,tilemap.tileAlphaEnabled,alpha3,tilemap.tileBlendModeEnabled,tilemap.__worldBlendMode,null,null,rect); if(!this.__allowSmoothing || !tilemap.smoothing) { context3.imageSmoothingEnabled = true; } this.__popMaskRect(); this.__popMaskObject(tilemap); openfl_geom_Rectangle.__pool.release(rect); } } } } ,__renderVideo: function(video) { openfl__$internal_renderer_canvas_CanvasVideo.render(video,this); } ,__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"; } } ,__updateCacheBitmap: function(object,force) { if(object.__isCacheBitmapRender) { return false; } var updated = false; if(object.get_cacheAsBitmap() || !object.__worldColorTransform.__isDefault(true) || this.__worldColorTransform != null && !this.__worldColorTransform.__isDefault(true)) { if(object.__cacheBitmapMatrix == null) { object.__cacheBitmapMatrix = new openfl_geom_Matrix(); } var hasFilters = object.__filters != null; var bitmapMatrix = object.__cacheAsBitmapMatrix != null ? object.__cacheAsBitmapMatrix : object.__renderTransform; var rect = null; var colorTransform = openfl_geom_ColorTransform.__pool.get(); colorTransform.__copyFrom(object.__worldColorTransform); if(this.__worldColorTransform != null) { colorTransform.__combine(this.__worldColorTransform); } var needRender = object.__cacheBitmap == null || object.__renderDirty && (force || object.__firstChild != null) || object.opaqueBackground != object.__cacheBitmapBackground || object.__graphics != null && object.__graphics.__softwareDirty || !object.__cacheBitmapColorTransform.__equals(colorTransform,true); if(!needRender && (bitmapMatrix.a != object.__cacheBitmapMatrix.a || bitmapMatrix.b != object.__cacheBitmapMatrix.b || bitmapMatrix.c != object.__cacheBitmapMatrix.c || bitmapMatrix.d != object.__cacheBitmapMatrix.d)) { needRender = true; } if(hasFilters && !needRender) { var _g = 0; var _g1 = object.__filters; while(_g < _g1.length) { var filter = _g1[_g]; ++_g; if(filter.__renderDirty) { needRender = true; break; } } } if(!needRender && object.__cacheBitmapData != null && object.__cacheBitmapData.image != null && object.__cacheBitmapData.image.version < object.__cacheBitmapData.__textureVersion) { needRender = true; } var updateTransform = needRender || !object.__cacheBitmap.__worldTransform.equals(object.__worldTransform); object.__cacheBitmapMatrix.copyFrom(bitmapMatrix); object.__cacheBitmapMatrix.tx = 0; object.__cacheBitmapMatrix.ty = 0; var bitmapWidth = 0; var bitmapHeight = 0; var filterWidth = 0; var filterHeight = 0; var offsetX = 0.; var offsetY = 0.; if(updateTransform) { rect = openfl_geom_Rectangle.__pool.get(); object.__getFilterBounds(rect,object.__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(object.__cacheBitmapData != null) { if(filterWidth > object.__cacheBitmapData.width || filterHeight > object.__cacheBitmapData.height) { bitmapWidth = Math.ceil(Math.max(filterWidth * 1.25,object.__cacheBitmapData.width)); bitmapHeight = Math.ceil(Math.max(filterHeight * 1.25,object.__cacheBitmapData.height)); needRender = true; } else { bitmapWidth = object.__cacheBitmapData.width; bitmapHeight = object.__cacheBitmapData.height; } } else { bitmapWidth = filterWidth; bitmapHeight = filterHeight; } } if(needRender) { object.__cacheBitmapBackground = object.opaqueBackground; if(filterWidth >= 0.5 && filterHeight >= 0.5) { var needsFill = object.opaqueBackground != null && (bitmapWidth != filterWidth || bitmapHeight != filterHeight); var fillColor = object.opaqueBackground != null ? -16777216 | object.opaqueBackground : 0; var bitmapColor = needsFill ? 0 : fillColor; if(object.__cacheBitmapData == null || bitmapWidth > object.__cacheBitmapData.width || bitmapHeight > object.__cacheBitmapData.height) { object.__cacheBitmapData = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,bitmapColor); if(object.__cacheBitmap == null) { object.__cacheBitmap = new openfl_display_Bitmap(); } object.__cacheBitmap.__bitmapData = object.__cacheBitmapData; object.__cacheBitmapRendererSW = null; } else { object.__cacheBitmapData.fillRect(object.__cacheBitmapData.rect,bitmapColor); } if(needsFill) { rect.setTo(0,0,filterWidth,filterHeight); object.__cacheBitmapData.fillRect(rect,fillColor); } } else { openfl_geom_ColorTransform.__pool.release(colorTransform); if(this.__domRenderer != null && object.__cacheBitmap != null) { this.__domRenderer.__clearBitmap(object.__cacheBitmap); } object.__cacheBitmap = null; object.__cacheBitmapData = null; object.__cacheBitmapData2 = null; object.__cacheBitmapData3 = null; object.__cacheBitmapRendererSW = null; return true; } } else { object.__cacheBitmapData = object.__cacheBitmap.get_bitmapData(); object.__cacheBitmapData2 = null; object.__cacheBitmapData3 = null; } if(updateTransform) { object.__cacheBitmap.__worldTransform.copyFrom(object.__worldTransform); if(bitmapMatrix == object.__renderTransform) { object.__cacheBitmap.__renderTransform.identity(); object.__cacheBitmap.__renderTransform.tx = object.__renderTransform.tx + offsetX; object.__cacheBitmap.__renderTransform.ty = object.__renderTransform.ty + offsetY; } else { object.__cacheBitmap.__renderTransform.copyFrom(object.__cacheBitmapMatrix); object.__cacheBitmap.__renderTransform.invert(); object.__cacheBitmap.__renderTransform.concat(object.__renderTransform); object.__cacheBitmap.__renderTransform.tx += offsetX; object.__cacheBitmap.__renderTransform.ty += offsetY; } } object.__cacheBitmap.smoothing = this.__allowSmoothing; object.__cacheBitmap.__renderable = object.__renderable; object.__cacheBitmap.__worldAlpha = object.__worldAlpha; object.__cacheBitmap.__worldBlendMode = object.__worldBlendMode; object.__cacheBitmap.__worldShader = object.__worldShader; object.__cacheBitmap.set_mask(object.__mask); if(needRender) { if(object.__cacheBitmapRendererSW == null || object.__cacheBitmapRendererSW.__type != "canvas") { if(object.__cacheBitmapData.image == null) { var color = object.opaqueBackground != null ? -16777216 | object.opaqueBackground : 0; object.__cacheBitmapData = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,color); object.__cacheBitmap.__bitmapData = object.__cacheBitmapData; } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(object.__cacheBitmapData.image); object.__cacheBitmapRendererSW = new openfl__$internal_renderer_canvas_CanvasRenderer(object.__cacheBitmapData.image.buffer.__srcContext); object.__cacheBitmapRendererSW.__worldTransform = new openfl_geom_Matrix(); object.__cacheBitmapRendererSW.__worldColorTransform = new openfl_geom_ColorTransform(); } if(object.__cacheBitmapColorTransform == null) { object.__cacheBitmapColorTransform = new openfl_geom_ColorTransform(); } object.__cacheBitmapRendererSW.__stage = object.stage; object.__cacheBitmapRendererSW.__allowSmoothing = this.__allowSmoothing; (js_Boot.__cast(object.__cacheBitmapRendererSW , openfl__$internal_renderer_canvas_CanvasRenderer)).__setBlendMode(10); object.__cacheBitmapRendererSW.__worldAlpha = 1 / object.__worldAlpha; object.__cacheBitmapRendererSW.__worldTransform.copyFrom(object.__renderTransform); object.__cacheBitmapRendererSW.__worldTransform.invert(); object.__cacheBitmapRendererSW.__worldTransform.concat(object.__cacheBitmapMatrix); object.__cacheBitmapRendererSW.__worldTransform.tx -= offsetX; object.__cacheBitmapRendererSW.__worldTransform.ty -= offsetY; object.__cacheBitmapRendererSW.__worldColorTransform.__copyFrom(colorTransform); object.__cacheBitmapRendererSW.__worldColorTransform.__invert(); object.__isCacheBitmapRender = true; object.__cacheBitmapRendererSW.__drawBitmapData(object.__cacheBitmapData,object,null); if(hasFilters) { var needSecondBitmapData = false; var needCopyOfOriginal = false; var _g2 = 0; var _g11 = object.__filters; while(_g2 < _g11.length) { var filter1 = _g11[_g2]; ++_g2; if(filter1.__needSecondBitmapData) { needSecondBitmapData = true; } if(filter1.__preserveObject) { needCopyOfOriginal = true; } } var bitmap = object.__cacheBitmapData; var bitmap2 = null; var bitmap3 = null; if(needSecondBitmapData) { if(object.__cacheBitmapData2 == null || object.__cacheBitmapData2.image == null || bitmapWidth > object.__cacheBitmapData2.width || bitmapHeight > object.__cacheBitmapData2.height) { object.__cacheBitmapData2 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { object.__cacheBitmapData2.fillRect(object.__cacheBitmapData2.rect,0); } bitmap2 = object.__cacheBitmapData2; } else { bitmap2 = bitmap; } if(needCopyOfOriginal) { if(object.__cacheBitmapData3 == null || object.__cacheBitmapData3.image == null || bitmapWidth > object.__cacheBitmapData3.width || bitmapHeight > object.__cacheBitmapData3.height) { object.__cacheBitmapData3 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { object.__cacheBitmapData3.fillRect(object.__cacheBitmapData3.rect,0); } bitmap3 = object.__cacheBitmapData3; } if(object.__tempPoint == null) { object.__tempPoint = new openfl_geom_Point(); } var destPoint = object.__tempPoint; var cacheBitmap; var lastBitmap; var _g21 = 0; var _g3 = object.__filters; while(_g21 < _g3.length) { var filter2 = _g3[_g21]; ++_g21; if(filter2.__preserveObject) { bitmap3.copyPixels(bitmap,bitmap.rect,destPoint); } lastBitmap = filter2.__applyFilter(bitmap2,bitmap,bitmap.rect,destPoint); if(filter2.__preserveObject) { lastBitmap.draw(bitmap3,null,object.__objectTransform != null ? object.__objectTransform.get_colorTransform() : null); } filter2.__renderDirty = false; if(needSecondBitmapData && lastBitmap == bitmap2) { cacheBitmap = bitmap; bitmap = bitmap2; bitmap2 = cacheBitmap; } } if(object.__cacheBitmapData != bitmap) { cacheBitmap = object.__cacheBitmapData; object.__cacheBitmapData = bitmap; object.__cacheBitmapData2 = cacheBitmap; object.__cacheBitmap.__bitmapData = object.__cacheBitmapData; object.__cacheBitmapRendererSW = null; } object.__cacheBitmap.__imageVersion = object.__cacheBitmapData.__textureVersion; } object.__cacheBitmapColorTransform.__copyFrom(colorTransform); if(!object.__cacheBitmapColorTransform.__isDefault(true)) { object.__cacheBitmapColorTransform.alphaMultiplier = 1; object.__cacheBitmapData.colorTransform(object.__cacheBitmapData.rect,object.__cacheBitmapColorTransform); } object.__isCacheBitmapRender = false; } if(updateTransform) { openfl_geom_Rectangle.__pool.release(rect); } updated = updateTransform; openfl_geom_ColorTransform.__pool.release(colorTransform); } else if(object.__cacheBitmap != null) { if(this.__domRenderer != null && object.__cacheBitmap != null) { this.__domRenderer.__clearBitmap(object.__cacheBitmap); } object.__cacheBitmap = null; object.__cacheBitmapData = null; object.__cacheBitmapData2 = null; object.__cacheBitmapData3 = null; object.__cacheBitmapColorTransform = null; object.__cacheBitmapRendererSW = null; updated = true; } return updated; } ,__class__: openfl__$internal_renderer_canvas_CanvasRenderer }); var openfl__$internal_renderer_canvas_CanvasShape = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasShape"] = openfl__$internal_renderer_canvas_CanvasShape; openfl__$internal_renderer_canvas_CanvasShape.__name__ = "openfl._internal.renderer.canvas.CanvasShape"; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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)) | 0; var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)) | 0; 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.__domRenderer != null) { var reverseScale = 1 / renderer.pixelRatio; context.scale(reverseScale,reverseScale); } context.drawImage(canvas,0,0,width,height); } renderer.__popMaskObject(shape); } } } }; var openfl__$internal_renderer_canvas_CanvasTextField = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasTextField"] = openfl__$internal_renderer_canvas_CanvasTextField; openfl__$internal_renderer_canvas_CanvasTextField.__name__ = "openfl._internal.renderer.canvas.CanvasTextField"; openfl__$internal_renderer_canvas_CanvasTextField.context = null; openfl__$internal_renderer_canvas_CanvasTextField.clearRect = null; openfl__$internal_renderer_canvas_CanvasTextField.render = function(textField,renderer,transform) { var textEngine = textField.__textEngine; var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds; var graphics = textField.__graphics; if(textField.__dirty) { textField.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } 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__$internal_renderer_canvas_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer.__domRenderer != null) { 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__$internal_renderer_canvas_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl__$internal_renderer_canvas_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect == null) { openfl__$internal_renderer_canvas_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect) { openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } openfl__$internal_renderer_canvas_CanvasTextField.context.textBaseline = "alphabetic"; openfl__$internal_renderer_canvas_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.bottomScrollV - 1) { break; } var color = "#" + StringTools.hex(group1.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.font = openfl__$internal_text_TextEngine.getFont(group1.format); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = color; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group1.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#000000"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group1.height); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x,group1.offsetY + group1.ascent + scrollY); } } } if(group1.format.underline) { openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = color; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.moveTo(x,y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(x + group1.width,y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp3; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) { var scrollX1 = -textField.get_scrollH(); var scrollY2 = 0.0; var _g2 = 0; var _g11 = textField.get_scrollV() - 1; while(_g2 < _g11) { var i3 = _g2++; scrollY2 += textEngine.lineHeights.get(i3); } var offsetX; switch(textField.get_defaultTextFormat().align) { case 0: offsetX = (textField.get_width() - 4) / 2; break; case 4: offsetX = textField.get_width() - 4; break; default: offsetX = 0; } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(scrollX1 + offsetX + 2.5,scrollY2 + 2.5); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(scrollX1 + offsetX + 2.5,scrollY2 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_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 openfl__$internal_renderer_canvas_CanvasTilemap = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasTilemap"] = openfl__$internal_renderer_canvas_CanvasTilemap; openfl__$internal_renderer_canvas_CanvasTilemap.__name__ = "openfl._internal.renderer.canvas.CanvasTilemap"; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_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); }; var openfl__$internal_renderer_canvas_CanvasVideo = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasVideo"] = openfl__$internal_renderer_canvas_CanvasVideo; openfl__$internal_renderer_canvas_CanvasVideo.__name__ = "openfl._internal.renderer.canvas.CanvasVideo"; openfl__$internal_renderer_canvas_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); } }; var openfl__$internal_renderer_context3D_Context3DAlphaMaskShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying vec2 openfl_AlphaTextureCoordv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform sampler2D openfl_AlphaTexture;\r\n\t\tuniform sampler2D openfl_Texture;\r\n\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\tvec4 mask = texture2D (openfl_AlphaTexture, openfl_AlphaTextureCoordv);\r\n\r\n\t\t\tif (mask.a == 0.0)\r\n\t\t\t{\r\n\t\t\t\tgl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\r\n\t\t\t\tgl_FragColor = color * mask.a;\r\n\t\t\t}\r\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute vec4 openfl_Position;\r\n\t\tattribute vec2 openfl_TextureCoord;\r\n\t\tvarying vec2 openfl_AlphaTextureCoordv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform mat4 openfl_AlphaTextureMatrix;\r\n\t\tuniform mat4 openfl_Matrix;\r\n\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\r\n\t\t\topenfl_AlphaTextureCoordv = vec2(vec4(openfl_TextureCoord, 0.0, 0.0) * openfl_AlphaTextureMatrix);\r\n\r\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\r\n\t\t}"; } openfl_display_Shader.call(this); this.__isGenerated = true; this.__init(); }; $hxClasses["openfl._internal.renderer.context3D.Context3DAlphaMaskShader"] = openfl__$internal_renderer_context3D_Context3DAlphaMaskShader; openfl__$internal_renderer_context3D_Context3DAlphaMaskShader.__name__ = "openfl._internal.renderer.context3D.Context3DAlphaMaskShader"; openfl__$internal_renderer_context3D_Context3DAlphaMaskShader.__super__ = openfl_display_Shader; openfl__$internal_renderer_context3D_Context3DAlphaMaskShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_Position: null ,openfl_TextureCoord: null ,openfl_AlphaTextureMatrix: null ,openfl_Matrix: null ,openfl_AlphaTexture: null ,openfl_Texture: null ,__class__: openfl__$internal_renderer_context3D_Context3DAlphaMaskShader }); var openfl__$internal_renderer_context3D_Context3DBitmap = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DBitmap"] = openfl__$internal_renderer_context3D_Context3DBitmap; openfl__$internal_renderer_context3D_Context3DBitmap.__name__ = "openfl._internal.renderer.context3D.Context3DBitmap"; openfl__$internal_renderer_context3D_Context3DBitmap.render = function(bitmap,renderer) { if(!bitmap.__renderable || bitmap.__worldAlpha <= 0) { return; } if(bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) { var alphaMask = bitmap.get_mask() != null && bitmap.get_mask().get_cacheAsBitmap(); if(!alphaMask) { renderer.__pushMaskObject(bitmap); } var bitmapData = bitmap.get_bitmapData(); var transform = renderer.__getDisplayTransformTempMatrix(bitmap.__renderTransform,bitmap.pixelSnapping); var alpha = renderer.__getAlpha(bitmap.__worldAlpha); bitmapData.pushQuadsToBatcher(renderer.batcher,transform,alpha,bitmap); if(!alphaMask) { renderer.__popMaskObject(bitmap); } } }; openfl__$internal_renderer_context3D_Context3DBitmap.render2 = function(bitmap,renderer) { if(!bitmap.__renderable || bitmap.__worldAlpha <= 0) { return; } if(bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) { renderer.batcher.flush(); var context = renderer.context3D; var alphaMask = bitmap.get_mask() != null && bitmap.get_mask().get_cacheAsBitmap(); if(alphaMask && bitmap.get_mask().__type != openfl__$internal_renderer_DisplayObjectType.BITMAP) { alphaMask = false; } renderer.__setBlendMode(bitmap.__worldBlendMode); if(!alphaMask) { renderer.__pushMaskObject(bitmap); } var shader = renderer.__initDisplayShader(!alphaMask ? bitmap.__worldShader : renderer.__alphaMaskShader); renderer.setShader(shader); renderer.applyBitmapData(bitmap.__bitmapData,renderer.__allowSmoothing && (bitmap.smoothing || renderer.__upscaled)); renderer.applyMatrix(renderer.__getMatrix(bitmap.__renderTransform,bitmap.pixelSnapping)); renderer.applyAlpha(renderer.__getAlpha(bitmap.__worldAlpha)); renderer.applyColorTransform(bitmap.__worldColorTransform); if(alphaMask) { var maskBitmap = bitmap.get_mask(); renderer.__currentShader.__alphaTexture.input = maskBitmap.__bitmapData; if(renderer.__currentShader.__alphaTextureMatrix.value == null) { renderer.__currentShader.__alphaTextureMatrix.value = []; } var matrix = renderer.__currentShader.__alphaTextureMatrix.value; var transform = openfl_geom_Matrix.__pool.get(); transform.copyFrom(bitmap.__renderTransform); transform.invert(); transform.concat(maskBitmap.__renderTransform); matrix[0] = transform.a * (bitmap.__bitmapData.width / maskBitmap.__bitmapData.width); matrix[1] = transform.b; matrix[4] = transform.c; matrix[5] = transform.d * (bitmap.__bitmapData.height / maskBitmap.__bitmapData.height); matrix[12] = transform.tx; matrix[13] = transform.ty; matrix[15] = 0.0; openfl_geom_Matrix.__pool.release(transform); } 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(); if(!alphaMask) { renderer.__popMaskObject(bitmap); } } }; openfl__$internal_renderer_context3D_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__$internal_renderer_context3D_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__$internal_renderer_context3D_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._internal.renderer.context3D.Context3DBuffer"] = openfl__$internal_renderer_context3D_Context3DBuffer; openfl__$internal_renderer_context3D_Context3DBuffer.__name__ = "openfl._internal.renderer.context3D.Context3DBuffer"; openfl__$internal_renderer_context3D_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(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__$internal_renderer_context3D_Context3DBuffer }; var openfl__$internal_renderer_context3D_Context3DElementType = $hxEnums["openfl._internal.renderer.context3D.Context3DElementType"] = { __ename__ : "openfl._internal.renderer.context3D.Context3DElementType", __constructs__ : ["QUADS","TRIANGLES","TRIANGLE_INDICES"] ,QUADS: {_hx_index:0,__enum__:"openfl._internal.renderer.context3D.Context3DElementType",toString:$estr} ,TRIANGLES: {_hx_index:1,__enum__:"openfl._internal.renderer.context3D.Context3DElementType",toString:$estr} ,TRIANGLE_INDICES: {_hx_index:2,__enum__:"openfl._internal.renderer.context3D.Context3DElementType",toString:$estr} }; var openfl__$internal_renderer_context3D_Context3DDisplayObject = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DDisplayObject"] = openfl__$internal_renderer_context3D_Context3DDisplayObject; openfl__$internal_renderer_context3D_Context3DDisplayObject.__name__ = "openfl._internal.renderer.context3D.Context3DDisplayObject"; openfl__$internal_renderer_context3D_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.batcher.flush(); 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__$internal_renderer_context3D_Context3DShape.render(displayObject,renderer); } }; openfl__$internal_renderer_context3D_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__$internal_renderer_context3D_Context3DShape.renderMask(displayObject,renderer); } }; var openfl__$internal_renderer_context3D_Context3DGraphics = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DGraphics"] = openfl__$internal_renderer_context3D_Context3DGraphics; openfl__$internal_renderer_context3D_Context3DGraphics.__name__ = "openfl._internal.renderer.context3D.Context3DGraphics"; openfl__$internal_renderer_context3D_Context3DGraphics.maskRender = null; openfl__$internal_renderer_context3D_Context3DGraphics.buildBuffer = function(graphics,renderer) { var quadBufferPosition = 0; var triangleIndexBufferPosition = 0; var vertexBufferPosition = 0; var vertexBufferPositionUVT = 0; var data = new openfl__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_context3D_Context3DBuffer(context,openfl__$internal_renderer_context3D_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__$internal_renderer_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__$internal_renderer_context3D_Context3DGraphics.resizeVertexBuffer(graphics,hasUVTData,vertexOffset1 + length1 * dataPerVertex1); var vertexBufferData1 = hasUVTData ? graphics.__vertexBufferDataUVT : graphics.__vertexBufferData; var offset; var vertOffset; var uvOffset; var t; var uScale = bitmap.width / bitmap.__textureWidth; var vScale = bitmap.height / bitmap.__textureHeight; 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(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(graphics.__vertexBufferDataUVT); } openfl_geom_Rectangle.__pool.release(tileRect); openfl_geom_Matrix.__pool.release(tileTransform); }; openfl__$internal_renderer_context3D_Context3DGraphics.isCompatible = function(graphics) { if(graphics.__owner.__worldScale9Grid != null) { return false; } var data = new openfl__$internal_renderer_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__$internal_renderer_context3D_Context3DGraphics.render = function(graphics,renderer) { if(!graphics.__visible || graphics.__commands.get_length() == 0) { return; } if(graphics.__bitmap != null && !graphics.__dirty || !openfl__$internal_renderer_context3D_Context3DGraphics.isCompatible(graphics)) { var cacheTransform = renderer.__softwareRenderer.__worldTransform; renderer.__softwareRenderer.__worldTransform = renderer.__worldTransform; openfl__$internal_renderer_canvas_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__$internal_renderer_context3D_Context3DGraphics.buildBuffer(graphics,renderer); } var data = new openfl__$internal_renderer_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; if(graphics.__commands.get_length() > 0) { renderer.batcher.flush(); } 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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_context3D_Context3DGraphics.maskRender) { shader = renderer.__initShaderBuffer(shaderBuffer); renderer.__setShaderBuffer(shaderBuffer); renderer.applyMatrix(uMatrix); renderer.applyBitmapData(bitmap,false,repeat); renderer.applyAlpha(renderer.__getAlpha(graphics.__owner.__worldAlpha)); renderer.applyColorTransform(graphics.__owner.__worldColorTransform); } else { shader = openfl__$internal_renderer_context3D_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null); renderer.setShader(shader); renderer.applyMatrix(uMatrix); renderer.applyBitmapData(bitmap,smooth,repeat); renderer.applyAlpha(renderer.__getAlpha(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__$internal_renderer_context3D_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__$internal_renderer_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__$internal_renderer_context3D_Context3DGraphics.tempColorTransform.redOffset = color1 >>> 16 & 255; openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform.greenOffset = color1 >>> 8 & 255; openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform.blueOffset = color1 & 255; openfl__$internal_renderer_context3D_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__$internal_renderer_context3D_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null); renderer.setShader(shader1); renderer.applyMatrix(renderer.__getMatrix(matrix,1)); renderer.applyBitmapData(openfl__$internal_renderer_context3D_Context3DGraphics.blankBitmapData,true,repeat); renderer.applyAlpha(renderer.__getAlpha((color1 >>> 24 & 255) / 255 * graphics.__owner.__worldAlpha)); renderer.applyColorTransform(openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform); renderer.updateShader(); var vertexBuffer = openfl__$internal_renderer_context3D_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__$internal_renderer_context3D_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__$internal_renderer_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__$internal_renderer_context3D_Context3DGraphics.maskRender) { shader2 = renderer.__initShaderBuffer(shaderBuffer); renderer.__setShaderBuffer(shaderBuffer); renderer.applyMatrix(uMatrix1); renderer.applyBitmapData(bitmap,false,repeat); renderer.applyAlpha(renderer.__getAlpha(1)); renderer.applyColorTransform(null); renderer.__updateShaderBuffer(shaderBufferOffset); } else { shader2 = openfl__$internal_renderer_context3D_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null); renderer.setShader(shader2); renderer.applyMatrix(uMatrix1); renderer.applyBitmapData(bitmap,smooth,repeat); renderer.applyAlpha(renderer.__getAlpha(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; 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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_context3D_Context3DGraphics.renderMask = function(graphics,renderer) { openfl__$internal_renderer_context3D_Context3DGraphics.maskRender = true; openfl__$internal_renderer_context3D_Context3DGraphics.render(graphics,renderer); openfl__$internal_renderer_context3D_Context3DGraphics.maskRender = false; }; openfl__$internal_renderer_context3D_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__$internal_renderer_context3D_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__$internal_renderer_context3D_Context3DMaskShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform sampler2D openfl_Texture;\r\n\r\n\t\tvoid main(void) {\r\n\r\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\r\n\r\n\t\t\tif (color.a == 0.0) {\r\n\r\n\t\t\t\tdiscard;\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\tgl_FragColor = color;\r\n\r\n\t\t\t}\r\n\r\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute vec4 openfl_Position;\r\n\t\tattribute vec2 openfl_TextureCoord;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform mat4 openfl_Matrix;\r\n\r\n\t\tvoid main(void) {\r\n\r\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\r\n\r\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\r\n\r\n\t\t}"; } openfl_display_Shader.call(this); this.__isGenerated = true; this.__init(); }; $hxClasses["openfl._internal.renderer.context3D.Context3DMaskShader"] = openfl__$internal_renderer_context3D_Context3DMaskShader; openfl__$internal_renderer_context3D_Context3DMaskShader.__name__ = "openfl._internal.renderer.context3D.Context3DMaskShader"; openfl__$internal_renderer_context3D_Context3DMaskShader.__super__ = openfl_display_Shader; openfl__$internal_renderer_context3D_Context3DMaskShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_Position: null ,openfl_TextureCoord: null ,openfl_Matrix: null ,openfl_Texture: null ,__class__: openfl__$internal_renderer_context3D_Context3DMaskShader }); var openfl_display_OpenGLRenderer = function(context,defaultRenderTarget) { openfl_display_DisplayObjectRenderer.call(this); }; $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 ,applyAlpha: function(alpha) { } ,applyBitmapData: function(bitmapData,smooth,repeat) { if(repeat == null) { repeat = false; } } ,applyColorTransform: function(colorTransform) { } ,applyHasColorTransform: function(enabled) { } ,applyMatrix: function(matrix) { } ,getMatrix: function(transform) { return null; } ,setShader: function(shader) { } ,setViewport: function() { } ,updateShader: function() { } ,useAlphaArray: function() { } ,useColorTransformArray: function() { } ,__class__: openfl_display_OpenGLRenderer }); var openfl__$internal_renderer_context3D_Context3DRenderer = function(context,defaultRenderTarget) { this.__getMatrixHelperMatrix = new openfl_geom_Matrix(); this.batcher = null; var _gthis = this; openfl_display_OpenGLRenderer.call(this,context); this.__init(context,defaultRenderTarget); if(openfl_display_Graphics.maxTextureWidth == null) { openfl_display_Graphics.maxTextureWidth = openfl_display_Graphics.maxTextureHeight = this.__gl.getParameter(3379); } this.__matrix = lime_math__$Matrix4_Matrix4_$Impl_$._new(); this.__values = []; this.__softwareRenderer = new openfl__$internal_renderer_canvas_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.__alphaMaskShader = new openfl__$internal_renderer_context3D_Context3DAlphaMaskShader(); this.__maskShader = new openfl__$internal_renderer_context3D_Context3DMaskShader(); if(openfl__$internal_renderer_context3D_Context3DRenderer.__childRendererPool == null) { openfl__$internal_renderer_context3D_Context3DRenderer.__childRendererPool = new lime_utils_ObjectPool(function() { var renderer = new openfl__$internal_renderer_context3D_Context3DRenderer(_gthis.context3D,null); renderer.__worldTransform = new openfl_geom_Matrix(); renderer.__worldColorTransform = new openfl_geom_ColorTransform(); return renderer; }); } }; $hxClasses["openfl._internal.renderer.context3D.Context3DRenderer"] = openfl__$internal_renderer_context3D_Context3DRenderer; openfl__$internal_renderer_context3D_Context3DRenderer.__name__ = "openfl._internal.renderer.context3D.Context3DRenderer"; openfl__$internal_renderer_context3D_Context3DRenderer.__childRendererPool = null; openfl__$internal_renderer_context3D_Context3DRenderer.__super__ = openfl_display_OpenGLRenderer; openfl__$internal_renderer_context3D_Context3DRenderer.prototype = $extend(openfl_display_OpenGLRenderer.prototype,{ batcher: null ,context3D: null ,__alphaMaskShader: null ,__clipRects: null ,__context: 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 ,__getMatrixHelperMatrix: 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 ,__tempColorTransform: null ,__tempRect: null ,__updatedStencil: null ,__upscaled: null ,__values: null ,__width: null ,applyAlpha: function(alpha) { openfl__$internal_renderer_context3D_Context3DRenderer.__alphaValue[0] = alpha; if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_Alpha",openfl__$internal_renderer_context3D_Context3DRenderer.__alphaValue); } else if(this.__currentShader != null) { if(this.__currentShader.__alpha != null) { this.__currentShader.__alpha.value = openfl__$internal_renderer_context3D_Context3DRenderer.__alphaValue; } } } ,applyBitmapData: function(bitmapData,smooth,repeat) { if(repeat == null) { repeat = false; } if(this.__currentShaderBuffer != null) { if(bitmapData != null) { openfl__$internal_renderer_context3D_Context3DRenderer.__textureSizeValue[0] = bitmapData.__textureWidth; openfl__$internal_renderer_context3D_Context3DRenderer.__textureSizeValue[1] = bitmapData.__textureHeight; this.__currentShaderBuffer.addFloatOverride("openfl_TextureSize",openfl__$internal_renderer_context3D_Context3DRenderer.__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__$internal_renderer_context3D_Context3DRenderer.__textureSizeValue[0] = bitmapData.__textureWidth; openfl__$internal_renderer_context3D_Context3DRenderer.__textureSizeValue[1] = bitmapData.__textureHeight; this.__currentShader.__textureSize.value = openfl__$internal_renderer_context3D_Context3DRenderer.__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__$internal_renderer_context3D_Context3DRenderer.__colorMultipliersValue,openfl__$internal_renderer_context3D_Context3DRenderer.__colorOffsetsValue); if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_ColorMultiplier",openfl__$internal_renderer_context3D_Context3DRenderer.__colorMultipliersValue); this.__currentShaderBuffer.addFloatOverride("openfl_ColorOffset",openfl__$internal_renderer_context3D_Context3DRenderer.__colorOffsetsValue); } else if(this.__currentShader != null) { if(this.__currentShader.__colorMultiplier != null) { this.__currentShader.__colorMultiplier.value = openfl__$internal_renderer_context3D_Context3DRenderer.__colorMultipliersValue; } if(this.__currentShader.__colorOffset != null) { this.__currentShader.__colorOffset.value = openfl__$internal_renderer_context3D_Context3DRenderer.__colorOffsetsValue; } } } else if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_ColorMultiplier",openfl__$internal_renderer_context3D_Context3DRenderer.__emptyColorValue); this.__currentShaderBuffer.addFloatOverride("openfl_ColorOffset",openfl__$internal_renderer_context3D_Context3DRenderer.__emptyColorValue); } else if(this.__currentShader != null) { if(this.__currentShader.__colorMultiplier != null) { this.__currentShader.__colorMultiplier.value = openfl__$internal_renderer_context3D_Context3DRenderer.__emptyColorValue; } if(this.__currentShader.__colorOffset != null) { this.__currentShader.__colorOffset.value = openfl__$internal_renderer_context3D_Context3DRenderer.__emptyColorValue; } } } ,applyHasColorTransform: function(enabled) { openfl__$internal_renderer_context3D_Context3DRenderer.__hasColorTransformValue[0] = enabled; if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addBoolOverride("openfl_HasColorTransform",openfl__$internal_renderer_context3D_Context3DRenderer.__hasColorTransformValue); } else if(this.__currentShader != null) { if(this.__currentShader.__hasColorTransform != null) { this.__currentShader.__hasColorTransform.value = openfl__$internal_renderer_context3D_Context3DRenderer.__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; } ,__drawBitmapData: function(bitmapData,source,clipRect) { var clipMatrix = null; if(clipRect != null) { clipMatrix = openfl_geom_Matrix.__pool.get(); clipMatrix.copyFrom(this.__worldTransform); clipMatrix.invert(); this.__pushMaskRect(clipRect,clipMatrix); } var context = this.context3D; var cacheRTT = context.__state.renderToTexture; var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector; var prevRenderTarget = this.__defaultRenderTarget; context.setRenderToTexture(bitmapData.getTexture(context),true); this.__setRenderTarget(bitmapData); this.__render(source); if(cacheRTT != null) { context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { context.setRenderToBackBuffer(); } this.__setRenderTarget(prevRenderTarget); if(clipRect != null) { this.__popMaskRect(); openfl_geom_Matrix.__pool.release(clipMatrix); } } ,__fillRect: function(bitmapData,rect,color) { if(bitmapData.__texture != null) { var context = bitmapData.__texture.__context; var color1 = color; var useScissor = !bitmapData.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(bitmapData.__texture); if(useScissor) { context.setScissorRectangle(rect); } context.clear((color1 >>> 16 & 255) / 255,(color1 >>> 8 & 255) / 255,(color1 & 255) / 255,bitmapData.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(); } } } ,__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; } } ,__getDisplayTransformTempMatrix: function(transform,pixelSnapping) { var matrix = this.__getMatrixHelperMatrix; matrix.copyFrom(transform); 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); } return matrix; } ,__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; } ,__init: function(context,defaultRenderTarget) { this.context3D = context; this.__context = context.__context; this.__gl = context.__context.webgl; this.gl = this.__gl; if(this.batcher == null) { this.batcher = new openfl__$internal_renderer_context3D_batcher_BatchRenderer(this,4096); } else { this.batcher.flush(); } this.__defaultRenderTarget = defaultRenderTarget; this.__flipped = this.__defaultRenderTarget == null; } ,__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; } this.batcher.flush(); 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.__renderMask(mask); this.batcher.flush(); 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(); } } } ,__powerOfTwo: function(value) { var newValue = 1; while(newValue < value) newValue <<= 1; return newValue; } ,__pushMask: function(mask) { this.batcher.flush(); 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.__renderMask(mask); this.batcher.flush(); 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__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle.setTo(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight); this.context3D.setScissorRectangle(openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle); this.__upscaled = this.__worldTransform.a != 1 || this.__worldTransform.d != 1; if(object != null && object.__type != null) { this.__renderDisplayObject(object); } this.batcher.flush(); if(this.__offsetX > 0 || this.__offsetY > 0) { if(this.__offsetX > 0) { openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle.setTo(0,0,this.__offsetX,this.__height); this.context3D.setScissorRectangle(openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle); this.context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(16384); openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle.setTo(this.__offsetX + this.__displayWidth,0,this.__width,this.__height); this.context3D.setScissorRectangle(openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle); this.context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(16384); } if(this.__offsetY > 0) { openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle.setTo(0,0,this.__width,this.__offsetY); this.context3D.setScissorRectangle(openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle); this.context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(16384); openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle.setTo(0,this.__offsetY + this.__displayHeight,this.__width,this.__height); this.context3D.setScissorRectangle(openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle); this.context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(16384); } this.context3D.setScissorRectangle(null); } } else { openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle.setTo(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight); this.context3D.setScissorRectangle(openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle); var cacheMask = object.__mask; var cacheScrollRect = object.__scrollRect; object.__mask = null; object.__scrollRect = null; if(object != null) { if(object.__type != null) { this.__renderDisplayObject(object); } else { this.__renderBitmapData(object); } } this.batcher.flush(); object.__mask = cacheMask; object.__scrollRect = cacheScrollRect; this.context3D.setScissorRectangle(null); } this.context3D.present(); } ,__renderBitmap: function(bitmap) { this.__updateCacheBitmap(bitmap,false); if(bitmap.__bitmapData != null && bitmap.__bitmapData.image != null) { bitmap.__imageVersion = bitmap.__bitmapData.image.version; } if(bitmap.__cacheBitmap != null && !bitmap.__isCacheBitmapRender) { openfl__$internal_renderer_context3D_Context3DBitmap.render2(bitmap.__cacheBitmap,this); } 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) { this.batcher.flush(); this.__setBlendMode(bitmap.__worldBlendMode); this.__pushMaskObject(bitmap); var context = this.context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,bitmap.get_width(),bitmap.get_height()); this.__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); this.__popMaskRect(); this.__popMaskObject(bitmap); openfl_geom_Rectangle.__pool.release(rect); } if(bitmap.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.render(bitmap,this); } } } openfl__$internal_renderer_context3D_Context3DBitmap.render(bitmap,this); } } ,__renderBitmapData: function(bitmapData) { this.__setBlendMode(10); var shader = this.__defaultDisplayShader; this.setShader(shader); this.applyBitmapData(bitmapData,this.__upscaled); this.applyMatrix(this.__getMatrix(bitmapData.__worldTransform,1)); this.applyAlpha(this.__getAlpha(bitmapData.__worldAlpha)); this.applyColorTransform(bitmapData.__worldColorTransform); this.updateShader(); var vertexBuffer = bitmapData.getVertexBuffer(this.context3D); if(shader.__position != null) { this.context3D.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { this.context3D.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = bitmapData.getIndexBuffer(this.context3D); this.context3D.drawTriangles(indexBuffer); this.__clearShader(); } ,__renderDisplayObject: function(object) { if(object != null && object.__type != null) { switch(object.__type._hx_index) { case 0: this.__renderBitmap(object); break; case 1:case 5: this.__renderShape(object); break; case 2:case 4: this.__renderDisplayObjectContainer(object); break; case 6: this.__renderSimpleButton(object); break; case 7: this.__renderTextField(object); break; case 8: this.__renderTilemap(object); break; case 9: this.__renderVideo(object); break; default: } if(object.__customRenderEvent != null) { var event = object.__customRenderEvent; event.allowSmoothing = this.__allowSmoothing; event.objectMatrix.copyFrom(object.__renderTransform); event.objectColorTransform.__copyFrom(object.__worldColorTransform); event.renderer = this; if(!this.__cleared) { this.__clear(); } this.setShader(object.__worldShader); this.context3D.__flushGL(); event.type = "renderOpenGL"; this.__setBlendMode(object.__worldBlendMode); this.__pushMaskObject(object); object.dispatchEvent(event); this.__popMaskObject(object); this.setViewport(); } } } ,__renderDisplayObjectContainer: function(container) { var orphan = container.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } container.__removedChildren.set_length(0); if(!container.__renderable || container.__worldAlpha <= 0) { return; } this.__updateCacheBitmap(container,false); if(container.__cacheBitmap != null && !container.__isCacheBitmapRender) { openfl__$internal_renderer_context3D_Context3DBitmap.render2(container.__cacheBitmap,this); } else if(!(container.opaqueBackground == null && container.__graphics == null)) { if(!(!container.__renderable || container.__worldAlpha <= 0)) { if(container.opaqueBackground != null && !container.__isCacheBitmapRender && container.get_width() > 0 && container.get_height() > 0) { this.batcher.flush(); this.__setBlendMode(container.__worldBlendMode); this.__pushMaskObject(container); var context = this.context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,container.get_width(),container.get_height()); this.__pushMaskRect(rect,container.__renderTransform); var color = container.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); this.__popMaskRect(); this.__popMaskObject(container); openfl_geom_Rectangle.__pool.release(rect); } if(container.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.render(container,this); } } } if(container.__cacheBitmap != null && !container.__isCacheBitmapRender) { return; } if(container.numChildren > 0) { this.__pushMaskObject(container); var child = container.__firstChild; if(this.__stage != null) { while(child != null) { this.__renderDisplayObject(child); child.__renderDirty = false; child = child.__nextSibling; } container.__renderDirty = false; } else { while(child != null) { this.__renderDisplayObject(child); child = child.__nextSibling; } } } if(container.numChildren > 0) { this.__popMaskObject(container); } } ,__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(this.__getAlpha(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(); } ,__renderMask: function(mask) { if(mask != null) { switch(mask.__type._hx_index) { case 0: openfl__$internal_renderer_context3D_Context3DBitmap.renderMask(mask,this); break; case 3: break; case 2:case 4: var container = mask; var orphan = container.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } container.__removedChildren.set_length(0); if(container.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.renderMask(container,this); } var child = container.__firstChild; while(child != null) { this.__renderMask(child); child = child.__nextSibling; } break; case 6: var button = mask; this.__renderMask(button.__currentState); break; case 7: openfl__$internal_renderer_context3D_Context3DTextField.renderMask(mask,this); openfl__$internal_renderer_context3D_Context3DShape.renderMask(mask,this); break; case 8: var displayObject = mask; if(!(displayObject.opaqueBackground == null && displayObject.__graphics == null)) { var tmp = displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0; if(displayObject.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.renderMask(displayObject,this); } } openfl__$internal_renderer_context3D_Context3DTilemap.renderMask(mask,this); break; case 9: openfl__$internal_renderer_context3D_Context3DVideo.renderMask(mask,this); break; default: if(mask.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.renderMask(mask,this); } } } } ,__renderShape: function(shape) { this.__updateCacheBitmap(shape,false); if(shape.__cacheBitmap != null && !shape.__isCacheBitmapRender) { openfl__$internal_renderer_context3D_Context3DBitmap.render2(shape.__cacheBitmap,this); } else if(!(shape.opaqueBackground == null && shape.__graphics == null)) { if(!(!shape.__renderable || shape.__worldAlpha <= 0)) { if(shape.opaqueBackground != null && !shape.__isCacheBitmapRender && shape.get_width() > 0 && shape.get_height() > 0) { this.batcher.flush(); this.__setBlendMode(shape.__worldBlendMode); this.__pushMaskObject(shape); var context = this.context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,shape.get_width(),shape.get_height()); this.__pushMaskRect(rect,shape.__renderTransform); var color = shape.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); this.__popMaskRect(); this.__popMaskObject(shape); openfl_geom_Rectangle.__pool.release(rect); } if(shape.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.render(shape,this); } } } } ,__renderSimpleButton: function(button) { if(!button.__renderable || button.__worldAlpha <= 0 || button.__currentState == null) { return; } this.__pushMaskObject(button); this.__renderDisplayObject(button.__currentState); this.__popMaskObject(button); } ,__renderTextField: function(textField) { this.__updateCacheBitmap(textField,textField.__dirty); if(textField.__cacheBitmap != null && !textField.__isCacheBitmapRender) { openfl__$internal_renderer_context3D_Context3DBitmap.render2(textField.__cacheBitmap,this); } else { openfl__$internal_renderer_context3D_Context3DTextField.render(textField,this); 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) { this.batcher.flush(); this.__setBlendMode(textField.__worldBlendMode); this.__pushMaskObject(textField); var context = this.context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,textField.get_width(),textField.get_height()); this.__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); this.__popMaskRect(); this.__popMaskObject(textField); openfl_geom_Rectangle.__pool.release(rect); } if(textField.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.render(textField,this); } } } } } ,__renderTilemap: function(tilemap) { this.__updateCacheBitmap(tilemap,false); if(tilemap.__cacheBitmap != null && !tilemap.__isCacheBitmapRender) { openfl__$internal_renderer_context3D_Context3DBitmap.render2(tilemap.__cacheBitmap,this); } 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) { this.batcher.flush(); this.__setBlendMode(tilemap.__worldBlendMode); this.__pushMaskObject(tilemap); var context = this.context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,tilemap.get_width(),tilemap.get_height()); this.__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); this.__popMaskRect(); this.__popMaskObject(tilemap); openfl_geom_Rectangle.__pool.release(rect); } if(tilemap.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.render(tilemap,this); } } } openfl__$internal_renderer_context3D_Context3DTilemap.render(tilemap,this); } } ,__renderVideo: function(video) { openfl__$internal_renderer_context3D_Context3DVideo.render(video,this); } ,__resize: function(width,height) { this.__width = width; this.__height = height; var w = this.__defaultRenderTarget == null ? this.__stage.stageWidth : this.__defaultRenderTarget.__textureWidth; var h = this.__defaultRenderTarget == null ? this.__stage.stageHeight : this.__defaultRenderTarget.__textureHeight; 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) { this.batcher.flush(); 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__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle.setTo(x,y,width,height); this.context3D.setScissorRectangle(openfl__$internal_renderer_context3D_Context3DRenderer.__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(32779); 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; } ,__shouldCacheHardware: function(object,value) { if(value == true) { return true; } switch(object.__type._hx_index) { case 2:case 4: if(object.__filters != null) { return true; } if(value == false || object.__graphics != null && !openfl__$internal_renderer_context3D_Context3DGraphics.isCompatible(object.__graphics)) { value = false; } var child = object.__firstChild; while(child != null) { value = this.__shouldCacheHardware(child,value); if(value == true) { return true; } child = child.__nextSibling; } return value; case 7: if(value == true) { return true; } else { return false; } break; case 8: return true; default: if(value == true || object.__filters != null) { return true; } if(value == false || object.__graphics != null && !openfl__$internal_renderer_context3D_Context3DGraphics.isCompatible(object.__graphics)) { return false; } return null; } } ,__shouldSnapToPixel: function(bitmap) { var _g = bitmap.pixelSnapping; if(_g == null) { return false; } else { switch(_g) { case 0: return true; case 1: if(Math.abs(bitmap.__renderTransform.a) == 1) { return Math.abs(bitmap.__renderTransform.d) == 1; } else { return false; } break; case 2: return false; } } } ,__suspendClipAndMask: function() { if(this.__stencilReference > 0) { this.context3D.setStencilActions(); this.context3D.setStencilReferenceValue(0,0,0); } if(this.__numClipRects > 0) { this.__scissorRect(); } } ,__updateCacheBitmap: function(object,force) { if(object.__isCacheBitmapRender) { return false; } var updated = false; if(object.get_cacheAsBitmap()) { if(object.__cacheBitmapMatrix == null) { object.__cacheBitmapMatrix = new openfl_geom_Matrix(); } var hasFilters = object.__filters != null; var bitmapMatrix = object.__cacheAsBitmapMatrix != null ? object.__cacheAsBitmapMatrix : object.__renderTransform; var colorTransform = openfl_geom_ColorTransform.__pool.get(); colorTransform.__copyFrom(object.__worldColorTransform); if(this.__worldColorTransform != null) { colorTransform.__combine(this.__worldColorTransform); } var needRender = object.__cacheBitmap == null || object.__renderDirty && (force || object.__firstChild != null) || object.opaqueBackground != object.__cacheBitmapBackground || object.__graphics != null && object.__graphics.__hardwareDirty; var rect = null; if(!needRender && (bitmapMatrix.a != object.__cacheBitmapMatrix.a || bitmapMatrix.b != object.__cacheBitmapMatrix.b || bitmapMatrix.c != object.__cacheBitmapMatrix.c || bitmapMatrix.d != object.__cacheBitmapMatrix.d)) { needRender = true; } if(hasFilters && !needRender) { var _g = 0; var _g1 = object.__filters; while(_g < _g1.length) { var filter = _g1[_g]; ++_g; if(filter.__renderDirty) { needRender = true; break; } } } var updateTransform = needRender || !object.__cacheBitmap.__worldTransform.equals(object.__worldTransform); object.__cacheBitmapMatrix.copyFrom(bitmapMatrix); object.__cacheBitmapMatrix.tx = 0; object.__cacheBitmapMatrix.ty = 0; var bitmapWidth = 0; var bitmapHeight = 0; var filterWidth = 0; var filterHeight = 0; var offsetX = 0.; var offsetY = 0.; if(updateTransform) { rect = openfl_geom_Rectangle.__pool.get(); object.__getFilterBounds(rect,object.__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(object.__cacheBitmapDataTexture != null) { if(filterWidth > object.__cacheBitmapDataTexture.width || filterHeight > object.__cacheBitmapDataTexture.height) { var newValue = 1; while(newValue < filterWidth) newValue <<= 1; bitmapWidth = newValue; var newValue1 = 1; while(newValue1 < filterHeight) newValue1 <<= 1; bitmapHeight = newValue1; needRender = true; } else { bitmapWidth = object.__cacheBitmapDataTexture.width; bitmapHeight = object.__cacheBitmapDataTexture.height; } } else { var newValue2 = 1; while(newValue2 < filterWidth) newValue2 <<= 1; bitmapWidth = newValue2; var newValue3 = 1; while(newValue3 < filterHeight) newValue3 <<= 1; bitmapHeight = newValue3; } } if(needRender) { updateTransform = true; object.__cacheBitmapBackground = object.opaqueBackground; if(filterWidth >= 0.5 && filterHeight >= 0.5) { var needsFill = object.opaqueBackground != null && (bitmapWidth != filterWidth || bitmapHeight != filterHeight); var fillColor = object.opaqueBackground != null ? -16777216 | object.opaqueBackground : 0; if(object.__cacheBitmapDataTexture == null || bitmapWidth > object.__cacheBitmapDataTexture.width || bitmapHeight > object.__cacheBitmapDataTexture.height) { var texture = this.context3D.createRectangleTexture(bitmapWidth,bitmapHeight,1,true); object.__cacheBitmapDataTexture = openfl_display_BitmapData.fromTexture(texture); } object.__cacheBitmapDataTexture.fillRect(rect,0); if(needsFill) { rect.setTo(0,0,filterWidth,filterHeight); object.__cacheBitmapDataTexture.fillRect(rect,fillColor); } } else { openfl_geom_ColorTransform.__pool.release(colorTransform); object.__cacheBitmap = null; object.__cacheBitmapData = null; object.__cacheBitmapDataTexture = null; return true; } } if(object.__cacheBitmap == null) { object.__cacheBitmap = new openfl_display_Bitmap(); } object.__cacheBitmap.set_bitmapData(object.__cacheBitmapDataTexture); if(updateTransform) { object.__cacheBitmap.__worldTransform.copyFrom(object.__worldTransform); if(bitmapMatrix == object.__renderTransform) { object.__cacheBitmap.__renderTransform.identity(); object.__cacheBitmap.__renderTransform.tx = object.__renderTransform.tx + offsetX; object.__cacheBitmap.__renderTransform.ty = object.__renderTransform.ty + offsetY; } else { object.__cacheBitmap.__renderTransform.copyFrom(object.__cacheBitmapMatrix); object.__cacheBitmap.__renderTransform.invert(); object.__cacheBitmap.__renderTransform.concat(object.__renderTransform); object.__cacheBitmap.__renderTransform.tx += offsetX; object.__cacheBitmap.__renderTransform.ty += offsetY; } } object.__cacheBitmap.smoothing = this.__allowSmoothing; object.__cacheBitmap.__renderable = object.__renderable; object.__cacheBitmap.__worldAlpha = object.__worldAlpha; object.__cacheBitmap.__worldBlendMode = object.__worldBlendMode; object.__cacheBitmap.__worldShader = object.__worldShader; object.__cacheBitmap.set_mask(object.__mask); if(needRender) { var childRenderer = openfl__$internal_renderer_context3D_Context3DRenderer.__childRendererPool.get(); childRenderer.__init(this.context3D,object.__cacheBitmapDataTexture); childRenderer.__stage = object.stage; childRenderer.__allowSmoothing = this.__allowSmoothing; childRenderer.__setBlendMode(10); childRenderer.__worldAlpha = 1 / object.__worldAlpha; childRenderer.__worldTransform.copyFrom(object.__renderTransform); childRenderer.__worldTransform.invert(); childRenderer.__worldTransform.concat(object.__cacheBitmapMatrix); childRenderer.__worldTransform.tx -= offsetX; childRenderer.__worldTransform.ty -= offsetY; childRenderer.__worldColorTransform.__copyFrom(colorTransform); childRenderer.__worldColorTransform.__invert(); object.__isCacheBitmapRender = true; var cacheRTT = this.context3D.__state.renderToTexture; var cacheRTTDepthStencil = this.context3D.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = this.context3D.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = this.context3D.__state.renderToTextureSurfaceSelector; var cacheBlendMode = this.__blendMode; this.__suspendClipAndMask(); childRenderer.__copyShader(this); object.__cacheBitmapDataTexture.__setUVRect(this.context3D,0,0,filterWidth,filterHeight); childRenderer.__setRenderTarget(object.__cacheBitmapDataTexture); childRenderer.__drawBitmapData(object.__cacheBitmapDataTexture,object,null); if(hasFilters) { var needCopyOfOriginal = false; var _g2 = 0; var _g11 = object.__filters; while(_g2 < _g11.length) { var filter1 = _g11[_g2]; ++_g2; if(filter1.__preserveObject) { needCopyOfOriginal = true; } } var cacheRenderer = openfl_display_BitmapData.__hardwareRenderer; openfl_display_BitmapData.__hardwareRenderer = childRenderer; var bitmap = this.context3D.__bitmapDataPool.get(filterWidth,filterHeight); var bitmap2 = this.context3D.__bitmapDataPool.get(filterWidth,filterHeight); var bitmap3 = needCopyOfOriginal ? this.context3D.__bitmapDataPool.get(filterWidth,filterHeight) : null; bitmap.__setUVRect(this.context3D,0,0,filterWidth,filterHeight); bitmap2.__setUVRect(this.context3D,0,0,filterWidth,filterHeight); if(bitmap3 != null) { bitmap3.__setUVRect(this.context3D,0,0,filterWidth,filterHeight); } childRenderer.__setBlendMode(10); childRenderer.__worldAlpha = 1; childRenderer.__worldTransform.identity(); childRenderer.__worldColorTransform.__identity(); var shader; var cacheBitmap; var firstPass = true; var _g21 = 0; var _g3 = object.__filters; while(_g21 < _g3.length) { var filter2 = _g3[_g21]; ++_g21; if(filter2.__preserveObject) { childRenderer.__setRenderTarget(bitmap3); childRenderer.__renderFilterPass(firstPass ? object.__cacheBitmapDataTexture : bitmap,childRenderer.__defaultDisplayShader,filter2.__smooth); } var _g22 = 0; var _g31 = filter2.__numShaderPasses; while(_g22 < _g31) { var i = _g22++; shader = filter2.__initShader(childRenderer,i,filter2.__preserveObject ? bitmap3 : null); childRenderer.__setBlendMode(filter2.__shaderBlendMode); childRenderer.__setRenderTarget(bitmap2); childRenderer.__renderFilterPass(firstPass ? object.__cacheBitmapDataTexture : bitmap,shader,filter2.__smooth); firstPass = false; cacheBitmap = bitmap; bitmap = bitmap2; bitmap2 = cacheBitmap; } filter2.__renderDirty = false; } if(bitmap != null) { object.__cacheBitmapDataTexture.fillRect(object.__cacheBitmapDataTexture.rect,0); childRenderer.__setRenderTarget(object.__cacheBitmapDataTexture); childRenderer.__renderFilterPass(bitmap,childRenderer.__defaultDisplayShader,true); } this.context3D.__bitmapDataPool.release(bitmap); this.context3D.__bitmapDataPool.release(bitmap2); if(bitmap3 != null) { this.context3D.__bitmapDataPool.release(bitmap3); } openfl_display_BitmapData.__hardwareRenderer = cacheRenderer; } this.__blendMode = 10; this.__setBlendMode(cacheBlendMode); this.__copyShader(childRenderer); if(cacheRTT != null) { this.context3D.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { this.context3D.setRenderToBackBuffer(); } this.__resumeClipAndMask(childRenderer); this.setViewport(); object.__isCacheBitmapRender = false; openfl__$internal_renderer_context3D_Context3DRenderer.__childRendererPool.release(childRenderer); } if(updateTransform) { openfl_geom_Rectangle.__pool.release(rect); } updated = updateTransform; openfl_geom_ColorTransform.__pool.release(colorTransform); } else if(object.__cacheBitmap != null) { object.__cacheBitmap = null; object.__cacheBitmapDataTexture = null; updated = true; } return updated; } ,__updateShaderBuffer: function(bufferOffset) { if(this.__currentShader != null && this.__currentShaderBuffer != null) { this.__currentShader.__updateFromBuffer(this.__currentShaderBuffer,bufferOffset); } } ,__class__: openfl__$internal_renderer_context3D_Context3DRenderer }); var openfl__$internal_renderer_context3D_Context3DShape = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DShape"] = openfl__$internal_renderer_context3D_Context3DShape; openfl__$internal_renderer_context3D_Context3DShape.__name__ = "openfl._internal.renderer.context3D.Context3DShape"; openfl__$internal_renderer_context3D_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__$internal_renderer_context3D_Context3DGraphics.render(graphics,renderer); if(graphics.__bitmap != null && graphics.__visible) { var bitmapData = graphics.__bitmap; var transform = renderer.__getDisplayTransformTempMatrix(graphics.__worldTransform,1); var alpha = renderer.__getAlpha(shape.__worldAlpha); bitmapData.pushQuadsToBatcher(renderer.batcher,transform,alpha,shape); } renderer.__popMaskObject(shape); } }; openfl__$internal_renderer_context3D_Context3DShape.renderMask = function(shape,renderer) { var graphics = shape.__graphics; if(graphics != null) { openfl__$internal_renderer_context3D_Context3DGraphics.renderMask(graphics,renderer); if(graphics.__bitmap != null) { renderer.batcher.flush(); 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__$internal_renderer_context3D_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._internal.renderer.context3D.Context3DState"] = openfl__$internal_renderer_context3D_Context3DState; openfl__$internal_renderer_context3D_Context3DState.__name__ = "openfl._internal.renderer.context3D.Context3DState"; openfl__$internal_renderer_context3D_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__$internal_renderer_context3D_Context3DState }; var openfl__$internal_renderer_context3D_Context3DTextField = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DTextField"] = openfl__$internal_renderer_context3D_Context3DTextField; openfl__$internal_renderer_context3D_Context3DTextField.__name__ = "openfl._internal.renderer.context3D.Context3DTextField"; openfl__$internal_renderer_context3D_Context3DTextField.render = function(textField,renderer) { var renderer1 = renderer.__softwareRenderer; var transform = textField.__worldTransform; var textEngine = textField.__textEngine; var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds; var graphics = textField.__graphics; if(textField.__dirty) { textField.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } 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__$internal_renderer_canvas_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer1.__domRenderer != null) { 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__$internal_renderer_canvas_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl__$internal_renderer_canvas_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect == null) { openfl__$internal_renderer_canvas_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect) { openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } openfl__$internal_renderer_canvas_CanvasTextField.context.textBaseline = "alphabetic"; openfl__$internal_renderer_canvas_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.bottomScrollV - 1) { break; } var color = "#" + StringTools.hex(group1.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.font = openfl__$internal_text_TextEngine.getFont(group1.format); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = color; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group1.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#000000"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group1.height); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x,group1.offsetY + group1.ascent + scrollY); } } } if(group1.format.underline) { openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = color; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.moveTo(x,y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(x + group1.width,y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp3; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) { var scrollX1 = -textField.get_scrollH(); var scrollY2 = 0.0; var _g2 = 0; var _g11 = textField.get_scrollV() - 1; while(_g2 < _g11) { var i3 = _g2++; scrollY2 += textEngine.lineHeights.get(i3); } var offsetX; switch(textField.get_defaultTextFormat().align) { case 0: offsetX = (textField.get_width() - 4) / 2; break; case 4: offsetX = textField.get_width() - 4; break; default: offsetX = 0; } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(scrollX1 + offsetX + 2.5,scrollY2 + 2.5); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(scrollX1 + offsetX + 2.5,scrollY2 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_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__$internal_renderer_context3D_Context3DTextField.renderMask = function(textField,renderer) { var renderer1 = renderer.__softwareRenderer; var transform = textField.__worldTransform; var textEngine = textField.__textEngine; var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds; var graphics = textField.__graphics; if(textField.__dirty) { textField.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } 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__$internal_renderer_canvas_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer1.__domRenderer != null) { 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__$internal_renderer_canvas_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl__$internal_renderer_canvas_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect == null) { openfl__$internal_renderer_canvas_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect) { openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } openfl__$internal_renderer_canvas_CanvasTextField.context.textBaseline = "alphabetic"; openfl__$internal_renderer_canvas_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.bottomScrollV - 1) { break; } var color = "#" + StringTools.hex(group1.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.font = openfl__$internal_text_TextEngine.getFont(group1.format); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = color; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group1.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#000000"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group1.height); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x,group1.offsetY + group1.ascent + scrollY); } } } if(group1.format.underline) { openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = color; openfl__$internal_renderer_canvas_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__$internal_renderer_canvas_CanvasTextField.context.moveTo(x,y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(x + group1.width,y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp3; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) { var scrollX1 = -textField.get_scrollH(); var scrollY2 = 0.0; var _g2 = 0; var _g11 = textField.get_scrollV() - 1; while(_g2 < _g11) { var i3 = _g2++; scrollY2 += textEngine.lineHeights.get(i3); } var offsetX; switch(textField.get_defaultTextFormat().align) { case 0: offsetX = (textField.get_width() - 4) / 2; break; case 4: offsetX = textField.get_width() - 4; break; default: offsetX = 0; } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(scrollX1 + offsetX + 2.5,scrollY2 + 2.5); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(scrollX1 + offsetX + 2.5,scrollY2 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_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__$internal_renderer_context3D_Context3DTilemap = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DTilemap"] = openfl__$internal_renderer_context3D_Context3DTilemap; openfl__$internal_renderer_context3D_Context3DTilemap.__name__ = "openfl._internal.renderer.context3D.Context3DTilemap"; openfl__$internal_renderer_context3D_Context3DTilemap.cacheColorTransform = null; openfl__$internal_renderer_context3D_Context3DTilemap.buildBufferTileContainer = function(tilemap,group,renderer,parentTransform,defaultTileset,alphaEnabled,worldAlpha,colorTransformEnabled,defaultColorTransform,cacheBitmapData,rect,matrix) { var tileTransform = openfl_geom_Matrix.__pool.get(); var roundPixels = renderer.__roundPixels; var tiles = group.__tiles; var length = group.__length; var tile; 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 _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); if(roundPixels) { tileTransform.tx = Math.round(tileTransform.tx); tileTransform.ty = Math.round(tileTransform.ty); } tileset = tile1.get_tileset() != null ? tile1.get_tileset() : defaultTileset; alpha = tile1.get_alpha() * worldAlpha; visible = tile1.get_visible(); tile1.__dirty = false; if(!visible || alpha <= 0) { continue; } if(colorTransformEnabled) { if(tile1.get_colorTransform() != null) { if(defaultColorTransform == null) { colorTransform = tile1.get_colorTransform(); } else { if(openfl__$internal_renderer_context3D_Context3DTilemap.cacheColorTransform == null) { openfl__$internal_renderer_context3D_Context3DTilemap.cacheColorTransform = new openfl_geom_ColorTransform(); } colorTransform = openfl__$internal_renderer_context3D_Context3DTilemap.cacheColorTransform; colorTransform.redMultiplier = defaultColorTransform.redMultiplier * tile1.get_colorTransform().redMultiplier; colorTransform.greenMultiplier = defaultColorTransform.greenMultiplier * tile1.get_colorTransform().greenMultiplier; colorTransform.blueMultiplier = defaultColorTransform.blueMultiplier * tile1.get_colorTransform().blueMultiplier; colorTransform.alphaMultiplier = defaultColorTransform.alphaMultiplier * tile1.get_colorTransform().alphaMultiplier; colorTransform.redOffset = defaultColorTransform.redOffset + tile1.get_colorTransform().redOffset; colorTransform.greenOffset = defaultColorTransform.greenOffset + tile1.get_colorTransform().greenOffset; colorTransform.blueOffset = defaultColorTransform.blueOffset + tile1.get_colorTransform().blueOffset; colorTransform.alphaOffset = defaultColorTransform.alphaOffset + tile1.get_colorTransform().alphaOffset; } } else { colorTransform = defaultColorTransform; } } if(!alphaEnabled) { alpha = 1; } if(tile1.__length > 0) { openfl__$internal_renderer_context3D_Context3DTilemap.buildBufferTileContainer(tilemap,tile1,renderer,tileTransform,tileset,alphaEnabled,alpha,colorTransformEnabled,colorTransform,cacheBitmapData,rect,matrix); } 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; } uvX = tileRect.x / bitmapData.__textureWidth; uvY = tileRect.y / bitmapData.__textureHeight; uvWidth = tileRect.get_right() / bitmapData.__textureWidth; uvHeight = tileRect.get_bottom() / bitmapData.__textureHeight; } 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; renderer.batcher.setVertices(tileTransform,0,0,tileWidth,tileHeight); renderer.batcher.setUvs(uvX,uvY,uvWidth,uvHeight); var blendMode = tilemap.__worldBlendMode; if(tilemap.tileBlendModeEnabled) { blendMode = tile1.__blendMode != null ? tile1.__blendMode : blendMode; } renderer.batcher.pushQuad(bitmapData,blendMode,alpha,colorTransform); } } group.__dirty = false; openfl_geom_Matrix.__pool.release(tileTransform); }; openfl__$internal_renderer_context3D_Context3DTilemap.render = function(tilemap,renderer) { if(!tilemap.__renderable || tilemap.__worldAlpha <= 0) { return; } if(!tilemap.__renderable || tilemap.__group.__tiles.length == 0 || tilemap.__worldAlpha <= 0) { return; } var rect = openfl_geom_Rectangle.__pool.get(); var matrix = openfl_geom_Matrix.__pool.get(); var parentTransform = tilemap.__renderTransform; var worldAlpha = tilemap.__filters == null ? tilemap.__worldAlpha : 1.0; openfl__$internal_renderer_context3D_Context3DTilemap.buildBufferTileContainer(tilemap,tilemap.__group,renderer,parentTransform,tilemap.__tileset,tilemap.tileAlphaEnabled,worldAlpha,tilemap.tileColorTransformEnabled,tilemap.__worldColorTransform,null,rect,matrix); openfl_geom_Rectangle.__pool.release(rect); openfl_geom_Matrix.__pool.release(matrix); }; openfl__$internal_renderer_context3D_Context3DTilemap.renderMask = function(tilemap,renderer) { }; var openfl__$internal_renderer_context3D_Context3DVideo = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DVideo"] = openfl__$internal_renderer_context3D_Context3DVideo; openfl__$internal_renderer_context3D_Context3DVideo.__name__ = "openfl._internal.renderer.context3D.Context3DVideo"; openfl__$internal_renderer_context3D_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(renderer.__getAlpha(video.__worldAlpha)); renderer.applyColorTransform(video.__worldColorTransform); if(shader.__textureSize != null) { openfl__$internal_renderer_context3D_Context3DVideo.__textureSizeValue[0] = video.__stream != null ? video.__stream.__video.videoWidth : 0; openfl__$internal_renderer_context3D_Context3DVideo.__textureSizeValue[1] = video.__stream != null ? video.__stream.__video.videoHeight : 0; shader.__textureSize.value = openfl__$internal_renderer_context3D_Context3DVideo.__textureSizeValue; } renderer.updateShader(); context.setTextureAt(0,video.__getTexture(context)); context.__flushGLTextures(); gl.uniform1i(shader.__texture.index,0); if(video.smoothing) { gl.texParameteri(3553,10240,9729); gl.texParameteri(3553,10241,9729); } else { gl.texParameteri(3553,10240,9728); gl.texParameteri(3553,10241,9728); } 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__$internal_renderer_context3D_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__$internal_renderer_context3D_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__$internal_renderer_context3D_batcher_BatchRenderer = function(renderer,maxQuads) { var _g = []; _g.push(0.0); _g.push(0.0); _g.push(0.0); _g.push(0.0); _g.push(0.0); _g.push(0.0); _g.push(0.0); _g.push(0.0); this.__vertices = _g; var _g1 = []; _g1.push(0.0); _g1.push(0.0); _g1.push(0.0); _g1.push(0.0); _g1.push(0.0); _g1.push(0.0); _g1.push(0.0); _g1.push(0.0); this.__userUvs = _g1; this.__samplers = []; this.renderer = renderer; this.gl = renderer.gl; var context = renderer.context3D; this.__emptyBitmapData = new openfl_display_BitmapData(1,1); this.__maxQuads = maxQuads; this.__maxTextures = Math.min(16,this.gl.getParameter(34930)) | 0; this.__shader = new openfl__$internal_renderer_context3D_batcher__$BatchRenderer_BatchShader(); this.__batch = new openfl__$internal_renderer_context3D_batcher__$BatchRenderer_Batch(this.__maxQuads,this.__maxTextures); this.__vertexBuffer = context.createVertexBuffer(this.__maxQuads * 4,13,0); this.__vertexBuffer.uploadFromTypedArray(this.__batch.vertices); this.__indexBuffer = context.createIndexBuffer(this.__maxQuads * 6,1); this.__indexBuffer.uploadFromTypedArray(openfl__$internal_renderer_context3D_batcher_BatchRenderer.__createIndicesForQuads(this.__maxQuads)); this.__shader.aTextureId.__useArray = true; var _g2 = []; var _g11 = 0; var _g21 = this.__maxTextures; while(_g11 < _g21) { var i = _g11++; _g2.push(Reflect.field(this.__shader.get_data(),"uSampler" + i)); } this.__samplers = _g2; }; $hxClasses["openfl._internal.renderer.context3D.batcher.BatchRenderer"] = openfl__$internal_renderer_context3D_batcher_BatchRenderer; openfl__$internal_renderer_context3D_batcher_BatchRenderer.__name__ = "openfl._internal.renderer.context3D.batcher.BatchRenderer"; openfl__$internal_renderer_context3D_batcher_BatchRenderer.__createIndicesForQuads = function(numQuads) { var totalIndices = numQuads * 6; var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1; if(totalIndices != null) { this1 = new Uint16Array(totalIndices); } 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; } var indices = this1; var i = 0; var j = 0; while(i < totalIndices) { indices[i] = j; indices[i + 1] = j + 1; indices[i + 2] = j + 2; indices[i + 3] = j; indices[i + 4] = j + 2; indices[i + 5] = j + 3; i += 6; j += 4; } return indices; }; openfl__$internal_renderer_context3D_batcher_BatchRenderer.prototype = { gl: null ,renderer: null ,__batch: null ,__indexBuffer: null ,__emptyBitmapData: null ,__maxQuads: null ,__maxTextures: null ,__samplers: null ,__shader: null ,__userUvs: null ,__uvs: null ,__vertexBuffer: null ,__vertices: null ,setVertices: function(transform,x,y,w,h) { var x1 = x + w; var y1 = y + h; this.__vertices[0] = x * transform.a + y * transform.c + transform.tx; this.__vertices[1] = x * transform.b + y * transform.d + transform.ty; this.__vertices[2] = x1 * transform.a + y * transform.c + transform.tx; this.__vertices[3] = x1 * transform.b + y * transform.d + transform.ty; this.__vertices[4] = x1 * transform.a + y1 * transform.c + transform.tx; this.__vertices[5] = x1 * transform.b + y1 * transform.d + transform.ty; this.__vertices[6] = x * transform.a + y1 * transform.c + transform.tx; this.__vertices[7] = x * transform.b + y1 * transform.d + transform.ty; } ,useDefaultUvs: function() { this.__uvs = openfl__$internal_renderer_context3D_batcher_BatchRenderer.DEFAULT_UVS; } ,setUvs: function(u,v,s,t) { this.__userUvs[0] = u; this.__userUvs[1] = v; this.__userUvs[2] = s; this.__userUvs[3] = v; this.__userUvs[4] = s; this.__userUvs[5] = t; this.__userUvs[6] = u; this.__userUvs[7] = t; this.__uvs = this.__userUvs; } ,setUs: function(u,s) { this.__userUvs[0] = u; this.__userUvs[2] = s; this.__userUvs[4] = s; this.__userUvs[6] = u; this.__uvs = this.__userUvs; } ,setVs: function(v,t) { this.__userUvs[1] = v; this.__userUvs[3] = v; this.__userUvs[5] = t; this.__userUvs[7] = t; this.__uvs = this.__userUvs; } ,pushQuad: function(bitmapData,blendMode,alpha,colorTransform) { var terminateBatch = this.__batch.numQuads >= this.__maxQuads || this.__batch.blendMode != blendMode; if(terminateBatch) { this.flush(); } var unit = 0; var texture = null; var _g = 0; var _g1 = this.__batch.numTextures; while(_g < _g1) { var i = _g++; if(this.__batch.textures[i] == bitmapData) { texture = this.__batch.textures[i]; unit = i; break; } } if(texture == null) { if(this.__batch.numTextures == this.__maxTextures) { this.flush(); } texture = bitmapData; unit = this.__batch.numTextures; this.__batch.textures[this.__batch.numTextures++] = texture; } this.__batch.blendMode = blendMode; this.__batch.push(unit,this.__vertices,this.__uvs,alpha,colorTransform); } ,flush: function() { if(this.__batch.numQuads == 0) { return; } var context = this.renderer.context3D; context.setCulling(3); this.renderer.__setBlendMode(this.__batch.blendMode); context.__bindGLArrayBuffer(this.__vertexBuffer.__id); var subArray = this.__batch.vertices.subarray(0,this.__batch.numQuads * 52); var this1 = this.gl; var srcData = subArray; var srcOffset = null; if(srcOffset != null) { this1.bufferSubData(34962,0,srcData,srcOffset,null); } else { this1.bufferSubData(34962,0,srcData); } this.renderer.setShader(this.__shader); this.renderer.applyMatrix(this.renderer.__getMatrix(openfl_geom_Matrix.__identity,1)); this.renderer.useColorTransformArray(); var _g = 0; var _g1 = this.__batch.numTextures; while(_g < _g1) { var i = _g++; this.__samplers[i].input = this.__batch.textures[i]; this.__samplers[i].filter = 4; } var _g2 = this.__batch.numTextures; var _g3 = this.__maxTextures; while(_g2 < _g3) { var i1 = _g2++; this.__samplers[i1].input = this.__emptyBitmapData; } this.renderer.updateShader(); context.setVertexBufferAt(this.__shader.__position.index,this.__vertexBuffer,0,2); context.setVertexBufferAt(this.__shader.__textureCoord.index,this.__vertexBuffer,2,2); context.setVertexBufferAt(this.__shader.__colorMultiplier.index,this.__vertexBuffer,4,4); context.setVertexBufferAt(this.__shader.__colorOffset.index,this.__vertexBuffer,8,4); context.setVertexBufferAt(this.__shader.aTextureId.index,this.__vertexBuffer,12,1); context.drawTriangles(this.__indexBuffer,0,this.__batch.numQuads * 2); this.__batch.clear(); } ,__class__: openfl__$internal_renderer_context3D_batcher_BatchRenderer }; var openfl__$internal_renderer_context3D_batcher__$BatchRenderer_Batch = function(maxQuads,maxTextures) { this.numTextures = 0; this.numQuads = 0; this.blendMode = null; var elements = maxQuads * 52; 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.vertices = this1; var elements1 = maxQuads * 6; var array1 = null; var vector1 = null; var view1 = null; var buffer1 = 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(buffer1 != null) { if(len1 == null) { this2 = new Uint16Array(buffer1,0); } else { this2 = new Uint16Array(buffer1,0,len1); } } else { this2 = null; } this.indices = this2; var _g = []; var _g1 = 0; var _g2 = maxTextures; while(_g1 < _g2) { var i = _g1++; _g.push(null); } this.textures = _g; }; $hxClasses["openfl._internal.renderer.context3D.batcher._BatchRenderer.Batch"] = openfl__$internal_renderer_context3D_batcher__$BatchRenderer_Batch; openfl__$internal_renderer_context3D_batcher__$BatchRenderer_Batch.__name__ = "openfl._internal.renderer.context3D.batcher._BatchRenderer.Batch"; openfl__$internal_renderer_context3D_batcher__$BatchRenderer_Batch.prototype = { blendMode: null ,indices: null ,vertices: null ,textures: null ,numQuads: null ,numTextures: null ,clear: function() { this.blendMode = null; this.numQuads = 0; this.numTextures = 0; } ,push: function(textureUnit,verts,uvs,alpha,colorTransform) { var _gthis = this; var startOffset = this.numQuads * 52; var ct = colorTransform != null ? colorTransform : openfl__$internal_renderer_context3D_batcher__$BatchRenderer_Batch.IDENTITY_COLOR_TRANSFORM; var alphaOffset = ct.alphaOffset * alpha; var offset = startOffset; _gthis.vertices[offset] = verts[0]; _gthis.vertices[offset + 1] = verts[1]; _gthis.vertices[offset + 2] = uvs[0]; _gthis.vertices[offset + 3] = uvs[1]; _gthis.vertices[offset + 4] = ct.redMultiplier; _gthis.vertices[offset + 5] = ct.greenMultiplier; _gthis.vertices[offset + 6] = ct.blueMultiplier; _gthis.vertices[offset + 7] = alpha; _gthis.vertices[offset + 8] = ct.redOffset; _gthis.vertices[offset + 9] = ct.greenOffset; _gthis.vertices[offset + 10] = ct.blueOffset; _gthis.vertices[offset + 11] = alphaOffset; _gthis.vertices[offset + 12] = textureUnit; var offset1 = startOffset + 13; _gthis.vertices[offset1] = verts[2]; _gthis.vertices[offset1 + 1] = verts[3]; _gthis.vertices[offset1 + 2] = uvs[2]; _gthis.vertices[offset1 + 3] = uvs[3]; _gthis.vertices[offset1 + 4] = ct.redMultiplier; _gthis.vertices[offset1 + 5] = ct.greenMultiplier; _gthis.vertices[offset1 + 6] = ct.blueMultiplier; _gthis.vertices[offset1 + 7] = alpha; _gthis.vertices[offset1 + 8] = ct.redOffset; _gthis.vertices[offset1 + 9] = ct.greenOffset; _gthis.vertices[offset1 + 10] = ct.blueOffset; _gthis.vertices[offset1 + 11] = alphaOffset; _gthis.vertices[offset1 + 12] = textureUnit; var offset2 = startOffset + 26; _gthis.vertices[offset2] = verts[4]; _gthis.vertices[offset2 + 1] = verts[5]; _gthis.vertices[offset2 + 2] = uvs[4]; _gthis.vertices[offset2 + 3] = uvs[5]; _gthis.vertices[offset2 + 4] = ct.redMultiplier; _gthis.vertices[offset2 + 5] = ct.greenMultiplier; _gthis.vertices[offset2 + 6] = ct.blueMultiplier; _gthis.vertices[offset2 + 7] = alpha; _gthis.vertices[offset2 + 8] = ct.redOffset; _gthis.vertices[offset2 + 9] = ct.greenOffset; _gthis.vertices[offset2 + 10] = ct.blueOffset; _gthis.vertices[offset2 + 11] = alphaOffset; _gthis.vertices[offset2 + 12] = textureUnit; var offset3 = startOffset + 39; _gthis.vertices[offset3] = verts[6]; _gthis.vertices[offset3 + 1] = verts[7]; _gthis.vertices[offset3 + 2] = uvs[6]; _gthis.vertices[offset3 + 3] = uvs[7]; _gthis.vertices[offset3 + 4] = ct.redMultiplier; _gthis.vertices[offset3 + 5] = ct.greenMultiplier; _gthis.vertices[offset3 + 6] = ct.blueMultiplier; _gthis.vertices[offset3 + 7] = alpha; _gthis.vertices[offset3 + 8] = ct.redOffset; _gthis.vertices[offset3 + 9] = ct.greenOffset; _gthis.vertices[offset3 + 10] = ct.blueOffset; _gthis.vertices[offset3 + 11] = alphaOffset; _gthis.vertices[offset3 + 12] = textureUnit; ++this.numQuads; } ,__class__: openfl__$internal_renderer_context3D_batcher__$BatchRenderer_Batch }; var openfl__$internal_renderer_context3D_batcher__$BatchRenderer_BatchShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "\r\n\t\tvarying vec4 openfl_ColorMultiplierv;\r\n\t\tvarying vec4 openfl_ColorOffsetv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\t\tvarying float vTextureId;\r\n\r\n\t\tuniform sampler2D uSampler0;\r\n\t\tuniform sampler2D uSampler1;\r\n\t\tuniform sampler2D uSampler2;\r\n\t\tuniform sampler2D uSampler3;\r\n\t\tuniform sampler2D uSampler4;\r\n\t\tuniform sampler2D uSampler5;\r\n\t\tuniform sampler2D uSampler6;\r\n\t\tuniform sampler2D uSampler7;\r\n\t\tuniform sampler2D uSampler8;\r\n\t\tuniform sampler2D uSampler9;\r\n\t\tuniform sampler2D uSampler10;\r\n\t\tuniform sampler2D uSampler11;\r\n\t\tuniform sampler2D uSampler12;\r\n\t\tuniform sampler2D uSampler13;\r\n\t\tuniform sampler2D uSampler14;\r\n\t\tuniform sampler2D uSampler15;\r\n\r\n\t\tvoid main(void) {\r\n\t\t\tvec4 color;\r\n\t\t\tif (vTextureId == 0.0) color = texture2D(uSampler0, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 1.0) color = texture2D(uSampler1, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 2.0) color = texture2D(uSampler2, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 3.0) color = texture2D(uSampler3, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 4.0) color = texture2D(uSampler4, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 5.0) color = texture2D(uSampler5, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 6.0) color = texture2D(uSampler6, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 7.0) color = texture2D(uSampler7, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 8.0) color = texture2D(uSampler8, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 9.0) color = texture2D(uSampler9, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 10.0) color = texture2D(uSampler10, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 11.0) color = texture2D(uSampler11, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 12.0) color = texture2D(uSampler12, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 13.0) color = texture2D(uSampler13, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 14.0) color = texture2D(uSampler14, openfl_TextureCoordv);\r\n\t\t\telse if (vTextureId == 15.0) color = texture2D(uSampler15, openfl_TextureCoordv);\r\n\r\n\t\t\tif (color.a == 0.0) {\r\n\r\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\tcolor = vec4(color.rgb / color.a, color.a);\r\n\t\t\t\tcolor = clamp((color * openfl_ColorMultiplierv) + openfl_ColorOffsetv, 0.0, 1.0);\r\n\t\t\t\tgl_FragColor = vec4(color.rgb * color.a, color.a);\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t"; } if(this.__glVertexSource == null) { this.__glVertexSource = "\r\n\t\tattribute vec4 openfl_ColorMultiplier;\r\n\t\tattribute vec4 openfl_ColorOffset;\r\n\t\tattribute vec2 openfl_Position;\r\n\t\tattribute vec2 openfl_TextureCoord;\r\n\t\tattribute float aTextureId;\r\n\r\n\t\tuniform mat4 openfl_Matrix;\r\n\r\n\t\tvarying vec4 openfl_ColorMultiplierv;\r\n\t\tvarying vec4 openfl_ColorOffsetv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\t\tvarying float vTextureId;\r\n\r\n\t\tvoid main(void) {\r\n\t\t\tgl_Position = openfl_Matrix * vec4(openfl_Position, 0, 1);\r\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\r\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\r\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\r\n\t\t\tvTextureId = aTextureId;\r\n\t\t}\r\n\t"; } openfl_display_Shader.call(this); this.__isGenerated = true; this.__init(); }; $hxClasses["openfl._internal.renderer.context3D.batcher._BatchRenderer.BatchShader"] = openfl__$internal_renderer_context3D_batcher__$BatchRenderer_BatchShader; openfl__$internal_renderer_context3D_batcher__$BatchRenderer_BatchShader.__name__ = "openfl._internal.renderer.context3D.batcher._BatchRenderer.BatchShader"; openfl__$internal_renderer_context3D_batcher__$BatchRenderer_BatchShader.__super__ = openfl_display_Shader; openfl__$internal_renderer_context3D_batcher__$BatchRenderer_BatchShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_ColorMultiplier: null ,openfl_ColorOffset: null ,openfl_Position: null ,openfl_TextureCoord: null ,aTextureId: null ,openfl_Matrix: null ,uSampler0: null ,uSampler1: null ,uSampler2: null ,uSampler3: null ,uSampler4: null ,uSampler5: null ,uSampler6: null ,uSampler7: null ,uSampler8: null ,uSampler9: null ,uSampler10: null ,uSampler11: null ,uSampler12: null ,uSampler13: null ,uSampler14: null ,uSampler15: null ,__class__: openfl__$internal_renderer_context3D_batcher__$BatchRenderer_BatchShader }); var openfl__$internal_renderer_dom_DOMBitmap = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMBitmap"] = openfl__$internal_renderer_dom_DOMBitmap; openfl__$internal_renderer_dom_DOMBitmap.__name__ = "openfl._internal.renderer.dom.DOMBitmap"; openfl__$internal_renderer_dom_DOMBitmap.clear = function(bitmap,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__$internal_renderer_dom_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__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,renderer); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,renderer); } }; openfl__$internal_renderer_dom_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__$internal_renderer_dom_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__$internal_renderer_dom_DOMDisplayObject = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMDisplayObject"] = openfl__$internal_renderer_dom_DOMDisplayObject; openfl__$internal_renderer_dom_DOMDisplayObject.__name__ = "openfl._internal.renderer.dom.DOMDisplayObject"; openfl__$internal_renderer_dom_DOMDisplayObject.clear = function(displayObject,renderer) { if(displayObject.__cacheBitmap != null) { openfl__$internal_renderer_dom_DOMBitmap.clear(displayObject.__cacheBitmap,renderer); } openfl__$internal_renderer_dom_DOMShape.clear(displayObject,renderer); }; openfl__$internal_renderer_dom_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__$internal_renderer_canvas_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__$internal_renderer_dom_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__$internal_renderer_dom_DOMShape.clear(displayObject,renderer); } }; var openfl_display_DOMRenderer = function(element) { this.pixelRatio = 1; openfl_display_DisplayObjectRenderer.call(this); this.element = element; }; $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 ,applyStyle: function(parent,childElement) { } ,clearStyle: function(childElement) { } ,__clearBitmap: function(bitmap) { } ,__class__: openfl_display_DOMRenderer }); var openfl__$internal_renderer_dom_DOMRenderer = function(element) { openfl_display_DOMRenderer.call(this,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.__colorTransform = new openfl_geom_ColorTransform(); this.__numClipRects = 0; this.__z = 0; this.__type = "dom"; this.__canvasRenderer = new openfl__$internal_renderer_canvas_CanvasRenderer(null); this.__canvasRenderer.__domRenderer = this; }; $hxClasses["openfl._internal.renderer.dom.DOMRenderer"] = openfl__$internal_renderer_dom_DOMRenderer; openfl__$internal_renderer_dom_DOMRenderer.__name__ = "openfl._internal.renderer.dom.DOMRenderer"; openfl__$internal_renderer_dom_DOMRenderer.__super__ = openfl_display_DOMRenderer; openfl__$internal_renderer_dom_DOMRenderer.prototype = $extend(openfl_display_DOMRenderer.prototype,{ __canvasRenderer: null ,__clipRects: null ,__colorTransform: 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); } } } ,__clearBitmap: function(bitmap) { openfl__$internal_renderer_dom_DOMDisplayObject.clear(bitmap,this); openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,this); } ,__clearDisplayObject: function(object) { if(object != null && object.__type != null) { switch(object.__type._hx_index) { case 0: this.__clearBitmap(object); break; case 1:case 5: this.__clearShape(object); break; case 3: this.__clearDOMElement(object); break; case 2:case 4: this.__clearDisplayObjectContainer(object); break; case 6: this.__clearSimpleButton(object); break; case 7: this.__clearTextField(object); break; case 8: this.__clearTilemap(object); break; case 9: this.__clearVideo(object); break; default: } } } ,__clearDisplayObjectContainer: function(container) { var orphan = container.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { this.__clearDisplayObject(orphan1); } } var orphan2 = container.__removedChildren.iterator(); while(orphan2.hasNext()) { var orphan3 = orphan2.next(); if(orphan3.stage == null) { orphan3.__cleanup(); } } container.__removedChildren.set_length(0); this.__clearShape(container); var child = container.__firstChild; while(child != null) { this.__clearDisplayObject(child); child = child.__nextSibling; } } ,__clearDOMElement: function(domElement) { openfl__$internal_renderer_dom_DOMDisplayObject.clear(domElement,this); } ,__clearShape: function(shape) { openfl__$internal_renderer_dom_DOMDisplayObject.clear(shape,this); } ,__clearSimpleButton: function(button) { var previousState = button.__previousStates.iterator(); while(previousState.hasNext()) { var previousState1 = previousState.next(); this.__clearDisplayObject(previousState1); } if(button.__currentState != null) { this.__clearDisplayObject(button.__currentState); } } ,__clearTextField: function(textField) { openfl__$internal_renderer_dom_DOMDisplayObject.clear(textField,this); openfl__$internal_renderer_dom_DOMTextField.clear(textField,this); } ,__clearTilemap: function(tilemap) { openfl__$internal_renderer_dom_DOMDisplayObject.clear(tilemap,this); openfl__$internal_renderer_dom_DOMTilemap.clear(tilemap,this); } ,__clearVideo: function(video) { openfl__$internal_renderer_dom_DOMDisplayObject.clear(video,this); openfl__$internal_renderer_dom_DOMVideo.clear(video,this); } ,__getAlpha: function(value) { return value * this.__worldAlpha; } ,__getColorTransform: function(value) { if(this.__worldColorTransform != null) { this.__colorTransform.__copyFrom(this.__worldColorTransform); this.__colorTransform.__combine(value); return this.__colorTransform; } else { return value; } } ,__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; if(object != null && object.__type != null) { this.__renderDisplayObject(object); } } ,__renderBitmap: function(bitmap) { this.__canvasRenderer.__updateCacheBitmap(bitmap,false); if(bitmap.__cacheBitmap != null && !bitmap.__isCacheBitmapRender) { this.__clearBitmap(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) { this.__pushMaskObject(bitmap1); if(bitmap1.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap1,this); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap1,this); } this.__popMaskObject(bitmap1); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap1,this); } } 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__$internal_renderer_canvas_CanvasGraphics.render(graphics,this.__canvasRenderer); if(graphics.__softwareDirty || bitmap.__worldAlphaChanged || bitmap.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(bitmap.__canvas != graphics.__canvas) { if(bitmap.__canvas != null) { this.element.removeChild(bitmap.__canvas); } bitmap.__canvas = graphics.__canvas; bitmap.__context = graphics.__context; this.__initializeElement(bitmap,bitmap.__canvas); } } else { openfl__$internal_renderer_dom_DOMShape.clear(bitmap,this); } } if(bitmap.__canvas != null) { this.__pushMaskObject(bitmap); var cacheTransform = bitmap.__renderTransform; bitmap.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; bitmap.__renderTransformChanged = true; } this.__updateClip(bitmap); this.__applyStyle(bitmap,true,true,true); bitmap.__renderTransform = cacheTransform; this.__popMaskObject(bitmap); } } else { openfl__$internal_renderer_dom_DOMShape.clear(bitmap,this); } if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { this.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,this); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,this); } this.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,this); } } } ,__renderDisplayObject: function(object) { if(object != null && object.__type != null) { switch(object.__type._hx_index) { case 0: this.__renderBitmap(object); break; case 1:case 5: this.__renderShape(object); break; case 3: this.__renderDOMElement(object); break; case 2:case 4: this.__renderDisplayObjectContainer(object); break; case 6: this.__renderSimpleButton(object); break; case 7: this.__renderTextField(object); break; case 8: this.__renderTilemap(object); break; case 9: this.__renderVideo(object); break; default: return; } if(object.__customRenderEvent != null) { var event = object.__customRenderEvent; event.allowSmoothing = this.__allowSmoothing; event.objectMatrix.copyFrom(object.__renderTransform); event.objectColorTransform.__copyFrom(object.__worldColorTransform); event.renderer = this; if(object.stage != null && object.__worldVisible) { event.type = "renderDOM"; } else { event.type = "clearDOM"; } this.__setBlendMode(object.__worldBlendMode); this.__pushMaskObject(object); object.dispatchEvent(event); this.__popMaskObject(object); } } } ,__renderDisplayObjectContainer: function(container) { var orphan = container.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { this.__clearDisplayObject(orphan1); } } var orphan2 = container.__removedChildren.iterator(); while(orphan2.hasNext()) { var orphan3 = orphan2.next(); if(orphan3.stage == null) { orphan3.__cleanup(); } } container.__removedChildren.set_length(0); this.__canvasRenderer.__updateCacheBitmap(container,false); if(container.__cacheBitmap != null && !container.__isCacheBitmapRender) { this.__clearDisplayObjectContainer(container); container.__cacheBitmap.stage = container.stage; var bitmap = container.__cacheBitmap; if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { this.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,this); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,this); } this.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,this); } } else { var tmp = container.opaqueBackground != null && !container.__isCacheBitmapRender && container.get_width() > 0 && container.get_height() > 0; var graphics = container.__graphics; if(container.stage != null && container.__worldVisible && container.__renderable && graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,this.__canvasRenderer); if(graphics.__softwareDirty || container.__worldAlphaChanged || container.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(container.__canvas != graphics.__canvas) { if(container.__canvas != null) { this.element.removeChild(container.__canvas); } container.__canvas = graphics.__canvas; container.__context = graphics.__context; this.__initializeElement(container,container.__canvas); } } else { openfl__$internal_renderer_dom_DOMShape.clear(container,this); } } if(container.__canvas != null) { this.__pushMaskObject(container); var cacheTransform = container.__renderTransform; container.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; container.__renderTransformChanged = true; } this.__updateClip(container); this.__applyStyle(container,true,true,true); container.__renderTransform = cacheTransform; this.__popMaskObject(container); } } else { openfl__$internal_renderer_dom_DOMShape.clear(container,this); } if(container.__cacheBitmap != null && !container.__isCacheBitmapRender) { return; } this.__pushMaskObject(container); var child = container.__firstChild; if(this.__stage != null) { while(child != null) { this.__renderDisplayObject(child); child.__renderDirty = false; child = child.__nextSibling; } container.__renderDirty = false; } else { while(child != null) { this.__renderDisplayObject(child); child = child.__nextSibling; } } this.__popMaskObject(container); } } ,__renderDOMElement: function(domElement) { 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; } var tmp = domElement.opaqueBackground != null && !domElement.__isCacheBitmapRender && domElement.get_width() > 0 && domElement.get_height() > 0; var graphics = domElement.__graphics; if(domElement.stage != null && domElement.__worldVisible && domElement.__renderable && graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,this.__canvasRenderer); if(graphics.__softwareDirty || domElement.__worldAlphaChanged || domElement.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(domElement.__canvas != graphics.__canvas) { if(domElement.__canvas != null) { this.element.removeChild(domElement.__canvas); } domElement.__canvas = graphics.__canvas; domElement.__context = graphics.__context; this.__initializeElement(domElement,domElement.__canvas); } } else { openfl__$internal_renderer_dom_DOMShape.clear(domElement,this); } } if(domElement.__canvas != null) { this.__pushMaskObject(domElement); var cacheTransform = domElement.__renderTransform; domElement.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; domElement.__renderTransformChanged = true; } this.__updateClip(domElement); this.__applyStyle(domElement,true,true,true); domElement.__renderTransform = cacheTransform; this.__popMaskObject(domElement); } } else { openfl__$internal_renderer_dom_DOMShape.clear(domElement,this); } } ,__renderShape: function(shape) { this.__canvasRenderer.__updateCacheBitmap(shape,false); if(shape.__cacheBitmap != null && !shape.__isCacheBitmapRender) { this.__clearShape(shape); shape.__cacheBitmap.stage = shape.stage; var bitmap = shape.__cacheBitmap; if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { this.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,this); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,this); } this.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,this); } } else { var tmp = shape.opaqueBackground != null && !shape.__isCacheBitmapRender && shape.get_width() > 0 && shape.get_height() > 0; var graphics = shape.__graphics; if(shape.stage != null && shape.__worldVisible && shape.__renderable && graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,this.__canvasRenderer); if(graphics.__softwareDirty || shape.__worldAlphaChanged || shape.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(shape.__canvas != graphics.__canvas) { if(shape.__canvas != null) { this.element.removeChild(shape.__canvas); } shape.__canvas = graphics.__canvas; shape.__context = graphics.__context; this.__initializeElement(shape,shape.__canvas); } } else { openfl__$internal_renderer_dom_DOMShape.clear(shape,this); } } if(shape.__canvas != null) { this.__pushMaskObject(shape); var cacheTransform = shape.__renderTransform; shape.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; shape.__renderTransformChanged = true; } this.__updateClip(shape); this.__applyStyle(shape,true,true,true); shape.__renderTransform = cacheTransform; this.__popMaskObject(shape); } } else { openfl__$internal_renderer_dom_DOMShape.clear(shape,this); } } } ,__renderSimpleButton: function(button) { this.__pushMaskObject(button); var previousState = button.__previousStates.iterator(); while(previousState.hasNext()) { var previousState1 = previousState.next(); this.__clearDisplayObject(previousState1); } button.__previousStates.set_length(0); if(button.__currentState != null) { if(button.__currentState.stage != button.stage) { button.__currentState.__setStageReferences(button.stage); } this.__renderDisplayObject(button.__currentState); } this.__popMaskObject(button); } ,__renderTextField: function(textField) { textField.__domRender = true; this.__canvasRenderer.__updateCacheBitmap(textField,textField.__forceCachedBitmapUpdate); textField.__forceCachedBitmapUpdate = false; textField.__domRender = false; if(textField.__cacheBitmap != null && !textField.__isCacheBitmapRender) { this.__clearTextField(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) { this.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,this); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,this); } this.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,this); } } 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"); this.__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; } },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__$internal_renderer_dom_DOMTextField.__regexFont.match(matchText)) { var fontText = openfl__$internal_renderer_dom_DOMTextField.__regexFont.matched(0); var style1 = ""; if(openfl__$internal_renderer_dom_DOMTextField.__regexFace.match(fontText)) { style1 += "font-family:'" + openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexFace) + "';"; } if(openfl__$internal_renderer_dom_DOMTextField.__regexColor.match(fontText)) { style1 += "color:#" + openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexColor) + ";"; } if(openfl__$internal_renderer_dom_DOMTextField.__regexSize.match(fontText)) { var sizeAttr = openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_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,""); matchText = openfl__$internal_renderer_dom_DOMTextField.__regexFont.matchedRight(); } text = text.replace(openfl__$internal_renderer_dom_DOMTextField.__regexCloseFont.r,""); } text = StringTools.replace(text,"

"); textField1.__div.innerHTML = tmp; var _this_r1 = new RegExp("\n","g".split("u").join("")); var tmp1 = textField1.__div.innerHTML.replace(_this_r1,"
"); textField1.__div.innerHTML = tmp1; var _this_r2 = new RegExp("\r","g".split("u").join("")); var tmp2 = textField1.__div.innerHTML.replace(_this_r2,"
"); textField1.__div.innerHTML = tmp2; style.setProperty("font",openfl__$internal_text_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) { this.element.removeChild(textField1.__div); textField1.__div = null; } } if(textField1.__div != null) { var old = this.__roundPixels; this.__roundPixels = true; this.__updateClip(textField1); this.__applyStyle(textField1,true,true,true); this.__roundPixels = old; } } else { openfl__$internal_renderer_dom_DOMTextField.clear(textField1,this); } } } ,__renderTilemap: function(tilemap) { this.__canvasRenderer.__updateCacheBitmap(tilemap,false); if(tilemap.__cacheBitmap != null && !tilemap.__isCacheBitmapRender) { this.__clearTilemap(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) { this.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,this); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,this); } this.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,this); } } 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__$internal_renderer_canvas_CanvasGraphics.render(graphics,this.__canvasRenderer); if(graphics.__softwareDirty || tilemap.__worldAlphaChanged || tilemap.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(tilemap.__canvas != graphics.__canvas) { if(tilemap.__canvas != null) { this.element.removeChild(tilemap.__canvas); } tilemap.__canvas = graphics.__canvas; tilemap.__context = graphics.__context; this.__initializeElement(tilemap,tilemap.__canvas); } } else { openfl__$internal_renderer_dom_DOMShape.clear(tilemap,this); } } if(tilemap.__canvas != null) { this.__pushMaskObject(tilemap); var cacheTransform = tilemap.__renderTransform; tilemap.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; tilemap.__renderTransformChanged = true; } this.__updateClip(tilemap); this.__applyStyle(tilemap,true,true,true); tilemap.__renderTransform = cacheTransform; this.__popMaskObject(tilemap); } } else { openfl__$internal_renderer_dom_DOMShape.clear(tilemap,this); } 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"); this.__initializeElement(tilemap,tilemap.__canvas); } tilemap.__canvas.width = tilemap.__width; tilemap.__canvas.height = tilemap.__height; this.__canvasRenderer.context = tilemap.__context; var renderer = this.__canvasRenderer; if(!(!tilemap.__renderable || tilemap.__group.__tiles.length == 0)) { var alpha = renderer.__getAlpha(tilemap.__worldAlpha); if(!(alpha <= 0)) { 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__$internal_renderer_canvas_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); } } this.__canvasRenderer.context = null; this.__updateClip(tilemap); this.__applyStyle(tilemap,true,false,true); } else { openfl__$internal_renderer_dom_DOMTilemap.clear(tilemap,this); } } } ,__renderVideo: function(video) { openfl__$internal_renderer_dom_DOMVideo.render(video,this); } ,__setBlendMode: function(value) { if(this.__overrideBlendMode != null) { value = this.__overrideBlendMode; } if(this.__blendMode == value) { return; } this.__blendMode = value; } ,__updateCacheBitmap: function(object,force) { var bitmap = object.__cacheBitmap; var updated = this.__canvasRenderer.__updateCacheBitmap(object,force); if(updated && bitmap != null && object.__cacheBitmap == null) { this.__clearBitmap(bitmap); } return updated; } ,__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__$internal_renderer_dom_DOMRenderer }); var openfl__$internal_renderer_dom_DOMShape = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMShape"] = openfl__$internal_renderer_dom_DOMShape; openfl__$internal_renderer_dom_DOMShape.__name__ = "openfl._internal.renderer.dom.DOMShape"; openfl__$internal_renderer_dom_DOMShape.clear = function(shape,renderer) { if(shape.__canvas != null) { renderer.element.removeChild(shape.__canvas); shape.__canvas = null; shape.__style = null; } }; openfl__$internal_renderer_dom_DOMShape.render = function(shape,renderer) { var graphics = shape.__graphics; if(shape.stage != null && shape.__worldVisible && shape.__renderable && graphics != null) { openfl__$internal_renderer_canvas_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__$internal_renderer_dom_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__$internal_renderer_dom_DOMShape.clear(shape,renderer); } }; var openfl__$internal_renderer_dom_DOMTextField = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMTextField"] = openfl__$internal_renderer_dom_DOMTextField; openfl__$internal_renderer_dom_DOMTextField.__name__ = "openfl._internal.renderer.dom.DOMTextField"; openfl__$internal_renderer_dom_DOMTextField.clear = function(textField,renderer) { if(textField.__div != null) { renderer.element.removeChild(textField.__div); textField.__div = null; textField.__style = null; } }; openfl__$internal_renderer_dom_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,"
"); div.style.setProperty("font",openfl__$internal_text_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__$internal_renderer_dom_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; } },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__$internal_renderer_dom_DOMTextField.__regexFont.match(matchText)) { var fontText = openfl__$internal_renderer_dom_DOMTextField.__regexFont.matched(0); var style1 = ""; if(openfl__$internal_renderer_dom_DOMTextField.__regexFace.match(fontText)) { style1 += "font-family:'" + openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexFace) + "';"; } if(openfl__$internal_renderer_dom_DOMTextField.__regexColor.match(fontText)) { style1 += "color:#" + openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexColor) + ";"; } if(openfl__$internal_renderer_dom_DOMTextField.__regexSize.match(fontText)) { var sizeAttr = openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_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,""); matchText = openfl__$internal_renderer_dom_DOMTextField.__regexFont.matchedRight(); } text = text.replace(openfl__$internal_renderer_dom_DOMTextField.__regexCloseFont.r,""); } text = StringTools.replace(text,"

"); textField.__div.innerHTML = tmp; var _this_r1 = new RegExp("\n","g".split("u").join("")); var tmp1 = textField.__div.innerHTML.replace(_this_r1,"
"); textField.__div.innerHTML = tmp1; var _this_r2 = new RegExp("\r","g".split("u").join("")); var tmp2 = textField.__div.innerHTML.replace(_this_r2,"
"); textField.__div.innerHTML = tmp2; style.setProperty("font",openfl__$internal_text_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__$internal_renderer_dom_DOMTextField.clear(textField,renderer); } }; openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch = function(regex) { if(regex.matched(2) != null) { return regex.matched(2); } else { return regex.matched(3); } }; var openfl__$internal_renderer_dom_DOMTilemap = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMTilemap"] = openfl__$internal_renderer_dom_DOMTilemap; openfl__$internal_renderer_dom_DOMTilemap.__name__ = "openfl._internal.renderer.dom.DOMTilemap"; openfl__$internal_renderer_dom_DOMTilemap.clear = function(tilemap,renderer) { if(tilemap.__canvas != null) { renderer.element.removeChild(tilemap.__canvas); tilemap.__canvas = null; tilemap.__style = null; } }; openfl__$internal_renderer_dom_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__$internal_renderer_canvas_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__$internal_renderer_dom_DOMTilemap.clear(tilemap,renderer); } }; var openfl__$internal_renderer_dom_DOMVideo = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMVideo"] = openfl__$internal_renderer_dom_DOMVideo; openfl__$internal_renderer_dom_DOMVideo.__name__ = "openfl._internal.renderer.dom.DOMVideo"; openfl__$internal_renderer_dom_DOMVideo.clear = function(video,renderer) { if(video.__active) { renderer.element.removeChild(video.__stream.__video); video.__active = false; } }; openfl__$internal_renderer_dom_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__$internal_renderer_dom_DOMVideo.clear(video,renderer); } }; var openfl__$internal_renderer_flash_FlashRenderer = function() { }; $hxClasses["openfl._internal.renderer.flash.FlashRenderer"] = openfl__$internal_renderer_flash_FlashRenderer; openfl__$internal_renderer_flash_FlashRenderer.__name__ = "openfl._internal.renderer.flash.FlashRenderer"; openfl__$internal_renderer_flash_FlashRenderer.instances = null; openfl__$internal_renderer_flash_FlashRenderer.register = function(renderObject) { if(openfl__$internal_renderer_flash_FlashRenderer.instances == null) { openfl__$internal_renderer_flash_FlashRenderer.instances = openfl_utils__$Dictionary_Dictionary_$Impl_$.toObjectMap(null,true); openfl_Lib.get_current().stage.addEventListener("enterFrame",openfl__$internal_renderer_flash_FlashRenderer.render,false,-2147483648); } openfl__$internal_renderer_flash_FlashRenderer.instances.set(renderObject,true); }; openfl__$internal_renderer_flash_FlashRenderer.render = function(_) { var instance = openfl__$internal_renderer_flash_FlashRenderer.instances.keys(); while(instance.hasNext()) { var instance1 = instance.next(); if(instance1 != null) { instance1.__renderFlash(); } } }; var openfl__$internal_renderer_flash_IDisplayObject = function() { }; $hxClasses["openfl._internal.renderer.flash.IDisplayObject"] = openfl__$internal_renderer_flash_IDisplayObject; openfl__$internal_renderer_flash_IDisplayObject.__name__ = "openfl._internal.renderer.flash.IDisplayObject"; openfl__$internal_renderer_flash_IDisplayObject.__isInterface__ = true; openfl__$internal_renderer_flash_IDisplayObject.prototype = { __renderFlash: null ,__class__: openfl__$internal_renderer_flash_IDisplayObject }; var openfl_display_Bitmap = function(bitmapData,pixelSnapping,smoothing) { if(smoothing == null) { smoothing = false; } openfl_display_DisplayObject.call(this); this.__type = openfl__$internal_renderer_DisplayObjectType.BITMAP; 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 ,__bitmapData: null ,__image: null ,__imageVersion: null ,__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; this.__localBoundsDirty = true; 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__$internal_renderer_flash_FlashTilemap = function() { }; $hxClasses["openfl._internal.renderer.flash.FlashTilemap"] = openfl__$internal_renderer_flash_FlashTilemap; openfl__$internal_renderer_flash_FlashTilemap.__name__ = "openfl._internal.renderer.flash.FlashTilemap"; openfl__$internal_renderer_flash_FlashTilemap.render = function(tilemap) { }; openfl__$internal_renderer_flash_FlashTilemap.renderTileContainer = function(group,bitmapData,parentTransform,defaultTileset,smooth,alphaEnabled,worldAlpha,colorTransformEnabled,defaultColorTransform,blendModeEnabled,defaultBlendMode,cacheBitmapData) { }; var openfl__$internal_text_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._internal.text.GlyphPosition"] = openfl__$internal_text_GlyphPosition; openfl__$internal_text_GlyphPosition.__name__ = "openfl._internal.text.GlyphPosition"; openfl__$internal_text_GlyphPosition.prototype = { advance: null ,glyph: null ,offset: null ,__class__: openfl__$internal_text_GlyphPosition }; var openfl__$internal_text_TextEngine = function(textField) { 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__$internal_text_TextEngine.__context == null) { openfl__$internal_text_TextEngine.__context = window.document.createElement("canvas").getContext("2d"); } }; $hxClasses["openfl._internal.text.TextEngine"] = openfl__$internal_text_TextEngine; openfl__$internal_text_TextEngine.__name__ = "openfl._internal.text.TextEngine"; openfl__$internal_text_TextEngine.__context = null; openfl__$internal_text_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__$internal_text_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__$internal_text_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__$internal_text_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__$internal_text_TextEngine.findFont(fontNamePrefix + " Italic"); } } } return openfl__$internal_text_TextEngine.findFont(fontName); }; openfl__$internal_text_TextEngine.getFormatHeight = function(format) { var ascent; var descent; openfl__$internal_text_TextEngine.__context.font = openfl__$internal_text_TextEngine.getFont(format); var font = openfl__$internal_text_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__$internal_text_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__$internal_text_TextEngine.getFontInstance = function(format) { return openfl__$internal_text_TextEngine.findFontVariant(format); }; openfl__$internal_text_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 ,__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)); } } ,getLineBreakIndex: function(startIndex) { if(startIndex == null) { startIndex = 0; } var cr = this.text.indexOf("\n",startIndex); var lf = this.text.indexOf("\r",startIndex); if(cr == -1) { return lf; } if(lf == -1) { return cr; } if(cr < lf) { return cr; } else { return lf; } } ,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 = Math.max(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__$internal_text_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; 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; } this.updateScrollV(); } ,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 breakIndex = this.getLineBreakIndex(); var offsetX = 0.0; var offsetY = 0.0; var textIndex = 0; var lineIndex = 0; var getPositions = function(text,startIndex,endIndex) { var positions1 = []; var letterSpacing = 0.0; if(formatRange.format.letterSpacing != null) { letterSpacing = formatRange.format.letterSpacing; } if(_gthis.__useIntAdvances == null) { var getPositions1 = new EReg("Trident/7.0",""); _gthis.__useIntAdvances = getPositions1.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__$internal_text_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__$internal_text_TextEngine.__context.measureText(text.charAt(i1 + 1)).width; var twoWidths = openfl__$internal_text_TextEngine.__context.measureText(HxOverrides.substr(text,i1,2)).width; advance = twoWidths - nextWidth; } else { advance = openfl__$internal_text_TextEngine.__context.measureText(text.charAt(i1)).width; } positions1.push(advance); } } return positions1; }; 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__$internal_text_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__$internal_text_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; var setParagraphMetrics1 = currentFormat.bullet != null; indent = currentFormat.indent != null ? currentFormat.indent : 0; leftMargin = currentFormat.leftMargin != null ? currentFormat.leftMargin : 0; rightMargin = currentFormat.rightMargin != null ? currentFormat.rightMargin : 0; 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__$internal_text_TextEngine.__context.font = openfl__$internal_text_TextEngine.getFont(currentFormat); font = openfl__$internal_text_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/_internal/text/TextEngine.hx", lineNumber : 1066, className : "openfl._internal.text.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/_internal/text/TextEngine.hx", lineNumber : 1154, className : "openfl._internal.text.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 || formatRange.end == breakIndex + 1) { nextFormatRange(); setLineMetrics(); } textIndex = breakIndex + 1; previousBreakIndex = breakIndex; breakIndex = this.getLineBreakIndex(textIndex); 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); } 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,textIndex); layoutGroup.positions = []; layoutGroup.ascent = ascent; layoutGroup.descent = descent; layoutGroup.leading = leading; layoutGroup.lineIndex = lineIndex - 1; layoutGroup.offsetX = getBaseX(); layoutGroup.offsetY = offsetY + 2; layoutGroup.width = 0; layoutGroup.height = heightValue; } } ,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.updateScrollV(); } else { this.getLayoutGroups(); this.getLineMeasurements(); this.setTextAlignment(); } this.getBounds(); } ,updateScrollV: function() { if(this.numLines == 1 || this.lineHeights == null) { this.maxScrollV = 1; } else { var i = this.numLines - 1; var tempHeight = 0.0; var j = i; while(i >= 0) if(tempHeight + this.lineHeights.get(i) <= Math.ceil(this.height - 4)) { tempHeight += this.lineHeights.get(i); --i; } else { break; } if(i == j) { i = this.numLines; } else { i += 2; } if(i < 1) { this.maxScrollV = 1; } else { this.maxScrollV = i; } } if(this.numLines == 1 || this.lineHeights == null) { this.bottomScrollV = 1; } else { var tempHeight1 = 0.0; var ret = this.get_scrollV(); while(ret <= this.lineHeights.get_length()) { if(tempHeight1 + this.lineHeights.get(ret - 1) <= Math.ceil(this.height - 2)) { tempHeight1 += this.lineHeights.get(ret - 1); } else { break; } ++ret; } this.bottomScrollV = ret - 1; } } ,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.maxScrollV; if(this.scrollV > max) { return max; } return this.scrollV; } ,set_scrollV: function(value) { if(value < 1) { value = 1; } this.scrollV = value; this.updateScrollV(); return value; } ,set_text: function(value) { return this.text = value; } ,__class__: openfl__$internal_text_TextEngine ,__properties__: {set_text:"set_text",set_scrollV:"set_scrollV",get_scrollV:"get_scrollV",set_restrict:"set_restrict"} }; var openfl__$internal_text_TextFormatRange = function(format,start,end) { this.format = format; this.start = start; this.end = end; }; $hxClasses["openfl._internal.text.TextFormatRange"] = openfl__$internal_text_TextFormatRange; openfl__$internal_text_TextFormatRange.__name__ = "openfl._internal.text.TextFormatRange"; openfl__$internal_text_TextFormatRange.prototype = { end: null ,format: null ,start: null ,__class__: openfl__$internal_text_TextFormatRange }; var openfl__$internal_text_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._internal.text.TextLayout"] = openfl__$internal_text_TextLayout; openfl__$internal_text_TextLayout.__name__ = "openfl._internal.text.TextLayout"; openfl__$internal_text_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__$internal_text_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__$internal_text__$TextLayout_TextDirection_$Impl_$ = {}; $hxClasses["openfl._internal.text._TextLayout.TextDirection_Impl_"] = openfl__$internal_text__$TextLayout_TextDirection_$Impl_$; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.__name__ = "openfl._internal.text._TextLayout.TextDirection_Impl_"; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.__properties__ = {get_vertical:"get_vertical",get_horizontal:"get_horizontal",get_forward:"get_forward",get_backward:"get_backward"}; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.reverse = function(this1) { this1 ^= 1; }; openfl__$internal_text__$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__$internal_text__$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__$internal_text__$TextLayout_TextDirection_$Impl_$.get_backward = function(this1) { return (this1 & -3) == 5; }; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.get_forward = function(this1) { return (this1 & -3) == 4; }; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.get_horizontal = function(this1) { return (this1 & -2) == 4; }; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.get_vertical = function(this1) { return (this1 & -2) == 6; }; var openfl__$internal_text__$TextLayout_TextScript_$Impl_$ = {}; $hxClasses["openfl._internal.text._TextLayout.TextScript_Impl_"] = openfl__$internal_text__$TextLayout_TextScript_$Impl_$; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.__name__ = "openfl._internal.text._TextLayout.TextScript_Impl_"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.__properties__ = {get_rightToLeft:"get_rightToLeft"}; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.toHBScript = function(this1) { return 1517910393; }; openfl__$internal_text__$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__$internal_text_TextLayoutGroup = function(format,startIndex,endIndex) { this.format = format; this.startIndex = startIndex; this.endIndex = endIndex; }; $hxClasses["openfl._internal.text.TextLayoutGroup"] = openfl__$internal_text_TextLayoutGroup; openfl__$internal_text_TextLayoutGroup.__name__ = "openfl._internal.text.TextLayoutGroup"; openfl__$internal_text_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__$internal_text_TextLayoutGroup }; var openfl__$internal_utils_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._internal.utils.AbstractNoise"] = openfl__$internal_utils_AbstractNoise; openfl__$internal_utils_AbstractNoise.__name__ = "openfl._internal.utils.AbstractNoise"; openfl__$internal_utils_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__$internal_utils_AbstractNoise }; var openfl__$internal_utils_DisplayObjectLinkedList = function() { }; $hxClasses["openfl._internal.utils.DisplayObjectLinkedList"] = openfl__$internal_utils_DisplayObjectLinkedList; openfl__$internal_utils_DisplayObjectLinkedList.__name__ = "openfl._internal.utils.DisplayObjectLinkedList"; openfl__$internal_utils_DisplayObjectLinkedList.__addChild = function(displayObject,child) { if(child == displayObject.__lastChild) { return; } if(displayObject.__firstChild == child) { displayObject.__firstChild = child.__nextSibling; } else if(child.__previousSibling != null) { child.__previousSibling.__nextSibling = child.__nextSibling; } if(child.__nextSibling != null) { child.__nextSibling.__previousSibling = child.__previousSibling; } if(displayObject.__firstChild == null) { displayObject.__firstChild = child; } if(displayObject.__lastChild != null) { displayObject.__lastChild.__nextSibling = child; child.__previousSibling = displayObject.__lastChild; } displayObject.__lastChild = child; child.__nextSibling = null; }; openfl__$internal_utils_DisplayObjectLinkedList.__insertChildAfter = function(displayObject,child,before) { if(before == child || before.__nextSibling == child) { return; } var after = before.__nextSibling; if(displayObject.__firstChild == child) { displayObject.__firstChild = child.__nextSibling; } if(displayObject.__lastChild == child) { displayObject.__lastChild = child.__previousSibling; } if(child.__previousSibling != null) { child.__previousSibling.__nextSibling = child.__nextSibling; } if(child.__nextSibling != null) { child.__nextSibling.__previousSibling = child.__previousSibling; } child.__previousSibling = before; child.__nextSibling = after; if(before != null) { before.__nextSibling = child; } if(after != null) { after.__previousSibling = child; } else { displayObject.__lastChild = child; } }; openfl__$internal_utils_DisplayObjectLinkedList.__insertChildBefore = function(displayObject,child,after) { if(after != null && child != after && after.__previousSibling != child) { if(after.__previousSibling != null) { openfl__$internal_utils_DisplayObjectLinkedList.__insertChildAfter(displayObject,child,after.__previousSibling); } else { openfl__$internal_utils_DisplayObjectLinkedList.__unshiftChild(displayObject,child); } } }; openfl__$internal_utils_DisplayObjectLinkedList.__insertChildAt = function(displayObject,child,index) { if(index == 0) { openfl__$internal_utils_DisplayObjectLinkedList.__unshiftChild(displayObject,child); } else { var ref = displayObject.__firstChild; var childFound = ref == child; var _g = 0; var _g1 = index - 1; while(_g < _g1) { var i = _g++; ref = ref.__nextSibling; if(ref == null) { break; } else if(ref == child) { childFound = true; } } if(childFound && ref.__nextSibling != null) { ref = ref.__nextSibling; } if(ref == child) { return; } openfl__$internal_utils_DisplayObjectLinkedList.__insertChildAfter(displayObject,child,ref); } }; openfl__$internal_utils_DisplayObjectLinkedList.__removeChild = function(displayObject,child) { child.parent = null; displayObject.numChildren--; if(displayObject.__firstChild == child) { displayObject.__firstChild = child.__nextSibling; } if(displayObject.__lastChild == child) { displayObject.__lastChild = child.__previousSibling; } if(child.__previousSibling != null) { child.__previousSibling.__nextSibling = child.__nextSibling; } if(child.__nextSibling != null) { child.__nextSibling.__previousSibling = child.__previousSibling; } child.__previousSibling = null; child.__nextSibling = null; }; openfl__$internal_utils_DisplayObjectLinkedList.__reparent = function(displayObject,child) { if(child.parent != displayObject) { if(child.parent != null) { child.parent.removeChild(child); } child.parent = displayObject; displayObject.numChildren++; } }; openfl__$internal_utils_DisplayObjectLinkedList.__swapChildren = function(displayObject,child1,child2) { if(child1.__nextSibling == child2 || child2.__nextSibling == child1) { var first; var second; if(child1.__nextSibling == child2) { first = child1; second = child2; } else { first = child2; second = child1; } var before = first.__previousSibling; var after = second.__nextSibling; first.__previousSibling = second; first.__nextSibling = after; second.__previousSibling = before; second.__nextSibling = first; if(before != null) { before.__nextSibling = second; } if(after != null) { after.__previousSibling = first; } } else { var prev1 = child1.__previousSibling; var next1 = child1.__nextSibling; var prev2 = child2.__previousSibling; var next2 = child2.__nextSibling; child1.__previousSibling = prev2; child1.__nextSibling = next2; child2.__previousSibling = prev1; child2.__nextSibling = next1; if(prev1 != null) { prev1.__nextSibling = child2; } if(next1 != null) { next1.__previousSibling = child2; } if(prev2 != null) { prev2.__nextSibling = child1; } if(next2 != null) { next2.__previousSibling = child1; } } if(displayObject.__firstChild == child1) { displayObject.__firstChild = child2; } else if(displayObject.__firstChild == child2) { displayObject.__firstChild = child1; } if(displayObject.__lastChild == child1) { displayObject.__lastChild = child2; } else if(displayObject.__lastChild == child2) { displayObject.__lastChild = child1; } }; openfl__$internal_utils_DisplayObjectLinkedList.__unshiftChild = function(displayObject,child) { if(displayObject.__firstChild == child) { return; } if(child.__previousSibling != null) { child.__previousSibling.__nextSibling = child.__nextSibling; } if(child.__nextSibling != null) { child.__nextSibling.__previousSibling = child.__previousSibling; } if(displayObject.__firstChild != null) { displayObject.__firstChild.__previousSibling = child; } if(child == displayObject.__lastChild) { displayObject.__lastChild = child.__previousSibling; } child.__previousSibling = null; child.__nextSibling = displayObject.__firstChild; displayObject.__firstChild = child; if(child.__nextSibling == null) { displayObject.__lastChild = child; } }; var openfl__$internal_utils_PerlinNoise = function(seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold) { if(stitch_threshold == null) { stitch_threshold = 0.05; } if(stitch == null) { stitch = false; } openfl__$internal_utils_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__$internal_utils_PerlinNoise.P[i & 255]; } this.base_factor = 0.03125; this.setSeed(seed); }; $hxClasses["openfl._internal.utils.PerlinNoise"] = openfl__$internal_utils_PerlinNoise; openfl__$internal_utils_PerlinNoise.__name__ = "openfl._internal.utils.PerlinNoise"; openfl__$internal_utils_PerlinNoise.__super__ = openfl__$internal_utils_AbstractNoise; openfl__$internal_utils_PerlinNoise.prototype = $extend(openfl__$internal_utils_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__$internal_utils_PerlinNoise }); var openfl__$internal_utils_TouchData = function() { this.rollOutStack = []; }; $hxClasses["openfl._internal.utils.TouchData"] = openfl__$internal_utils_TouchData; openfl__$internal_utils_TouchData.__name__ = "openfl._internal.utils.TouchData"; openfl__$internal_utils_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__$internal_utils_TouchData }; var openfl_display_Application = function() { lime_app_Application.call(this); if(openfl__$internal_Lib.application == null) { openfl__$internal_Lib.application = this; } if(openfl__$internal_Lib.current == null) { openfl__$internal_Lib.current = new openfl_display_MovieClip(); } openfl__$internal_Lib.current.__loaderInfo = openfl_display_LoaderInfo.create(null); openfl__$internal_Lib.current.__loaderInfo.content = openfl__$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__$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__$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.__element = element; this.__type = openfl__$internal_renderer_DisplayObjectType.DOM_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_DisplayObjectShader = function(code) { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying float openfl_Alphav;\r\n\t\tvarying vec4 openfl_ColorMultiplierv;\r\n\t\tvarying vec4 openfl_ColorOffsetv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform bool openfl_HasColorTransform;\r\n\t\tuniform sampler2D openfl_Texture;\r\n\t\tuniform vec2 openfl_TextureSize;\r\n\r\n\t\tvoid main(void) {\r\n\r\n\t\t\tvec4 color = texture2D(openfl_Texture, openfl_TextureCoordv);\r\n\r\n\t\tif (color.a == 0.0) {\r\n\r\n\t\t\tgl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\r\n\r\n\t\t} else if (openfl_HasColorTransform) {\r\n\r\n\t\t\tcolor = vec4(color.rgb / color.a, color.a);\r\n\r\n\t\t\tvec4 colorMultiplier = vec4(openfl_ColorMultiplierv.rgb, 1.0);\r\n\t\t\tcolor = clamp((color * colorMultiplier) + openfl_ColorOffsetv, 0.0, 1.0);\r\n\r\n\t\t\tif (color.a > 0.0) {\r\n\r\n\t\t\t\tgl_FragColor = vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\tgl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\r\n\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\r\n\t\t\tgl_FragColor = color * openfl_Alphav;\r\n\r\n\t\t}\r\n\r\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute float openfl_Alpha;\r\n\t\tattribute vec4 openfl_ColorMultiplier;\r\n\t\tattribute vec4 openfl_ColorOffset;\r\n\t\tattribute vec4 openfl_Position;\r\n\t\tattribute vec2 openfl_TextureCoord;\r\n\r\n\t\tvarying float openfl_Alphav;\r\n\t\tvarying vec4 openfl_ColorMultiplierv;\r\n\t\tvarying vec4 openfl_ColorOffsetv;\r\n\t\tvarying vec2 openfl_TextureCoordv;\r\n\r\n\t\tuniform mat4 openfl_Matrix;\r\n\t\tuniform bool openfl_HasColorTransform;\r\n\t\tuniform vec2 openfl_TextureSize;\r\n\r\n\t\tvoid main(void) {\r\n\r\n\t\t\topenfl_Alphav = openfl_Alpha;\r\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\r\n\r\n\t\tif (openfl_HasColorTransform) {\r\n\r\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\r\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\r\n\r\n\t\t}\r\n\r\n\t\tgl_Position = openfl_Matrix * openfl_Position;\r\n\r\n\t\t}"; } openfl_display_Shader.call(this,code); this.__isGenerated = true; this.__init(); }; $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_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__$internal_renderer_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__$internal_renderer_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.__owner.__localBoundsDirty = true; } 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.__owner.__localBoundsDirty = true; 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 = thickness; } } else if(thickness / 2 > this.__strokePadding) { this.__strokePadding = 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__$internal_renderer_canvas_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.__owner.__localBoundsDirty = true; this.__transformDirty = true; } else { if(x < this.__bounds.x) { this.__bounds.width += this.__bounds.x - x; this.__bounds.x = x; this.__owner.__localBoundsDirty = true; this.__transformDirty = true; } if(y < this.__bounds.y) { this.__bounds.height += this.__bounds.y - y; this.__bounds.y = y; this.__owner.__localBoundsDirty = true; this.__transformDirty = true; } if(x > this.__bounds.x + this.__bounds.width) { this.__owner.__localBoundsDirty = true; this.__bounds.width = x - this.__bounds.x; } if(y > this.__bounds.y + this.__bounds.height) { this.__owner.__localBoundsDirty = true; this.__bounds.height = y - this.__bounds.y; } } } ,__readGraphicsData: function(graphicsData) { var data = new openfl__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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__$internal_renderer_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.floor(tx); this.__worldTransform.ty = Math.floor(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.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__$internal_Lib.notImplemented({ fileName : "openfl/display/Loader.hx", lineNumber : 226, 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) { 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.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.addChild.call(this,content); } } ,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; this.__type = openfl__$internal_renderer_DisplayObjectType.MOVIE_CLIP; 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(); } } ,__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; 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_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_Sprite(); 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_Sprite(); 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(percent); 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.__type = openfl__$internal_renderer_DisplayObjectType.SHAPE; }; $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.__type = openfl__$internal_renderer_DisplayObjectType.SIMPLE_BUTTON; 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; } ,__setTransformDirty: function(force) { if(force == null) { force = false; } this.__transformDirty = true; if(this.__currentState != null) { this.__currentState.__setTransformDirty(force); } if(this.get_hitTestState() != null && this.get_hitTestState() != this.__currentState) { this.get_hitTestState().__setTransformDirty(force); } } ,__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); if(this.__transformDirty) { if(this.__worldTransform == null) { this.__worldTransform = new openfl_geom_Matrix(); } if(this.__renderTransform == null) { this.__renderTransform = new openfl_geom_Matrix(); } if(this.parent != null) { var local = this.__transform; 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(this.__transform); } if(renderParent != null) { var local1 = this.__transform; var parentTransform1 = renderParent.__renderTransform; var target1 = this.__renderTransform; target1.a = local1.a * parentTransform1.a + local1.b * parentTransform1.c; target1.b = local1.a * parentTransform1.b + local1.b * parentTransform1.d; target1.c = local1.c * parentTransform1.a + local1.d * parentTransform1.c; target1.d = local1.c * parentTransform1.b + local1.d * parentTransform1.d; target1.tx = local1.tx * parentTransform1.a + local1.ty * parentTransform1.c + parentTransform1.tx; target1.ty = local1.tx * parentTransform1.b + local1.ty * parentTransform1.d + parentTransform1.ty; } else { this.__renderTransform.copyFrom(this.__transform); } 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; } this.__transformDirty = 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.get_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.get_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); } 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); } } } ,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; this.__hitTestState.__setTransformDirty(); } } if(hitTestState != null) { hitTestState.__renderParent = this; hitTestState.__setTransformDirty(); 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; this.__currentState.__setTransformDirty(); } 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.__setStageReferences(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; value.__setTransformDirty(); if(!value.__renderDirty) { value.__renderDirty = true; value.__setParentRenderDirty(); } } this.__localBoundsDirty = true; 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.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": var renderer = new openfl__$internal_renderer_canvas_CanvasRenderer(this.window.context.canvas2D); renderer.pixelRatio = pixelRatio; this.__renderer = renderer; break; case "dom": var renderer1 = new openfl__$internal_renderer_dom_DOMRenderer(this.window.context.dom); renderer1.pixelRatio = pixelRatio; this.__renderer = renderer1; 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(); if(openfl_display_BitmapData.__hardwareRenderer == null) { openfl_display_BitmapData.__hardwareRenderer = new openfl__$internal_renderer_context3D_Context3DRenderer(this.context3D); } this.__renderer = new openfl__$internal_renderer_context3D_Context3DRenderer(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); if(openfl_display_BitmapData.__hardwareRenderer != null) { openfl_display_BitmapData.__hardwareRenderer.__stage = this; openfl_display_BitmapData.__hardwareRenderer.__worldTransform = this.__displayMatrix.clone(); openfl_display_BitmapData.__hardwareRenderer.__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) { 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)); 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) { if(this.get_focus() != null) { nextIndex = 0; } else { nextIndex = this.__currentTabOrderIndex; } } else { 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 index = tabStack.indexOf(this.get_focus()); 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; } } 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 == null || !focusEvent.isDefaultPrevented()) { this.__currentTabOrderIndex = nextIndex; if(nextObject != null) { this.set_focus(nextObject); } } } } } ,__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; if(this.__renderer != null) { this.__renderer.__enterFrame(this,this.__deltaTime); } this.__deltaTime = 0; var shouldRender = this.__renderer != null && (this.__renderDirty || this.__forceRender); var shouldUpdate = shouldRender || this.__transformDirty; if(this.__invalidated && shouldRender) { this.__invalidated = false; event = new openfl_events_Event("render"); this.__broadcastEvent(event); } if(openfl_display_DisplayObject.__supportDOM) { if(shouldUpdate || this.__wasDirty) { this.__update(false,true); this.__wasDirty = shouldUpdate; } } else if(shouldUpdate) { 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.context3D.__bitmapDataPool.cleanup(); } this.__renderer.__cleared = false; openfl_display_BitmapData.__pool.cleanup(); } 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) { if(this.__primaryTouch == touch) { this.__primaryTouch = null; } this.__onTouch("touchEnd",touch); } ,__onLimeTouchMove: function(touch) { this.__onTouch("touchMove",touch); } ,__onLimeTouchEnd: function(touch) { if(this.__primaryTouch == touch) { this.__primaryTouch = null; } this.__onTouch("touchEnd",touch); } ,__onLimeTouchStart: function(touch) { if(this.__primaryTouch == null) { this.__primaryTouch = touch; } this.__onTouch("touchBegin",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),this.__mouseOverTarget); 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) { 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__$internal_utils_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 isPrimaryTouchPoint = this.__primaryTouch == touch; 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__$internal_utils_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)); } ,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 ,__style: null ,__webgl: null ,__renderContext: 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() { if(this.__stage.context3D != null) { this.context3D = new openfl_display3D_Context3D(this.__stage,this.__stage.context3D.__contextState,this); this.__dispatchCreate(); } 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.__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; this.__type = openfl__$internal_renderer_DisplayObjectType.TILEMAP; }; $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 ,__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); } ,__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; this.__localBoundsDirty = true; 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; this.__localBoundsDirty = true; 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_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__$internal_renderer_context3D_Context3DState(); } this.__state = new openfl__$internal_renderer_context3D_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(3386); } 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 || extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT == null) { extension = this.gl.getExtension("MOZ_EXT_texture_filter_anisotropic"); } if(extension == null || extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT == null) { 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(7936); var version = this.gl.getParameter(7938); var renderer = this.gl.getParameter(7937); var glslVersion = this.gl.getParameter(35724); 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); this.__bitmapDataPool = new openfl__$internal_renderer_BitmapDataPool(30,this); }; $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 ,__bitmapDataPool: 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 |= 16384; 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 |= 256; if(this.__contextState.depthMask != true) { this.gl.depthMask(true); this.__contextState.depthMask = true; } this.gl.clearDepth(depth); } if((mask & 4) != 0) { clearMask |= 1024; 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 pixels = data; var dstOffset = null; if(dstOffset != null) { this2.readPixels(0,0,width,height,format,5121,pixels,dstOffset); } else { this2.readPixels(0,0,width,height,format,5121,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(4,count,5123,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(32774); } ,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__$internal_renderer_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,5121,true,buffer.__stride,byteOffset); break; case 1: this.gl.vertexAttribPointer(index,1,5126,false,buffer.__stride,byteOffset); break; case 2: this.gl.vertexAttribPointer(index,2,5126,false,buffer.__stride,byteOffset); break; case 3: this.gl.vertexAttribPointer(index,3,5126,false,buffer.__stride,byteOffset); break; case 4: this.gl.vertexAttribPointer(index,4,5126,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(34962,buffer); this.__contextState.__currentGLArrayBuffer = buffer; } } ,__bindGLElementArrayBuffer: function(buffer) { if(this.__contextState.__currentGLElementArrayBuffer != buffer) { this.gl.bindBuffer(34963,buffer); this.__contextState.__currentGLElementArrayBuffer = buffer; } } ,__bindGLFramebuffer: function(framebuffer) { if(this.__contextState.__currentGLFramebuffer != framebuffer) { this.gl.bindFramebuffer(36160,framebuffer); this.__contextState.__currentGLFramebuffer = framebuffer; } } ,__bindGLTexture2D: function(texture) { this.gl.bindTexture(3553,texture); this.__contextState.__currentGLTexture2D = texture; } ,__bindGLTextureCubeMap: function(texture) { this.gl.bindTexture(34067,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(4,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(1029); break; case 1: this.gl.cullFace(1028); break; case 2: this.gl.cullFace(1032); 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(519); break; case 1: this.gl.depthFunc(514); break; case 2: this.gl.depthFunc(516); break; case 3: this.gl.depthFunc(518); break; case 4: this.gl.depthFunc(513); break; case 5: this.gl.depthFunc(515); break; case 6: this.gl.depthFunc(512); break; case 7: this.gl.depthFunc(517); 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__$internal_renderer_SamplerState(); samplerState = this.__state.samplerStates[i]; } this.gl.activeTexture(33984 + sampler); if(texture != null) { if(texture.__textureTarget == 3553) { 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(33984 + sampler + 4); if(texture != null && texture.__alphaTexture != null) { if(texture.__alphaTexture.__textureTarget == 3553) { 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 772; case 1: return 774; case 2: return 1; case 3: return 773; case 4: return 775; case 5: return 771; case 6: return 769; case 7: return 770; case 8: return 768; case 9: return 0; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } ,__getGLCompareMode: function(mode) { switch(mode) { case 0: return 519; case 1: return 514; case 2: return 516; case 3: return 518; case 4: return 513; case 5: return 515; case 6: return 512; case 7: return 517; default: return 514; } } ,__getGLStencilAction: function(action) { switch(action) { case 0: return 7683; case 1: return 34056; case 2: return 7682; case 3: return 34055; case 4: return 5386; case 5: return 7680; case 6: return 7681; case 7: return 0; default: return 7680; } } ,__getGLTriangleFace: function(face) { switch(face) { case 0: return 1029; case 1: return 1028; case 2: return 1032; case 3: return 0; default: return 1032; } } ,__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(3042); } else { this.gl.disable(3042); } 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(2884); } else { this.gl.disable(2884); } this.__contextState.__enableGLCullFace = enable; } } ,__setGLDepthTest: function(enable) { if(this.__contextState.__enableGLDepthTest != enable) { if(enable) { this.gl.enable(2929); } else { this.gl.disable(2929); } this.__contextState.__enableGLDepthTest = enable; } } ,__setGLFrontFace: function(counterClockWise) { if(this.__contextState.__frontFaceGLCCW != counterClockWise) { this.gl.frontFace(counterClockWise ? 2305 : 2304); this.__contextState.__frontFaceGLCCW = counterClockWise; } } ,__setGLScissorTest: function(enable) { if(this.__contextState.__enableGLScissorTest != enable) { if(enable) { this.gl.enable(3089); } else { this.gl.disable(3089); } this.__contextState.__enableGLScissorTest = enable; } } ,__setGLStencilTest: function(enable) { if(this.__contextState.__enableGLStencilTest != enable) { if(enable) { this.gl.enable(2960); } else { this.gl.disable(2960); } 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 ? 35048 : 35044; }; $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,34963,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__$internal_formats_agal_AGALConverter.convertToGLSL(this,vertexProgram,null); var glslFragment = openfl__$internal_formats_agal_AGALConverter.convertToGLSL(this,fragmentProgram,samplerStates); if(lime_utils_Log.level == 5) { lime_utils_Log.info(glslVertex,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 397, className : "openfl.display3D.Program3D", methodName : "upload"}); lime_utils_Log.info(glslFragment,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 398, 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\r\n\t\t\t#ifdef GL_FRAGMENT_PRECISION_HIGH\r\n\t\t\tprecision highp float;\r\n\t\t\t#else\r\n\t\t\tprecision mediump float;\r\n\t\t\t#endif\r\n\t\t\t#endif\r\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 : 575, 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(35633); gl.shaderSource(this.__glVertexShader,vertexShaderSource); gl.compileShader(this.__glVertexShader); if(gl.getShaderParameter(this.__glVertexShader,35713) == 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 : 868, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"}); } this.__glFragmentShader = gl.createShader(35632); gl.shaderSource(this.__glFragmentShader,fragmentShaderSource); gl.compileShader(this.__glFragmentShader); if(gl.getShaderParameter(this.__glFragmentShader,35713) == 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 : 880, 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,35714) == 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 : 921, 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 ? 35048 : 35044; }; $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(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,34962,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(this.__tempFloat32Array); } ,__class__: openfl_display3D_VertexBuffer3D }; 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 = 6408; 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 = 6408; } 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(); } gl.deleteTexture(this.__textureID); if(this.__glFramebuffer != null) { gl.deleteFramebuffer(this.__glFramebuffer); } if(this.__glDepthRenderbuffer != null) { gl.deleteRenderbuffer(this.__glDepthRenderbuffer); } if(this.__glStencilRenderbuffer != null) { gl.deleteRenderbuffer(this.__glStencilRenderbuffer); } } ,__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(36160,36064,3553,this.__textureID,0); if(this.__context.__enableErrorChecking) { var code = gl.checkFramebufferStatus(36160); if(code != 36053) { lime_utils_Log.warn("Error: Context3D.setRenderToTexture status:" + code + " width:" + this.__width + " height:" + this.__height,{ fileName : "openfl/display3D/textures/TextureBase.hx", lineNumber : 202, 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(36161,this.__glDepthRenderbuffer); gl.renderbufferStorage(36161,openfl_display3D_Context3D.__glDepthStencil,this.__width,this.__height); gl.framebufferRenderbuffer(36160,33306,36161,this.__glDepthRenderbuffer); } else { this.__glDepthRenderbuffer = gl.createRenderbuffer(); this.__glStencilRenderbuffer = gl.createRenderbuffer(); gl.bindRenderbuffer(36161,this.__glDepthRenderbuffer); gl.renderbufferStorage(36161,33189,this.__width,this.__height); gl.bindRenderbuffer(36161,this.__glStencilRenderbuffer); gl.renderbufferStorage(36161,36168,this.__width,this.__height); gl.framebufferRenderbuffer(36160,36096,36161,this.__glDepthRenderbuffer); gl.framebufferRenderbuffer(36160,36128,36161,this.__glStencilRenderbuffer); } if(this.__context.__enableErrorChecking) { var code1 = gl.checkFramebufferStatus(36160); if(code1 != 36053) { lime_utils_Log.warn("Error: Context3D.setRenderToTexture status:" + code1 + " width:" + this.__width + " height:" + this.__height,{ fileName : "openfl/display3D/textures/TextureBase.hx", lineNumber : 240, className : "openfl.display3D.textures.TextureBase", methodName : "__getGLFramebuffer"}); } } gl.bindRenderbuffer(36161,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(37441,1); } else if(!image.get_premultiplied() && image.get_transparent()) { gl.pixelStorei(37441,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 == 34067) { this.__context.__bindGLTextureCubeMap(this.__textureID); } else { this.__context.__bindGLTexture2D(this.__textureID); } var wrapModeS = 0; var wrapModeT = 0; switch(state.wrap) { case 0: wrapModeS = 33071; wrapModeT = 33071; break; case 1: wrapModeS = 33071; wrapModeT = 10497; break; case 2: wrapModeS = 10497; wrapModeT = 10497; break; case 3: wrapModeS = 10497; wrapModeT = 33071; 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 = 9728; } else { magFilter = 9729; } switch(state.mipfilter) { case 0: minFilter = state.filter == 5 ? 9986 : 9987; break; case 1: minFilter = state.filter == 5 ? 9984 : 9985; break; case 2: minFilter = state.filter == 5 ? 9728 : 9729; break; default: throw new js__$Boot_HaxeError(new openfl_errors_Error("mipfiter bad enum")); } gl.texParameteri(this.__textureTarget,10241,minFilter); gl.texParameteri(this.__textureTarget,10240,magFilter); gl.texParameteri(this.__textureTarget,10242,wrapModeS); gl.texParameteri(this.__textureTarget,10243,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 != 3553) { return; } if(image.buffer.bitsPerPixel == 1) { internalFormat = 6406; format = 6406; } 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(37441,1); } else if(!image.get_premultiplied() && image.get_transparent()) { gl.pixelStorei(37441,1); } if(image.type == lime_graphics_ImageType.DATA) { lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,3553,0,internalFormat,image.buffer.width,image.buffer.height,0,format,5121,image.get_data()); } else { lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,3553,0,internalFormat,format,5121,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 = 34067; 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,5121,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,5121,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(36160,36064,34069 + surfaceSelector,this.__textureID,0); if(this.__context.__enableErrorChecking) { var code = gl.checkFramebufferStatus(36160); if(code != 36053) { lime_utils_Log.error("Error: Context3D.setRenderToTexture status:" + code + " width:" + this.__width + " height:" + this.__height,{ fileName : "openfl/display3D/textures/CubeTexture.hx", lineNumber : 284, 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(34067); 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(34067,openfl_display3D_Context3D.__glTextureMaxAnisotropy,aniso); } return true; } return false; } ,__sideToTarget: function(side) { var gl = this.__context.gl; switch(side) { case 0: return 34069; case 1: return 34070; case 2: return 34071; case 3: return 34072; case 4: return 34073; case 5: return 34074; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } ,__uploadCompressedTextureFromByteArray: function(data,byteArrayOffset) { var _gthis = this; var reader = new openfl__$internal_formats_atf_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,5121,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,5121,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,5121,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,5121,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,5121,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,5121,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 = 3553; 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,5121,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,5121,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(3553,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 = 3553; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,5121,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,5121,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,5121,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(3553); 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(3553,openfl_display3D_Context3D.__glTextureMaxAnisotropy,aniso); } return true; } return false; } ,__uploadCompressedTextureFromByteArray: function(data,byteArrayOffset) { var _gthis = this; var reader = new openfl__$internal_formats_atf_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,5121,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 = 3553; }; $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 ,__netStream: null ,attachNetStream: function(netStream) { var _gthis = this; if(this.__netStream != null) { this.__netStream.__video.removeEventListener("canplay",$bind(this,this.__onCanPlay),false); } this.__netStream = netStream; if(this.__netStream.__video.readyState == 4) { haxe_Timer.delay(function() { _gthis.__textureReady(); },0); } else { this.__netStream.__video.addEventListener("canplay",$bind(this,this.__onCanPlay),false); } } ,__onCanPlay: function(_) { this.__textureReady(); } ,__getTexture: function() { if((!this.__netStream.__video.paused || this.__netStream.get___seeking()) && this.__netStream.__video.readyState > 0) { this.__netStream.set___seeking(false); var gl = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,3553,0,6408,6408,5121,this.__netStream.__video); } 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_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; } ,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(); this.__displayObject.__setParentRenderDirty(); } } ,__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.__type = openfl__$internal_renderer_DisplayObjectType.VIDEO; 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 ,__bufferData: null ,__dirty: null ,__height: null ,__indexBuffer: null ,__indexBufferData: null ,__stream: null ,__texture: null ,__textureTime: null ,__uvRect: null ,__vertexBuffer: null ,__vertexBufferData: null ,__width: null ,__bufferContext: null ,__indexBufferContext: null ,__vertexBufferContext: null ,attachNetStream: function(netStream) { this.__stream = netStream; if(this.__stream != null && this.__stream.__video != null && !this.__stream.__closed) { this.__stream.__video.play(); } } ,clear: function() { } ,__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(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.__setParentRenderDirty(); 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.__setParentRenderDirty(); 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_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 ,__seeking: 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; this.__video.src = 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.set___seeking(true); this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "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(); } } ,__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.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "NetStream.Play.Stop"})); this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "NetStream.Play.Complete"})); this.__playStatus("NetStream.Play.Complete"); } ,video_onError: function(event) { this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "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.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "NetStream.Play.Start"})); this.__playStatus("NetStream.Play.playing"); } ,video_onSeeking: function(event) { this.__playStatus("NetStream.Play.seeking"); this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "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; } } ,get___seeking: function() { if(!this.__seeking) { return this.__video.seeking; } else { return true; } } ,set___seeking: function(value) { return this.__seeking = value; } ,__class__: openfl_net_NetStream ,__properties__: {set___seeking:"set___seeking",get___seeking:"get___seeking",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__$internal_Lib.notImplemented({ fileName : "openfl/net/SharedObject.hx", lineNumber : 804, 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__$internal_Lib.notImplemented({ fileName : "openfl/net/SharedObject.hx", lineNumber : 388, 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__$internal_Lib.notImplemented({ fileName : "openfl/net/SharedObject.hx", lineNumber : 820, 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__$internal_Lib.notImplemented({ fileName : "openfl/system/System.hx", lineNumber : 211, className : "openfl.system.System", methodName : "pause"}); }; openfl_system_System.resume = function() { openfl__$internal_Lib.notImplemented({ fileName : "openfl/system/System.hx", lineNumber : 227, 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_TextField = function() { this.__forceCachedBitmapUpdate = false; this.__renderedOnCanvasWhileOnDOM = false; openfl_display_InteractiveObject.call(this); this.__type = openfl__$internal_renderer_DisplayObjectType.TEXTFIELD; this.__caretIndex = -1; this.__displayAsPassword = false; this.__graphics = new openfl_display_Graphics(this); this.__textEngine = new openfl__$internal_text_TextEngine(this); this.__layoutDirty = true; this.__offsetX = 0; this.__offsetY = 0; this.__mouseWheelEnabled = true; this.__text = ""; 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__$internal_text_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)); }; $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 ,__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.__updateScrollV(); this.__updateScrollH(); } ,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; } var index = this.__textEngine.getLineBreakIndex(); var startIndex = 0; while(index > -1) { if(index < charIndex) { startIndex = index + 1; } else if(index >= charIndex) { break; } index = this.__textEngine.getLineBreakIndex(index + 1); } return startIndex; } ,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.__stopCursorTimer(); this.__startCursorTimer(); } ,setTextFormat: function(format,beginIndex,endIndex) { if(endIndex == null) { endIndex = 0; } if(beginIndex == null) { beginIndex = 0; } var max = this.get_text().length; var range; if(beginIndex < 0) { beginIndex = 0; } if(endIndex < 0) { endIndex = 0; } if(endIndex == 0) { if(beginIndex == 0) { endIndex = max; } else { endIndex = beginIndex + 1; } } if(endIndex < beginIndex) { return; } if(beginIndex == 0 && endIndex >= max) { this.__textFormat.__merge(format); var _g = 0; var _g1 = this.__textEngine.textFormatRanges.get_length(); while(_g < _g1) { var i = _g++; range = this.__textEngine.textFormatRanges.get(i); 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.start == beginIndex && range.end == endIndex) { range.format.__merge(format); break; } else if(range.start >= beginIndex && range.end <= endIndex) { range.format.__merge(format); } else if(range.start >= beginIndex && range.start < endIndex && range.end > beginIndex) { newRange = new openfl__$internal_text_TextFormatRange(range.format.clone(),range.start,endIndex); newRange.format.__merge(format); this.__textEngine.textFormatRanges.insertAt(index,newRange); range.start = endIndex; ++index; } else if(range.start < beginIndex && range.end > beginIndex && range.end >= endIndex) { newRange = new openfl__$internal_text_TextFormatRange(range.format.clone(),beginIndex,range.end); newRange.format.__merge(format); this.__textEngine.textFormatRanges.insertAt(index + 1,newRange); range.end = beginIndex; ++index; } ++index; } } 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() { if(this.__selectionIndex == this.__caretIndex || this.__caretIndex < this.__selectionIndex) { this.__caretIndex = this.getLineOffset(this.getLineIndexOfChar(this.__caretIndex)); } else { this.__selectionIndex = this.getLineOffset(this.getLineIndexOfChar(this.__selectionIndex)); } } ,__caretEndOfLine: function() { var lineIndex; if(this.__selectionIndex == this.__caretIndex) { lineIndex = this.getLineIndexOfChar(this.__caretIndex); } else { lineIndex = this.getLineIndexOfChar(Math.max(this.__caretIndex,this.__selectionIndex) | 0); } 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(lineIndex,caretIndex) { if(lineIndex == null) { lineIndex = this.getLineIndexOfChar(this.__caretIndex); } if(lineIndex < this.__textEngine.numLines - 1) { if(caretIndex == null) { caretIndex = this.__caretIndex; } this.__caretIndex = this.__getCharIndexOnDifferentLine(caretIndex,lineIndex + 1); } else { this.__caretIndex = this.__text.length; } } ,__caretPreviousCharacter: function() { if(this.__caretIndex > 0) { this.__caretIndex--; } } ,__caretPreviousLine: function(lineIndex,caretIndex) { if(lineIndex == null) { lineIndex = this.getLineIndexOfChar(this.__caretIndex); } if(lineIndex > 0) { if(caretIndex == null) { caretIndex = this.__caretIndex; } this.__caretIndex = this.__getCharIndexOnDifferentLine(caretIndex,lineIndex - 1); } else { this.__caretIndex = 0; } } ,__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; } ,__getRenderBounds: function(rect,matrix) { if(this.__scrollRect == null) { this.__updateLayout(); var bounds = openfl_geom_Rectangle.__pool.get(); bounds.copyFrom(this.__textEngine.bounds); bounds.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } else { openfl_display_InteractiveObject.prototype.__getRenderBounds.call(this,rect,matrix); } } ,__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); var i = startIndex + value.length; if(i > this.__text.length) { i = this.__text.length; } this.setSelection(i,i); this.__updateScrollH(); } ,__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)); if(endIndex > this.__text.length) { endIndex = this.__text.length; } 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.end >= beginIndex) { if(range.start > endIndex) { range.start += offset; range.end += offset; } else if(!(range.start < range.end && range.end == beginIndex && i < this.__textEngine.textFormatRanges.get_length() - 1)) { 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) { if(this.__textEngine.textFormatRanges.get_length() > 1) { this.__textEngine.textFormatRanges.splice(i,1); } else { range.start = 0; range.end = newText.length; } } else if(range.start <= beginIndex) { if(range.end < endIndex) { range.end = beginIndex; } else { range.end += offset; } } else { range.start = beginIndex; range.end += offset; } } ++i; } this.__updateScrollV(); this.__updateScrollH(); this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__startCursorTimer: function() { 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(); } } ,__update: function(transformOnly,updateChildren) { var transformDirty = this.__transformDirty; 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); if(this.__transformDirty) { if(this.__worldTransform == null) { this.__worldTransform = new openfl_geom_Matrix(); } if(this.__renderTransform == null) { this.__renderTransform = new openfl_geom_Matrix(); } if(this.parent != null) { var local = this.__transform; 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(this.__transform); } if(renderParent != null) { var local1 = this.__transform; var parentTransform1 = renderParent.__renderTransform; var target1 = this.__renderTransform; target1.a = local1.a * parentTransform1.a + local1.b * parentTransform1.c; target1.b = local1.a * parentTransform1.b + local1.b * parentTransform1.d; target1.c = local1.c * parentTransform1.a + local1.d * parentTransform1.c; target1.d = local1.c * parentTransform1.b + local1.d * parentTransform1.d; target1.tx = local1.tx * parentTransform1.a + local1.ty * parentTransform1.c + parentTransform1.tx; target1.ty = local1.tx * parentTransform1.b + local1.ty * parentTransform1.d + parentTransform1.ty; } else { this.__renderTransform.copyFrom(this.__transform); } 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; } this.__transformDirty = 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.get_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.get_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); } if(transformDirty) { var _this1 = this.__renderTransform; var px1 = this.__offsetX; var py1 = this.__offsetY; _this1.tx = px1 * _this1.a + py1 * _this1.c + _this1.tx; _this1.ty = px1 * _this1.b + py1 * _this1.d + _this1.ty; } } ,__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; } } ,__updateScrollH: function() { if(!this.get_multiline() && this.get_type() == 1) { this.__layoutDirty = true; this.__updateLayout(); var offsetX = this.__textEngine.textWidth - this.__textEngine.width + 4; if(offsetX > 0) { if(this.__caretIndex >= this.get_text().length) { this.set_scrollH(Math.ceil(offsetX)); } else { var caret = openfl_geom_Rectangle.__pool.get(); this.__getCharBoundaries(this.__caretIndex,caret); if(caret.x < this.get_scrollH()) { this.set_scrollH(Math.floor(caret.x - 2)); } else if(caret.x > this.get_scrollH() + this.__textEngine.width) { this.set_scrollH(Math.ceil(caret.x - this.__textEngine.width - 2)); } openfl_geom_Rectangle.__pool.release(caret); } } else { this.set_scrollH(0); } } } ,__updateScrollV: function() { this.__layoutDirty = true; this.__updateLayout(); 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()); } } ,__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); } } ,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.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.__setParentRenderDirty(); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__dirty = true; this.__layoutDirty = true; 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__$internal_formats_html_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.__updateScrollV(); 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.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 range = this.__textEngine.textFormatRanges.get(0); range.format = this.__textFormat; range.start = 0; range.end = value.length; this.__isHTML = false; this.__updateText(value); this.__updateScrollV(); 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.__setParentRenderDirty(); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__dirty = true; this.__layoutDirty = true; 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(); this.__setParentRenderDirty(); } 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(); this.__setParentRenderDirty(); } return this.__transform.ty = value - this.__offsetY; } ,stage_onMouseMove: function(event) { if(this.stage == null) { return; } if(this.__textEngine.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; if(openfl_display_DisplayObject.__supportDOM) { if(this.__renderedOnCanvasWhileOnDOM) { this.__forceCachedBitmapUpdate = true; } } else { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } } } ,stage_onMouseUp: function(event) { if(this.stage == null) { return; } 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_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("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); } } ,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)); } 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.__caretIndex = this.__text.length; this.__selectionIndex = 0; } } 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)); } break; case 1073741898: if(this.get_selectable()) { this.__caretBeginningOfLine(); this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741901: if(this.get_selectable()) { this.__caretEndOfLine(); this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741903: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier)) { this.__caretEndOfLine(); if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } } else if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__caretNextCharacter(); } else { if(this.__selectionIndex == this.__caretIndex) { this.__caretNextCharacter(); } else { this.__caretIndex = Math.max(this.__caretIndex,this.__selectionIndex) | 0; } this.__selectionIndex = this.__caretIndex; } this.__updateScrollH(); this.__updateScrollV(); this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741904: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier)) { this.__caretBeginningOfLine(); if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } } else if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__caretPreviousCharacter(); } else { if(this.__selectionIndex == this.__caretIndex) { this.__caretPreviousCharacter(); } else { this.__caretIndex = Math.min(this.__caretIndex,this.__selectionIndex) | 0; } this.__selectionIndex = this.__caretIndex; } this.__updateScrollH(); this.__updateScrollV(); this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741905: if(this.get_selectable()) { if(!this.__textEngine.multiline) { return; } if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__caretNextLine(); } else { if(this.__selectionIndex == this.__caretIndex) { this.__caretNextLine(); } else { var lineIndex = this.getLineIndexOfChar(Math.max(this.__caretIndex,this.__selectionIndex) | 0); this.__caretNextLine(lineIndex,Math.min(this.__caretIndex,this.__selectionIndex) | 0); } this.__selectionIndex = this.__caretIndex; } this.__updateScrollV(); this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741906: if(this.get_selectable()) { if(!this.__textEngine.multiline) { return; } if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__caretPreviousLine(); } else { if(this.__selectionIndex == this.__caretIndex) { this.__caretPreviousLine(); } else { var lineIndex1 = this.getLineIndexOfChar(Math.min(this.__caretIndex,this.__selectionIndex) | 0); this.__caretPreviousLine(lineIndex1,Math.min(this.__caretIndex,this.__selectionIndex) | 0); } this.__selectionIndex = this.__caretIndex; } this.__updateScrollV(); this.__stopCursorTimer(); this.__startCursorTimer(); } 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)); } } 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_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 ,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; 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; } } ,__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_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.fromBundle = function(bundle) { var library = lime_utils_AssetLibrary.fromBundle(bundle); 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.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 : 205, 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 : 211, className : "openfl.utils.Assets", methodName : "getMovieClip"}); } else { lime_utils_Log.error("There is no asset library named \"" + libraryName + "\"",{ fileName : "openfl/utils/Assets.hx", lineNumber : 215, 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) { if(name == null || name == "") { name = "default"; openfl_utils_Assets.cache.clear(":"); } var library = openfl_utils_Assets.getLibrary(name); if(library != null) { openfl_utils_Assets.cache.clear(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 openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(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_$.__get = function(this1,key) { return Reflect.field(this1,key); }; openfl_utils__$Object_Object_$Impl_$.__set = function(this1,key,value) { 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 zero_flixel_utilities_FlxOgmoUtils = function() { }; $hxClasses["zero.flixel.utilities.FlxOgmoUtils"] = zero_flixel_utilities_FlxOgmoUtils; zero_flixel_utilities_FlxOgmoUtils.__name__ = "zero.flixel.utilities.FlxOgmoUtils"; zero_flixel_utilities_FlxOgmoUtils.get_ogmo_package = function(project_path,level_path) { return { project : zero_utilities_OgmoUtils.parse_project_json(openfl_utils_Assets.getText(project_path)), level : zero_utilities_OgmoUtils.parse_level_json(openfl_utils_Assets.getText(level_path))}; }; zero_flixel_utilities_FlxOgmoUtils.get_tileset_path = function(data,path) { return path + data.path.split("/").pop(); }; zero_flixel_utilities_FlxOgmoUtils.load_tilemap = function(tilemap,data,path) { if(path.charAt(path.length - 1) != "/") { path += "/"; } var layer = zero_utilities_OgmoUtils.get_tile_layer(data.level,"tiles"); var tileset = zero_utilities_OgmoUtils.get_tileset_data(data.project,layer.tileset); switch(zero_flixel_utilities_FlxOgmoUtils.get_export_mode(layer)._hx_index) { case 0: tilemap.loadMapFromCSV(layer.dataCSV,zero_flixel_utilities_FlxOgmoUtils.get_tileset_path(tileset,path),tileset.tileWidth,tileset.tileHeight); break; case 1: tilemap.loadMapFromArray(layer.data,layer.gridCellsX,layer.gridCellsY,zero_flixel_utilities_FlxOgmoUtils.get_tileset_path(tileset,path),tileset.tileWidth,tileset.tileHeight); break; case 2: tilemap.loadMapFrom2DArray(layer.data2D,zero_flixel_utilities_FlxOgmoUtils.get_tileset_path(tileset,path),tileset.tileWidth,tileset.tileHeight); break; } return tilemap; }; zero_flixel_utilities_FlxOgmoUtils.get_export_mode = function(layer) { if(layer.exportMode == 1) { return zero_flixel_utilities_ETileExportMode.CSV; } else if(layer.arrayMode == 0) { return zero_flixel_utilities_ETileExportMode.ARRAY; } else { return zero_flixel_utilities_ETileExportMode.ARRAY2D; } }; zero_flixel_utilities_FlxOgmoUtils.get_decals_path = function(data,path) { return path + data.texture; }; zero_flixel_utilities_FlxOgmoUtils.get_decal_group = function(layer,path,radians) { if(radians == null) { radians = true; } if(path.charAt(path.length - 1) != "/") { path += "/"; } var g = new flixel_group_FlxTypedGroup(); var decal_loader = function(d) { var s = new flixel_FlxSprite(d.x,d.y,zero_flixel_utilities_FlxOgmoUtils.get_decals_path(d,path)); s.offset.set(s.get_width() / 2,s.get_height() / 2); if(d.scaleX != null) { s.scale.set_x(d.scaleX); } if(d.scaleY != null) { s.scale.set_y(d.scaleY); } if(d.rotation != null) { s.set_angle(radians ? d.rotation * 180 / Math.PI : d.rotation); } g.add(s); }; zero_utilities_OgmoUtils.load_decals(layer,decal_loader); return g; }; var zero_flixel_utilities_ETileExportMode = $hxEnums["zero.flixel.utilities.ETileExportMode"] = { __ename__ : "zero.flixel.utilities.ETileExportMode", __constructs__ : ["CSV","ARRAY","ARRAY2D"] ,CSV: {_hx_index:0,__enum__:"zero.flixel.utilities.ETileExportMode",toString:$estr} ,ARRAY: {_hx_index:1,__enum__:"zero.flixel.utilities.ETileExportMode",toString:$estr} ,ARRAY2D: {_hx_index:2,__enum__:"zero.flixel.utilities.ETileExportMode",toString:$estr} }; var zero_utilities_OgmoUtils = function() { }; $hxClasses["zero.utilities.OgmoUtils"] = zero_utilities_OgmoUtils; zero_utilities_OgmoUtils.__name__ = "zero.utilities.OgmoUtils"; zero_utilities_OgmoUtils.parse_level_json = function(json) { return JSON.parse(json); }; zero_utilities_OgmoUtils.parse_project_json = function(json) { return JSON.parse(json); }; zero_utilities_OgmoUtils.get_tile_layer = function(data,name) { var _g = 0; var _g1 = data.layers; while(_g < _g1.length) { var layer = _g1[_g]; ++_g; if(layer.name == name) { return layer; } } return null; }; zero_utilities_OgmoUtils.get_grid_layer = function(data,name) { var _g = 0; var _g1 = data.layers; while(_g < _g1.length) { var layer = _g1[_g]; ++_g; if(layer.name == name) { return layer; } } return null; }; zero_utilities_OgmoUtils.get_entity_layer = function(data,name) { var _g = 0; var _g1 = data.layers; while(_g < _g1.length) { var layer = _g1[_g]; ++_g; if(layer.name == name) { return layer; } } return null; }; zero_utilities_OgmoUtils.get_decal_layer = function(data,name) { var _g = 0; var _g1 = data.layers; while(_g < _g1.length) { var layer = _g1[_g]; ++_g; if(layer.name == name) { return layer; } } return null; }; zero_utilities_OgmoUtils.get_layer_data = function(data,name) { var _g = 0; var _g1 = data.layers; while(_g < _g1.length) { var layer = _g1[_g]; ++_g; if(layer.name == name) { return layer; } } return null; }; zero_utilities_OgmoUtils.get_tileset_data = function(data,name) { var _g = 0; var _g1 = data.tilesets; while(_g < _g1.length) { var tileset = _g1[_g]; ++_g; if(tileset.label == name) { return tileset; } } return null; }; zero_utilities_OgmoUtils.get_entity_data = function(data,name) { var _g = 0; var _g1 = data.entities; while(_g < _g1.length) { var entity = _g1[_g]; ++_g; if(entity.name == name) { return entity; } } return null; }; zero_utilities_OgmoUtils.load_entities = function(layer,fn) { var _g = 0; var _g1 = layer.entities; while(_g < _g1.length) { var entity = _g1[_g]; ++_g; fn(entity); } }; zero_utilities_OgmoUtils.load_decals = function(layer,fn) { var _g = 0; var _g1 = layer.decals; while(_g < _g1.length) { var decal = _g1[_g]; ++_g; fn(decal); } }; 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_tile_GraphicAutoAlt", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUlBQUFBQUlDQU1BQUFBR0F3ZE1BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBQUFnWTBoU1RRQUFlaVVBQUlDREFBRDUvd0FBZ09rQUFIVXdBQURxWUFBQU9wZ0FBQmR2a2wvRlJnQUFBd0JRVEZSRkFBQUFYbDVlQUFBQUF3TURCQVFFQlFVRkJnWUdCd2NIQ0FnSUNRa0pDZ29LQ3dzTERBd01EUTBORGc0T0R3OFBFQkFRRVJFUkVoSVNFeE1URkJRVUZSVVZGaFlXRnhjWEdCZ1lHUmtaR2hvYUd4c2JIQndjSFIwZEhoNGVIeDhmSUNBZ0lTRWhJaUlpSXlNakpDUWtKU1VsSmlZbUp5Y25LQ2dvS1NrcEtpb3FLeXNyTEN3c0xTMHRMaTR1THk4dk1EQXdNVEV4TWpJeU16TXpORFEwTlRVMU5qWTJOemMzT0RnNE9UazVPam82T3pzN1BEdzhQVDA5UGo0K1B6OC9RRUJBUVVGQlFrSkNRME5EUkVSRVJVVkZSa1pHUjBkSFNFaElTVWxKU2twS1MwdExURXhNVFUxTlRrNU9UMDlQVUZCUVVWRlJVbEpTVTFOVFZGUlVWVlZWVmxaV1YxZFhXRmhZV1ZsWldscGFXMXRiWEZ4Y1hWMWRYbDVlWDE5ZllHQmdZV0ZoWW1KaVkyTmpaR1JrWldWbFptWm1aMmRuYUdob2FXbHBhbXBxYTJ0cmJHeHNiVzF0Ym01dWIyOXZjSEJ3Y1hGeGNuSnljM056ZEhSMGRYVjFkbloyZDNkM2VIaDRlWGw1ZW5wNmUzdDdmSHg4ZlgxOWZuNStmMzkvZ0lDQWdZR0Jnb0tDZzRPRGhJU0VoWVdGaG9hR2g0ZUhpSWlJaVltSmlvcUtpNHVMakl5TWpZMk5qbzZPajQrUGtKQ1FrWkdSa3BLU2s1T1RsSlNVbFpXVmxwYVdsNWVYbUppWW1abVptcHFhbTV1Ym5KeWNuWjJkbnA2ZW41K2ZvS0Nnb2FHaG9xS2lvNk9qcEtTa3BhV2xwcWFtcDZlbnFLaW9xYW1wcXFxcXE2dXJyS3lzcmEydHJxNnVyNit2c0xDd3NiR3hzckt5czdPenRMUzB0YlcxdHJhMnQ3ZTN1TGk0dWJtNXVycTZ1N3U3dkx5OHZiMjl2cjYrdjcrL3dNREF3Y0hCd3NMQ3c4UER4TVRFeGNYRnhzYkd4OGZIeU1qSXljbkp5c3JLeTh2THpNek16YzNOenM3T3o4L1AwTkRRMGRIUjB0TFMwOVBUMU5UVTFkWFYxdGJXMTlmWDJOalkyZG5aMnRyYTI5dmIzTnpjM2QzZDN0N2UzOS9mNE9EZzRlSGg0dUxpNCtQajVPVGs1ZVhsNXVibTUrZm42T2pvNmVucDZ1cnE2K3ZyN096czdlM3Q3dTd1NysvdjhQRHc4Zkh4OHZMeTgvUHo5UFQwOWZYMTl2YjI5L2YzK1BqNCtmbjUrdnI2Ky92Ny9QejgvZjM5L3Y3Ky8vLy9Ra3FmSXdBQUFBTjBVazVULy84QTE4b05RUUFBQUhaSlJFRlVlTnJzVTBrU3dDQUlTeGovLzJUcFFSaGJOZHBiTC9VQ1lRa09Dd3dBZ0JBQU9NZ0ViTkt3OG0rTk4vN1pYMnF6MVFNRlBaU0loNHRLbWU5UFhKVy9OTFdYWFJPNzBQZVJIV3Qrdzhmdi8wREorWENhRGw5TWZGNWRIblpDdGNER1RGdldvRDdUYlVjcGIrd0NBQUQvL3dNQXl5QVNLMkFhNkV3QUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:file_flixel_system_VirtualInputData", data : "YmFzZSA9IDI2NiA0NiA4NCA4NA0KdGh1bWIgPSAyNjYgMTMxIDUyIDUyDQphID0gMCAwIDEzMiA0NQ0KYiA9IDAgNDYgMTMyIDQ1DQpjID0gMCA5MiAxMzIgNDUNCmRvd24gPSAwIDEzOCAxMzIgNDUNCmxlZnQgPSAxMzMgMCAxMzIgNDUNCnJpZ2h0ID0gMTMzIDQ2IDEzMiA0NQ0KdXAgPSAxMzMgOTIgMTMyIDQ1DQp4ID0gMjY2IDAgMTMyIDQ1DQp5ID0gMTMzIDEzOCAxMzIgNDUNCg"},{ 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_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_system_debug_interaction_tools__Mover_GraphicMoverTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROWEcxNHpZQUFBSnZjSEpXVjNpYzdackxqdE13RklZanNiUDZFRlpZc0NGeG5LYTNxTWtJdFJyTnBtakVWQXhpbHladUoyb1RSMGxHU2ZzMnZBTUxKQ1RZSXg2QXQ1Z1ZXOERwalU0MVlzR2lxZVR6OVdyWHgxLytFeS83N2RlWEJ5VlJrdDhWM3llTkhFL1lMSXdkOWVIelZ4V0hnYVBldGtiR0tCbXd1L0JxbGJLYjFldXh2NXI3dlVDOWNGRy90TXNvaVZqdTRUSmF4SmxkT3FvWDhBbXp4ZmRxbXFoNHZTU2ZPK3FyNmdmOGJuU05CenhsdUtVYm1tKzBEZHltT20xYW5VN25KVFlOYWhEREpOVFVhTWR1bXJaaDRDMnFpOFI3UHcybTlwdmg1VlluUm81NmwrZUpUVWhSRkhyUjFIazZJN1RYNjFYYm1LWW1WbWpaTXM2OVVvdXo1NXROZHZzTVdlYW5ZWktIUE1iVjJKdncrOXhSVllRUDJPYUtrcjBvenZSMVJ0M25FU205aEZEZElQdWRxODNGYW51UU1pL242Wmp6aGJ0SmZobW1yT0RwUE1PRG14YW1va284cks2RmI4TTQ0RVhXSjhkMVQyM0podUxsaWtaWm10SFZER3RNdTdiVnRXbnovVUg5WnRGUitZZ0g0WFQ1UkhtcmFWdnRiZm5Cb2wycnlGR3YvcmVIZ2I5dllYS2ZMdFozS3ZBSlc3Q0l4WGttMmtnZnR6SHc3U2xQSXk5M3c4aWJNWkxFc3o3NU8vblA2OXZNaXBNaURpblpuMUwzMFdVZG9wd1k4TzlCa3VlWDFvOGt6dzkrOElNZi9QWDZrZVQ1cGZVanlmT0RIL3pnQjMrOWZpUjVmbW45U1BMODRBZi8yZmhSelg0TS9ucjhTUEw4MHZxUjVQbkJELzZ6OGFPYS9YWG5sOWFQSk04dnJmLzRqeGluOXRlZEgvemdQeHMva2p5L3RINGtlWDd3Z3gvODRLL1hqeVRQTDYwZjFaNGY5Uy9LeFBQbjdOUitBQUFBQUFBQUFBQUFvQjQraU9lem4wdmwwOXVQalI4di9FYmQxd01BcCtSYThaU1p3aFNzVURIYWZRS3k4QWVWbzZ2ekVKZzhjUUFBQUVodGEwSkcrdDdLL2dBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLYVF6b1FBQU9TaHRhMVJUZUp6dGZkdHoyOGFTUGpZbmppUDVubXhsSC9aRlZidS8rajNGaDdpUUJCOUZVcFFVVXhJUFFkbHlYbHdnU01UYTJGYU9KQ3ZIeThML3Z0UGRnOXRnY0NVcFVRN0NXRU5pY0JsODNmTk5kMDhQY1BTcWU3TjRQYmJPRjdiM2VueDB2bEM5d2JnWEtjYi9PRDVmTkJ0NlIydWJEZTlzMkhNWERlOHRGVzhPKys1Q1ZiMkR3d21XNHozTFhiUTFiMnlkbnJQcTdqNDdnNHYvZWFQaDhHYlJIYkUvdmQzSjFVTDVYcGtxanZKTzZTcTJjcVdjSzQ1M2VIekV0ajltMnoreDdRZHMrNlV5VTNhVUlhdjlwTXk5Y2Y5a0NpZmRQY1p6NzdJbTYzUFQ2L1lQenhlRzF6MWliWit6QXUra2ErM2hUdFlBYnFGckhlQ3Y3cENLVjFqMGp2a0o5Z2I0ZXp6QmZRZGQvRFVZWTNGTUc2MFIyOWZ4dWhPcW5ORFpKeFpkNUlqT1I4WGhMclR5R0ZyVjhQb25LalNuZjZMQmFmb25PaFlEdGxGamhVYUZEb1ZYQUp0bkNXekd5b1h5bVcyYktYTmx0aXhDNnYxSHlOY2VpK0hpS3RmTGFJL3FHcFgxUjEwU0hYVzkraE9pczZUK2lCaVYwYUE3eHVneHgyaVg0WFBKa09peXY1OFpXdTg1VnQ5enJFSU1zOUNCZGtmZ2FSbUVEOWJuNG1NYU1Yd2FNWHgwTFk3UWJNaytwaEZDR2lGa0VFSUdJV1I0MXVoWGtxcGxzUy9PbEcwNG9kdXdyQlBjVUFiRFJ4ekRDZE91ZnpGOSs4enE4L1JNMTJTS2xnMmsydUZRYWxPbkJKU09TVkRpOXJXQnFYV0tnZm1VZzlsakN2ZUJmYzZWM3hoY3R2S0g4bDc1d2dIZGlpamxSL2I5UXJuSUJGUGx2VmJWQzlPKzJqRGszYmFSMFcyYkRVSVMrUUNRZE8zQ1BWY3pDMk9wbXhwaHFhdXowdGhsZCtqMmpLQXpIVUp1dmlLRG9wRTFYR29WeWE0WVpGVUIrZ2ZycCtld1Z3d2dvMGtBcVZOQnQxd09VWU13Y3JJNktxaEZ2bTRoSVVad0FqWUZuRkNwMWdCVVVyZUNqbHExZzQ1WjdSUTc2S2RNTlZNN3E5V3oxUTZxNjlHejd6aEdiOWhZY0MxRnB5Mm9tR0IwWk5sbGNHZ01IKzNPOGJGR1hXSi9xNXNnL1VjQlh1L1JwbmVZeGpEa0JHM3E0YmdKbFArbEVOMXp2RlROa1NJbUVIN2JLYTlTUm9zZ3N6bG0rc3dvUEhaVzc1VHNnbHJUSmlCaHFDbVA1QWpKLzVxaCthRVVrcTVSWU9SMC9aRVQ3SW1DUUFiY3hvRkVtMlQxT0FKOGxtK05BTG1SV2VKL0FXVEpMdkcvakV0RC9ERHVYSlNCRjhlTVhIY0MxYmswdm5OdW1jREJBSENudFdxQXh3eFhiVDRuek1SQkl4dXpLZ2F5bkJTMVpxYUI3R2psKzNoZ0hqYzFnbzR3TElhZE9pOU1qWUhpYVc0TXVxMEFPaGhCdnVCWVdzVTNpN3RtNkNKVWpIMFU2Y2lheWEwVWRFb0tvcVZyTXJSYWhGYUwwR3BSVnlZQ2hDOVRWK2pLTU1hTUQwcmcrREN3Vm16bDk1d1lpVWtvZGdoRk5ORWlLRGFXUmRFZ0ZFbkZwREEyYmNKUnk4Q3gyZUJoZ0E2UEEzUTRrbHp4V2x6eldrWWFtTFFsQWlZek9zc3A1WVQxZEthU3l1OWxlbkVoclN4bVBjdlZFanN6RE5UVGxmTWZEakRZaDMwZ3g5R1Joc2FlZlBYc1kyZCtqL3dYRDFkRmFncDNlbWtVWVFQQ1ZXckZjRlU2U3MrbEtQVXhzRGRsSm5oMnQ5NVVuTFJid21uQyt2RTVjMC91SzA3NnluSGFDbkM2WUJiSjlTMEdock40ck9NWUZaMDBQaVEwQ0pvR1FkTWdhQm9FVGFNZ05FK2xLc1JuWThxclQ1enJHN2MvKzVKRlJrMUNxRWtJTlplaTdBUDBYbTl5dk5kTm5XSGdLTEVSRzJGcUVreE5nc2ttbUd5Q3laYmEvZ053TjNHNlpRSmNJMUdtUzJaKzdTaEgvTnRjdVN4aWlwVXhIZFRtdk1oa1EwUHE1SmZ1Y25MRGdadXpKa0Zsa3ZGUGN3M3BnWkZzN0E0d3dQU2VCNXJlSTF2RnNRT3JFY09XNEFHaE5Cc3hRNWI4cG9RaEsrMk1xSXRGSStMMldyRXJEcFhmSTRjQlJPbUtKc2JmSEZtUGhLaDFLbTJGUG5xRllOTGE5Q3hxMTRlUkpMQlVNWkpremt2ZytUQm01bjlhN1p4N3dZa3NZV2k4aFc0YWdBVTRSc0g2am9OMUFsTUdIS0x0d0QwSDJ3ckNiWG5XbFYwMU9RRzhtVHlZZE1HMTlGMGhQOVNHQ3Axd0xOVUM0UXpZaWhZV0Iwc3p5ZmRCVDJjWEhUWlV2bGFMUEI4RFNnd241bUw0SW9JaFJJd2cyY05DTzlYbVZsbjJHR0ZMQTJ3RklJVklWc2JVakdNVHFCb0gxZEdFK05xTXg0aG80TTd4TUpucUVxd214OVVrWUIyVGdIVTRzSTRwK3V2d1pleC9pWFZ3cWdxKytBR20wWmo3cE9PeEgrSzBrdUU2bVNqOElOMnR3Sy9QQ3NFdmhPZ0M5RFBuWFZOaUpRYTMrd3pDbmhsSWlEMldPcGFJTktFb1JSb0hjUUFZRlgxTWlsOFUzdTBBM211TXFVQXl5bFVSKzhlZjFQYVRMVlI3WGdEZkl2WlBVMkNNT0xNQzMxcVlLSmNPYnNzb0I2NFBuT29HTVJJRVVNdG5paC9sTVdTZWpsR01mOXNWK2JmUU1NVkRlNjR0NUFod09JMXBqSDROR2YzNmNJbzgwZVIrWEpNN2NxeU1KMTFRRkdwTWdGcGpUczM4TndDdHVsSks5ajJjRVlQeUUvdVdWRmRWK1puVm5qUEljK2VTNHZQa2xhUFBXYjVmQ1JzZ3JxaG0xY0JCRXBuL2tDSEQxSENYYmIxbXYzOW0zOEJRQjg4d2Q1Smp0Wml0MW01YUlXYitNTjlqZy93SDlzL3Z1dEU5WmU0TXVpMnBKcVpkUHJCUXdzQXNQc1FVQWdyN0tmQmZjbXdCeXhOcUxDcUxRZW9QMS90QjRzRTVETmpyU1I5MmlwdnBwYkxOQk91VDA1OU5RTm9FcEprdzFMbnBHYzAyaXdFYUJmQUpCL0FOV2pSelBqV0pPaWhNYUJTTDNnaDVlNEZmWFN5QUExT01KYlV4c0huUVpGcHFXbEtLWkRCbkhrNjBZYXpDL3pJK2lRemJEUnBOQkNVdGpuR3hTU1BObE9rcEJZQldpTEEvWjZUNzg3N040Z0RMZlVwZE5tZUVQVHV0NzVlRHNZeFQ3bkxyMFkxYmo2NWRBTVFpN3VheUFTQzVpbW95Qk1rcmozcEJ3V1NibUNIcDgrV1lXOWdYeWtlQkwyRUkrcVM0a0pRRnc3VU1RN1ZwRUlhdE9JWjJDUWhiVWoyVUdqVTA5VnZGcXZHMU1FNllHbGRETEhVc3FmZTJlUGN0RHBxdmNEUkprdTJ1NkxKT0s2Ukp5a2VYUm5Ickd2azJpZFhVeUo4MEQzd1ZZZEljQ0JieG9pODZmU0g3MnB4eit4cStqSHdNTGQvMUcvc2NTVUdQWXBqNmVZRURjR0ZraUU2Tm1IUHRhMThaN3pwenZFWU1aY2tJY3YrUFk2ckxNSFZNdWNQUzRkRzFEay9xNkxRb1VvUnVpVDlIM2czZEZIL09YSWlPcDRNWWV0UC9aRERhYUZCbXEyZXpxdTFUWWtRaG55OFNleXVSaGNYOFE2bDZ3dllCM3o2ZzdRR1VPRnEzK1dEZEpnMzFJVVVGUFNEWHNGeG5mNHQ0Wm84dThSRzZVTjVnR1Z1U2ErWlVPaGtxZU5MUzBTVXRNSkdXSVJQUHdPU3FpQjV6eWxxUVV3YlZKeHlvUDZNQjdwdmxEemlJdXRLdmtON1dMcktPcG9oTG84ZE5uRGlBVEZVa29ZaGlZVFBObE1TQ0QyaU1Mb1BUZG9nVDh3UDMwY3o1TXhzeDZRQlRiT21SRDVtYXIzT09kSUJSNXpJeVZHOFZzc2VCQmZNZWs2UWg3REJQcE42THNMV3F6am1veFdjQkExOUZiNVZQQ3ZRTndUeXY3OEEzblErU3BuTWVkQytDTWZjRHJ2b29PODBnbnlGY1h2VXduend5ejJCTHJXbGYrWXBFWXNXUldLcDh2a1V6RGlZTGtnWk0wUTU4d3JaZlk4QXJiL25wS2pwd3MzZ0FWc0N3a3o5bytPbXBnam05b3U3cjZ5RGs1cDlqckhEdE9waklwTlNsU3RneDQ1TmRyblRVa004ZkNnbStqcHdDWmZhZ0dNWUpwN200RlJPTlk1TzZzaHRzTjJsWWJwWFQxaWVCNTN5QnJzeDdCanhmSXBHdHM2dExpTXNhcDAzcEVqbUlnMFFRMThyTXdLUnBMZGszVnRJSnpFUHdhUVRCZjJFUVp3Y2pGYVV4eE1CZ2ljV3VBWTVHdml0ZGVYNEFmT1VDZ3hBR0laeTJKQ0VkazN4d2cvL0ZuMzRaY1dNU2JwRW1aQ1BXcFRoem1DZUZuN2dVWHVPTWw0UFpyMWM0K1FBTURESGluWkJneXRNSkxhVXFxdGhTTm9rcnRtQk5ZYWd0eVNXbExGQ2R4NGgwSGxwbkpYSUpGMDkwZkJ0eDRjU0NtU2l0eUZTWkdaOHBBM3ZmR3d6N040dEI5RWtETG9yRndvRGNlU1NKMUVWeEhPT2N4a2NVMUdscURSZkhnQUFaRURjTUNJZkJIbXJ4WU56SFhjWmpxanVnNGd3S2J4RDE0cWhCL0xFUDRMRUpUWXJXbktiV1ZHdVNSazFpeFg3UW9oZXNQVTR3SHpIajJuZ2RtZks1Q3JqWTRUa2ZNUFE1eXUrTVIvelppOEgrYXdiOGNZOU9mc2krNzQvZ0NTd0Rlc1JLQS8veklsV3FYOFdmdndKMWI2R3VzZng1MUlxbjhLdlliNFRPaTRudUVSZGRENThtNExBTy9FRWl2akVITWFsUjBacHE0dE5KZkhvdHZncmllOHJGTjJZQU9leW1JWXJ5bXlERXA0R29aUHVjRnRpbm1tQnRFcXhkQzdhQ1lMZURmZ2tUQkdEZ1JKMGROeko1NE5lZFp0UlZFNkJCQWpScUFTN1JNMGtRMTJnYlhmcXdDVDFUdnM5cGdYMldvbHhWclNWYlFiS2grV1ZqaWsyNEZ0SGxzd0QrOXRPVTdkV2sxaVNwTld1aExTRzBFWnFiVHVTSlV5NlBnL2piVDFPMlZ4TmFtNFRXcm9XMmhOQUdDTXdzZ01VWFRyajlOR1Y3TmFHWkpEU3pGbG9Gb1QzaFF0dmp6Nkw1QTBrdmFyODg0V0tTN1hHYXUwYzFrWFpJcEoxYXBCVkUrcENMdEl0enNWZkJESzBiUEJEaU11aUQ0dFpxNG5KSVhFNHRyZ3JpMmdxY1F1ZzV0TXhhOU9mREd0R2ZEMnVxaVc1R29wdlZvbHRpeEh1RHlaL3p4SWdYYmo5TjJWNU5hSE1TMnJ3VzJoSysraWljT3d1Y2d1M0Fqb3pXbldiVVZST2dTd0owWXcxN0hHalRYSmtxZlpUSWU1emE4K2Z3ZmUwUjYwOXo2cXMxVXVYUll5ajdhZ1RZUVYrTC9kSmp2NHpZcndrSllCK0Q0bFcwOVNuWFZxaVpna21CazU5ZG5JeVA2bXRMcmlTNkNjb1VxWHFwbVdHdDFySGI4VnFqR2RaT1crS3hyYXhEMnhtSHFtS0x4RzV5LzVxL3V0NVpzOWdhY1hyR2NScmpzcGw5ekhhRWZaTTlTSmMxa05vUjE1U0lvc0MvMU5iTGdGelhSVFlFWlpoYnZjRGNxbXZsaEsvVi9DMWZJN1ZPdzI1MlVqU3A3ZkFHNW10a3NmTnNTTThOK212WWgvTnc4cnRWZHVQeWNTcDJuanZHNlhtRTRWaFA1VDM0TGVidVVjcGpUdDl0ZEJpVGF5bmRLdG5ub3VRbFZibDFYZVNPY1g0aDRCeEJPSThsWDRadG1UWTAyMDZEWWVheTZuaGxSend5RSswVlgyaEROSHNQTTFFeFJ3WFRLb1BSeWN1eDY3U0c3b2dEUm1nWXFkTk9XNTJtR1VicTNIRFpyMWh0WUJpMTdMblRVTk1NbytTSlZiRkZvaFR2WC9QdldEY2VjZDJBOUVhYTNZWVhKbnpNMHdpWkNhRkZLMFZiMkFqYnJka1pockpvZkRSZW11RnBVeTBUdnptRjFHRnoyMzdIdXJETmRTSHlTR3BXbDZzSnJSWmtlTW83bDlrd2szQUdQYVRWRXUyQ0NKNXdZTnRONjF4MDRUVFRpLzFmV0JrMnVQbDNyQTlia1ZqQUg4Z1BseEZ0TUdTTjZyU05saW9NbDNwd1o5T1o2UWhjYWdhMUxVZWJxM0pJNXU1czZzeVNFcjJiSm15SVZDeDhKY2FOSUJXcGtuZjBEck1iMDVUYzBPQ1RwdVRUNWxTZnFpbEszbW9sZTArbzVMTTVmS1JZUU1jeWl4TDJSamQvUXppYnZKV2svWnppajZVM2kvc1hvbUNXT004SzQ4cDdnLzdOWW04UW1VNmRJMDZIbUlNTnRtMlgvYjNCQitENDgzRHpZRG1SclZ4N2V5UHJadEh2N2NHZlY0aWZ4ZnhpOEQxT2xLbnlQMlFEZWYzZWExd2c2S0t0Zk1VUTlTTEhiUG1MNEpoUERRdVVycFgzL0loL1V4cXhQYmZEOWlUMi9VWlJoYjIzV0ZzK0lOZk9sWW55QmNxVTh6N0NWdHU0SnZUUFVDdjQzZytWLzFJYTRVYzRjby9kbGN0dHZTTjhrdHVoMHVkSC9qOWxvYlN4dHNWYXg5cW5hTXJQN0x2RHRzQTMyRGJEeCttWWJGdWIxZEExbXJobm0vMVZXUTM4OGdRY3dvYzk3bUtNNWtOd2IzOWp4K2hLVTJqbEFiSWJ4U3RrOStlR0grSElMcTV5dXNhTU1BdXpOYTlUY2R5S3lDY2I4U2VSUGYxc3MwdXlrd0o1dG9XN2VNS3dua0U4Q3A4Q2dldWVVZGVZOTVWNmxSQ25QbjlTbG8wcE5sRzBSSmsraStqTkVlYWxYdk1uU0ovajZPQmZTeFd1RlVnaWVQM2VKMnpqVlhDRUhqdmlNVDZtODByNVBYVi9zVjIwNGl6V0w2WFNuTEd6eWJUMUtUN080RThlUDRXZVBFc2N2eFhYZHFaTHJ0Q0txTVlmc3ZiU2lveHovaXh5T3N1MzNQT1pDeGdkb0E1bVh6MmlpOUtyMDN2UkdFNk1oV3pzUzNuM0lPTHdJbUFjMHVqTFZQMFFaZkQvMmRWL1o5Y2ZZSCthWXh6d2t2ZXJFM2JrQjZiMTlLUzJqMHhqTGxDbkw5bTJLR2FuYlA5aldzZktyL0lvd3JnN0VjNUZpcTdBem1OTUpQdnQzckt6eUY0MU85ZnNYTE56emM3M201MS80T3hzc1hQN2EzRnBmL1E2RlhvVHczM2xiSzNtN0pxemE4NnVPZnVyNHV5dEpHZmZXNFpXYTRhdUdicG02SnFodnlxRzN1WU0vU3RxL2Evc0dyOHhXL1MrY3JSUmMzVE4wVFZIMXh6OVZYRzBiMFZIT1ByZU1yUmVNM1ROMERWRDF3ejlWVEwwbUNFUDF3TjUzRmVHYnRVTVhUTjB6ZEExUTk5RGhwWm9RWjE1VjdQelV1d3NjbG5OempVNzErenNzM01vMlZXd2M1MTVWN056emM0MU85ZnN2RW5zWEdmZTFaeGRjM2JOMlRWbjN4L09yalB2YW9hdUdicG02SnFoTjVXaDY4eTdtcU5yanE0NXV1Ym96ZVhvT3ZPdVp1aWFvV3VHcmhsNjB4bTZ6cnlyR2JwbTZKcWhhNGErRzRidXM3MUFPeU9jSmVSMmNIMUtzSE0yejRtb3RSSXNtY2QxTnV1ekhjVmdueG5EeUZ3SjF5MmpiMDlqOXl1WE1Jd2Jtc0N1MGFPeXN3TGorOUpUR0VPR01ETkdtU1J2NjZ3bHpWdlJObCtEZG1JNlZGYmJubkZ0Qzk4TThpNjIxM0xhWnlkbWk3OUc3ZnMzcGIwbTNjdUtFbTY2N2ozbHVoZmxldEVhL1o1ckgrUkdNSXR5by9LTXhVeUhPc3Q0a3l4UlhiQkpha3MwM3hMVmhIYlZsbWcxUzFRVjJyRnBsdWpqa0U4WlEwZnVjQW1HSHJNcm5DUFQxZ3hkTTNRUmh0WnFocTRadW80VlNCbjZTY2lueWl5VG81L0ZtR29IVzB0dmYvb1E4ZUlleDFiOXJkSi9FM2tsai8yYW5OTmNaRFBndkRiN0dHeC9uLzEwOWczZVRRcHQ4SzlqSWwrNjZQVUJCOWIrMi9ydEE1bTJWTkc5WjhobUgzQnNqcDFOZVFrZmlRYm02ZEJVNlRBdGNOaGZHQW5uT0lJYXlIRytEa0ZjQURUSVpScm1heXJzYmJMZm9Ia3p0bjljaC82VFhhbkxzSElSU2VMVWR3eXpTK1JWNFBrLzJlL3JBR2ZRcnY4TkVIdUFWOTZCdjdHemZxL01Dc2FqMWlQSlBPeWpMWGlnMklMR2ZjTlFhZ3I3T0RuOGpNeGFRVXUyWXpybjE0bTZrV1VYaW4wcFQ0czBaQm1UYVFPVEJiSU9hQWZvUzNVbUttTEZ0QVJNODBkOW8rS29uemJhTGNPWG16WlN5dlVtcm9HUEdaZk9tT2Z4R1Z1NUU4SEtmMHZlTGlKNndlcUdBYUpYRlpnSmRNSmc5UzdhN3lxT2JpcTdaeU5oMjV1Y21Xd2NCV0g4bTdGL1lGMTFib1dabnJMOUxtQXNRbnZwSFpmcE8vYjdOMldhSXNGbndqSHZ1UzBkUCtwdjdINmFnbzV2czNxUTJrZjI5eDFxMmVmVVdjT3QyTDV3bDdPVVBSL0Y5dnhOOGQ5M1dleTgwZnVNNy9rODlUN2pMWmZkNll2VVk4WDJ5WTRXcit4TEpYbHZ0ek5qSmU4WGNjYWJJVnRkQy9vUVNrMTJuOCtrUnhWQktFc0g4NjRweDFiVVJ0RkRTdXNuOHd3dlU0NUpkaDk1SERtcVNHOThJdGsvNzE2U1IrUnBscnhWNmZmK1ZIcnZLZjJtRkV0dnNTMGdoeHM4ZjFYYlVXZGNDeHc3eGJGOGp1elk0ZU4vT09wRFBkeEhBKzFMWU9nT3hnVm1hRU9LMFpmMU1QVGpVRFo0dGd2bEhPMkpLMjkveEVEYkgwMXVGbWZESHJ4dDdTMFZYcmhOYXpacEszenhCTmJrMGxqcFdiZEpWMWQrVHZCL1Yzbk85VENsVERmTGFuZUVZU3RyZDl6KzBBTDdvMW5iSDdYOWNlL3NEMW1mcUcyUDJ2YTRmZHZqdStqVEdTcnhNbHpWd0VoRGgvdUZZRTIwSkx6Y3VGTmVYazlQanVOWER2c1h5Z0ZhSzM5WExKeHIrb3pYaFB1QytNcHE3TUJaWUFkcUcyZ0h2a2YrZXhmRzNvVGo1SE9vMit3NHN2SnNYTFArR2V5bmxKNERvMFlTMnlKSFBzZm9JczJvOGJoVm9lUFdvMmRGZEtXYzl2M0VKSHFadU1PL2k5RzlGZW1oRStpaHVuRjYrQXoxTDNyUHhUUnJLc0h2N2pTa25Eekw2Y3AydUlYVlVycy9TR0xZNFd3bllEREx5RUxJSDFkbU9LN1lmSlNBV1E4Tk15VGpNV3pRS0R1V1M0QXpxWmhET1YvaGJOcERKcGsvY0E0VzVQUWxHSE9UYytvUFVyTU9aQkhyZGNXT1pmS0t5L3dCT3o4OG4ya2VrZklBZlZHYWw2WDhneXF4WWhjelBCcE1OaUFKNk84dXpsR0ZNNkVOdEFsQVFuZnJxNjBMZlJtT2VlZy81ejNWZjFMV0RvOVA3ckpXL0FIelRCVWtvYUVNTk94TE5sb0FEaXNObkVXTVdtZE5uUHNwbHBGem55U1JqMmxjS3Q4Rzg5Z2trL0IzbFY2Z3Nqb1hQUndqbURIeEkzT2JGTEZZRC9ZaGR0a1liL20vV2N1TzhPekpUTHV5YUd0L09iUmxLR2JqL2hRemNXQVdIMnpzbmVENDZoRTZrSUNPdVJ3a0FRM1BEMXhqb04zWHhGRWNjQVk1TlZsZEI2MUVrSW1MTW5CdVJRSS9JS2IrbmZ0KzlLWFVkdnVHdFRBK1l2K1lldlEvV1drckgySVd3amVnYmJjZy8yeHBabXZDYzJXZkhmVVo3Y1Z6bk92TzA0Wi94NGhmOUlnb0RqNCtuNE9aL2grWWxGK2lSWkQrS2J0YUt4NFJiZ1FSWWYwdjB1UHpwWll0OWNmS3J3bzg3KzNqQ3ZwK2g2OWFncmhQSy9Eck5HUmZXTkUweFF3bThPZGFhTk5QV1RsSEszMkcxb21PRnNkdHlPSTUyNGZ1dW15L2Z5RTk4aTc3ZkxvRTg1Z2ZaT2pIRHZMNytzZkkzdEY3VDg4QUsrdnROUm5hSmxxY0xkU05uM0YvaWlJYU9JNjdPSGFvT0VZME1VdHVqam8wWjNXd2g1M3c5dGFqUHk5UzBVam1tSFZ1aWZtenBCblhoSWM4WSswU003NC9CZXR1NDF2TDkzOEhHUlo4UE1nOUk0K1BzdnlUSGwvN0srUmlFY0VpcUQ5ajUvbUVlZjFVc3hOa3k4bjc0VS9JVCtIKzczQys3UXJYclY0WFhDVlExbzQyTnRpTy9qRURqMVZZSUZubmw0MFh6VnZwN1hsYVUwVHpIc2UzTHVWM1FjYW9odithZlA2bmc1WkFPNkV2ZnE3cDE5WHowN0VVNHozSG1Pa0JjeG0rRkhiUi90a0pheXJiWDNQRXM0SFp1MU9Nc3ptSXRJN2pwOE90WXZqYnhEVlRmajR3V0YxenROM0FKN3NkKzh2R3UzN0hzUEx2dWxoLytsRjY1R2RlaXRuYmFYTkg2OUtDTkZtSy9aSFdIY1l6eFAzblhoeGdpeS9XdnM0d25uVmR2M0hLeCtIK3JUU01TN0pZanI2WTc1Qy8wbEJjL2JkSkt3M0IxeXE3NmtETVlLblhHdDcrV2tQekZsajUyNVJWRTNJVzlwOFBkNHpuQjFzdk9jTzVhaVlXYy9scUp2NHJNWEg1TmQ5ZkZ4TW4xd3JXWFB5MXJ2dE80K0x2MkoxOVFOdC94dlRDejBtTWJxc3lGK2hpVkpEOFRZZkhvRHVSdFdxMGlyYkJPT2h1VjlHdUt5Y3hpbCtjd2FBM2ZwSDRTOUNuT3VnRlFxNUdSMkJKSnpoZitwRWRuTTNUQzhqM0JXb2kzY0VsOWhMUThKMGxwVDdEK1lZMmpqTWRsSG9MWnhjN01hbFBNWExjaVVrZC9ybTQ3KzNFa05lVklaaVA2dDNxd2crWUQvT0Z0NHBXUzM5aDN3MHVEVmlMdDhkMUpEcUNRa3liMkxENjNMU0pJK0VjZXpqRnAwMmNhNGpHcDF1WUI2UGpmQUw4cGQ4RzZ0UDkxbzBzTkt2TDZKa3c4ekRCMWtDNzcwcE9sRE40ZitXVWgyaDFXVzJoTFhaSkZzd2R5Z2UyM1YvNXlGQ015K1JIekMwN1Z5Z1diTEUyblBOdllHR0RkeEdWeXZkaGZ1Q2FaZEpta21oalprNGJNM1RnYnd2SHlpWmFSL2RYSmtrTTR4SjVoTmpQTVhNWC9ITS9HOWJQZ2graGwzV05uUGhlb1dkN2dsOTFnLzBxZXUwcVZnbk1uTTNSOTNiUjA0WDVrVGtlNFV2SFJsdTBqZjJqd1ZmSmFOeHk3YkFheUtpb2tzZWNGby80RnUwRUorS0ppcEdGZGVXbmwwRWEvanV5bUJDOVgvSHZhSGR5cytqMmh1Y0wxM1VOK0hnRCt0WEEvN3p1S0pENDl6Z0hBay8ydFJFVko1aHhtUVp4OWt1TTFnK3hkODY5Y2Y5a3VtRG4yRDAreDhJNlgraHowK3YyRDg4WHF0YzlPanBmekZuQk50dGUxOXJEbmF3QjFsa0grS3M3cE9JVkZyMWpmb0s5QWY0ZVQzRGZRUmQvRGNaWUhOTkdhOFQyZGJ6dWhDb25kUGFKUlJjNW92TlJjYmdMclR5R1ZqVzgvb2tLemVtZmFIQ2Evb21PeFlCdDFGaWhVYUZENFEyaTJMaUlUZkQwbkdCOGNCUFJyOVBVR283WGdObzhvTHNjUUdNMTlndnZhekR1NHk3ak1kVWRVSEVHaFRjNTY5NHM2TUlQbUdOSWc5d25KdkJYTjRzM0k3YVAyZkFPZURteGZtWG5ZeEtlSExLN21CejJ6eGR0ZDJhNCtEU2V5ZGxnTlNmeTlzNUdONHZCMFFSdW9UY2NRekVhNHAyTWRsRUJoNmdiSTZpQ2s0d20vRGREUXZWMlIwTXFMTGpwM2QwZS90cnRZMkZOUUgxR3d6NGNzQThuYlhpL2pQNXh2bWhDYWRIUEV5cEdjUHorNEJDS1h5ell4MmJsSHYyY3dPbCtzYm9JN0hDRWlCNUQ0L2F0SVd3YldxZFE5S2tZV2lpQm5uVUVoKzMxTExpWjQ3Y1cvQnBhK090Z2dvcDFNQ0dpN0NQQlE2ZjlFMHRNbS9iT0JyanYyUkcyZnpMRzA3RWpvVGpyNytMSkIyZnNCSXAzZkdUY0xOaWY4MFhMdzhLbFFxV2lJUlNzSE1EK1RIMmFIaFpzd0RpMkduUXVTK1dseGtzZHk3M2pIdXczMmNVZU54bTlnZUlNYmtUMWV0MVQzS2ZYUmEzcmRYZHhhMzhYZi9XUGJoYkR3Y1JkTkY0MnZjbkppTDZNRC9tVzdnbi80dlhPRUdMdjZKZzE3K2k0aitmMFJ2dkg2TkNPRkJ1SG14MDJ2QjBlb2NCR2gwTXFZTmYvNWxQZEhUUjNpT3BibVA1cTgrbFkyRXFwc0JxZktJZGdCRXlIcXpoMWJ1T3lsaG1URW11eGR6Z2s0YjVsa2g3dXZtVTArR29mTnB5T1VlZUd2SmUrWVJlYUlxZlphQk5lZXNNaFFuUms0WDVIUFR4Ti94QVZvRGNFU3RpRFUvWmV3ZmE5SVZ6TDgxNGZzbnQrVFR0NVh1SjZEWDY5YldSWGVHbzZySFdsdWR0WjdJcU5RbGM4UE5vUE5weWREUENwQjFURW40R0FuWGxLZlhsS1hkbU05K1NwYWtNUWRyS0x0MUg0Umg2R2dLRkVKYmVnbGdUTjJ4LzNieGI3SjJmUThQMlR0MWhZN0pmZVl1VmJLdjNCaXcxbkxqdWl6d3lML1Q1ZWM3Ly9LbEsxM3orQUR0NS9EUmM2c1pCd1R5eFVhRy9VNzdITGpuRlllajArSXRydFJZcnhQNDZCWmZTTzFqWVRpQjcyM1lYS2VqTG9QeXZIZTVhN2FHdmUyRHJGd1dhL2gyTXR0R0VFOTcyMkFkYTQvd05zQVd5ZUpiQVorOTFHZ1lYZlN5S2szbitFZk8zeEp3dVcwQjZWbVlkVjlVZGRFaDExdmZvVG9yT2svb2dZbGRHZ084Ym9NY2RvbCtGRHI1eTV4RVNnOTRGYlRWaUZHR2FoQSsyT3dOTXlDQitzejhYSE5HTDROR0w0NkZvY29kbVNmVXdqaERSQ3lDQ0VERUxJOEt6UnJ5UlZDMFpIWjhvMm5OQnRXTllKYmlpRDRTT09JYmg1LzFKb3dYbWVudW1hVE5HeWdWUTdIRXB0NnBTQTBqRUpTdHkrTmpDMVRqRXduM0l3ZStoeDAzTUR3QmVCTllaZkFnOHJWRXFhMzd2STlqdDVyMVgxd3JTdk5neDV0MjFrZE50bWc1QkVQZ0FrWGJ0d3o5WE13bGpxcGtaWTZ1cXNOSGJaSGJvOUkraE1oNUNicjhpZ2FHUU5sMXBGc2lzR1dWV0Evc0g2S1lXM29nQVpUUUpJblFxNjVYS0lHb1NSazlWUlFTM3lkUXNKTVlJVHNDbmdoRXExQnFDU3VoVjAxS29kZEl5Qk5PaWduekxWVE8yc1ZzOVdPNml1UjgrKzR4aUJzM2t0UmFjdHFKaGdkR1RaWlhCb0RCL3R6dkd4UmwxaWY2dWJJUDFIQVY2VUFPNWcrUGVEb0UyOUlLYnlwUkRkYzd4VXpaRWlKaEIrMnltdlVrYUxJTE01WnZyTUtEeDJWdStVN0lKYTB5WWdZYWdwaitTSUVxaGdFck1Va3E1UllPUjAvWkVUN0ltQ1FBYmN4b0ZFbTJUMU9BSjhsbStOQUxtUldlSi9BV1RKTHZHL2pFdEQvRER1WEpTQkY4ZU1YSGNDMWJrMHZuTnVtY0RCQUhDbnRXcUF4d3hYYlQ0bnpNUkJJeHV6S2dheW5CUzFacWFCN0dqbCszaGdIamMxZ280d0xJYWRPaTlNallIaWFXNE11cTBBdWt1TXJsMEVpNC9LK1daeDF3eGRoSXF4anlJZFdUTzVsWUpPU1VHMGRFMkdWb3ZRYWhGYUxlcktSSUR3WmVvS1hSbkdtUEZCQ1J3ZkJ0YUtyZnllRXlNeENjVU9vWWdtV2dURnhySW9Hb1FpcVpnVXhxWk5PR29aT0RZYlBBelE0WEdBRGtlU0sxNkxhMTdMU0FPVHRrVEFaRVpuT2FXYzROTVZIZVgzTXIyNGtGWVdzNTdsYW9tZEdRYnE2Y3I1RHdjWTdNTStrT1BvU0VOalQ3NTY5ckV6djBmK2k0ZXJJaldGTzcwMGlyQUI0U3ExWXJncUhhWG5VcFQ2R05panVmejdpSk4yU3poTk1DdmhqM3VMazc1eW5MWUNuQzV3VmNQdEJZYXplS3pqR0JXZE5ENGtOQWlhQmtIVElHZ2FCRTJqSURSUHBTckVaMlBLcTArYzZ4dTNQL3VTUlVaTlFxaEpDRFdYb3V3RG5nbVE3YjF1Nmd3RFI0bU4yQWhUazJCcUVrdzJ3V1FUVExiVTloOWd6dXcxNW1JeXJwRW8weVV6djNaNFh1RHZPTzlld0JRcll6cW96WG1SeVlhRzFNa3YzZVhraGdNM1owMkN5aVRqbitZYTBnTWoyZGdkOExWTDRWTjJSZXpBYXNTd0pYaEFLTTFHekpBbHZ5bGh5RW83SStwaTBZaTR2VmJzaWtQbDk4aHdtVmU2b29ueE4wZldJeUZxblVwYm9ZOWVJWmkwTmoyTDJ2VmhKQWtzVll3a21mTVNlRDZNbWZtZlZqdm5YbkFpU3hnYWI2R2JCbUFCamxHd3Z1TmduY0NVUWZBTVdOODl2K1NyeGZLc0s3dHFjZ0o0TTNrdzZZSnI2YnRDZnFnTkZUcmhXS29Gd2htd0ZTMHNEcFpta3UrRG5zNHVPbXlvZkswV2VUNEdsQmhPek1Yd1JRVERDMHdHaStaL0oza3VHMUhITEF3cFJMSXlwbVljbTBEVk9LaU9Kc1RYWmp4R1JBTjNqb2ZKVkpkZ05UbXVKZ0hybUFTc3c0RjFUTkZmaHk5ai8wdXNnMU5WOE1VUE1JM0czQ2VGWkZJS2NWckpjSjFNRkg2UTdsYmcxMmVGNEJkQ2RBSDZtZk91S2JFU2c5dDlCbUhQRENURUhrc2RTMFNhVUpRaWpZTTRBSXlLUGliRkx3cnZkZ0F2clcvK2hLdk1DdGcvL3FTMm4yeWgydk1DK0JheGY1b0NZOFNaRmZqV3drUzVkSEJiUmpsd2ZlQlVONGlSSUlCYVBsUDhLSThoODNTTVl2emJyc2kvaFlZcEh0cHpiU0ZIZ01OcFRHUDBhOGpvMTRkVDVJa205K09hM0pGalpUenBncUpRWXdMVUduTnE1cjhCYU5XVlVyTHY0WXo0SXNpa3VzSWltUkhiL3EvOHVhVDRQSG5sNkhPVzcxZkNCb2dycWxrMWNKQkU1ajlreU9DRHNqL2hNcCtmK2JJbUd4OXRsRFBKc1ZyTVZtczNyUkF6ZjVnUEg3VlBYVGU2cDh5ZFFiY2wxY1MweXdjV1NoaVl4WWVZUWtCaFB3WCtTNDR0WUhsQ2pVVmxNVWo5NFhvL1NEekFWVWZyU1I5MmlwdnBwYkxOQk91VDA1OU5RTm9FcEprdzFMbnBHYzAyaXdFYUJmQUpCL0FOUGE2RVQwMUdYOWp4ZmVCa0Y0bmVDSGw3Z1Y5ZExJQURVNHdsdFRHd2VkQmtXbXBhVW9wa01HY2VUclJock1ML01qNkpETnNOR2swRUpTMk9jYkZKSTgyVTZTa0ZnRmFJc0Q5bnBQdnp2czNpQU10OVNsMDJaNFE5TzYzdmw0T3hqRlB1Y3V2UmpWdVBybDBBeENMdTVySUJJTG1LYWpJRXlTdVBla0hCWkp1WUllbno1WmhiMkJmS1I0RXY2UmxEc05RSUhKeHpHWVpxMHlBTVczRU03UklRdHFSNktEVnFhT3EzaWxYamEyR2NNRFd1aGxqcVdGTHZiZkh1V3h3MFgrRm9raVRiWGRGbG5WWklrNVNQTG8zaTFqWHliUktycVpFL2FSNzRLc0trT1JBczRrVmZkUHBDOXJVNTUvWTFmQm41R0ZxKzZ6ZjJPWktDSHNVdzlmTUNCL2lZY1FtaVV5UG1YUHZhVjhhN3poeXZFVU5aTW9MYy8rT1k2akpNSFZQdXNIUjRkSzNEa3pvNkxZb1VvVnZpejVGM1F6ZkZuek1Yb3VQcElJYmVORDFWSHA4QmxxbWV6YXEyVDRrUmhYeStTT3l0UkJZVzh3K2w2Z25iQjN6N2dMWUhVT0pvM2VhRGRaczAxSWNVRmZTQVhNTnluZjB0NHBrOXVzUkg2RUo1ZzJWc1NhNlpVK2xrcU9CSlMwZVh0TUJFV29aTVBBT1RxeUo2ekNsclFlRFIwcCtVOFBXQ3ZsbitnSU9vSy8wSzZXM3RJdXRvaXJnMGV0ekVpUVBJVkVVU2lpZ1dOdE5NU1N6NGdNYm9Namh0aHpneFA5Qi80RmttWXRJQnB0alNJeDh5TlYvbkhPa0FvODVsWktqZUttU1BBd3ZtUFQwdEFwODRJYWJlaTdDMXFzNDVxTVZuQVFOZlJXK1ZUd3IwRGNFOHIrL0FONTBQa3FaekhuUXZnakgzQTY3NktEdk5JSjhoWEY3MU1KODhNczlnUzYxcFgvbUtSR0xGa1ZpcWZMNUZNdzRtQzVJR1RORU9URStoL0ZEazZTQXI2TURONGdGWUFjTk8vcURocDZjSzV2U0t1cSt2Z3lONjhBYk91SzVaQnhPWmxMcFVDVHRtZkxMTGxZNGE4dmxESWNIWGtWT2d6QjRVd3pqaE5CZTNZcUp4YkZKWGRvUHRKZzNMclhMYStpVHduQy9RbFhtUGJ5aTl5bzJZcWF0TGlNc2FwMDNwRWptSWcwUVExOHJNd0tScExkazNWdElKekVQd2FRVEJmMkVRWndjakZhVXh4TUJnaWNXdUFZNUd2aXRkZVg0QWZPVUNneEFHSVp5MkpDRWRrM3h3Zy8vRm4zNFpjV01TYnBFbVpDUFdwVGh6bUNlRm43Z1U2Q2xXRG1hL1h2RzNkUHBQVWdzSXBqeWQwRktxb29vdFpaTzRZZ3ZXRkliYWtseFN5Z0xWZVl4STU2RjFWaUtYY1BGRXg3Y1JGMDRzbUluU2lreVZtZkdaTXJEM3ZjR3dmN1BZdUVkQkRhSmVIRFdJUC9ZQlBEYWhTZEdhMDlTYWFrM1NxRW1zMkE5YTlJSzF4d25tSTJaY0c2OGpVejVYQVJjN1BPZmpBMzh1enB0ZzltS3cvNW9CRDQ4dGdwTWZzdS83OE93aDlyMFhlWUJacEVyMXEvanpWNkR1TGRRMWxqK1BXdkVVZmhYN2pkQjVNZEU5NHFMcjRkTUVISHlzZUZKOGtWZFVDdUtMMWxRVG4wN2kwMnZ4VlJEZlV5NitNWC8rSHIzTExpN0VwNEdvWlB1Y0Z0aW5tbUJ0RXF4ZEM3YUNZTGVEZmdrVEJHRGdSSjBkTnpKNTROZWRadFJWRTZCQkFqUnFBUzdSTS8yM1NGeWc3Y1JoRTNxbWZKL1RBdnNzUmJtcVdrdTJnbVJEODh2R0ZKdHdMYUxMWndIODdhY3AyNnRKclVsU2E5WkNXMEpvSXpRM25jZ1RwMXdlQi9HM242WnNyeWEwTmdtdFhRdHRDYUVONkcwNkFTeStjTUx0cHluYnF3bk5KS0dadGRBcUNPMEpGOW9lZnhiTkgwaDZVZnZsQ1JlVGJJL1QzRDJxaWJSREl1M1VJcTBnMG9kY3BGMmNpNzBLWm1qZDRJRVFsMEVmRkxkV0U1ZEQ0bkpxY1ZVUTExYmdGRUxQb1dYV29qOGYxb2orZkZoVFRYUXpFdDJzRnQwU0k5NGJoUjdpTFk1NDRmYlRsTzNWaERZbm9jMXJvUzNocTQvQ3ViUEFLZGdPN01obzNXbEdYVFVCdWlSQU45YXd4NEUyd1JQRyt5aVI5emkxNTgvaCs5b2oxcC9tMUZkcnBNcWp4MUQyMVFpd2c3NFcrNlhIZmhteFh4TVN3RDRHeGF0bzYxT3VyVkF6QlpNQ0p6KzdPQmtmMWRlV1hFbDBFNVFwVXZWU004TmFyV08zNDdWR002eWR0c1JqVzFtSHRqTU9WY1VXaWQzay9qVi9kYjJ6WnJFMTR2U000elRHWlRQN21PMEkreVo3a0M1cklMVWpyaWtSUllGL3FhMlhBYm11aTJ3SXlqQzNlb0c1VmRmS0NWK3IrVnUrUm1xZGh0M3NwR2hTMitFTnpOZklZdWZaa0o0YjlOZXdEK2ZoNUhlcjdNYmw0MVRzUEhlTTAvTUl3N0dleW52d1c4emRvNVRIbkw3YjZEQW0xMUs2VmJMUFJjbExxbkxydXNnZDQveEN3RG1DY0I1THZnemJNbTFvdHAwR3c4eGwxZkhLam5oa0p0b3J2dENHYVBZZVpxSmlqZ3FtVlFhams1ZGoxMmtOM1JFSGpOQXdVcWVkdGpwTk00elV1ZUd5WDdIYXdEQnEyWE9ub2FZWlJza1RxMktMUkNuZXYrYmZzVzQ4NHJyaHYwMlEzdjc5TVU4alpDYUVGcTBVYldFamJMZG1aeGpLb3ZIUmVHbUdwMDIxVFB6bUZGS0h6VzM3SGV2Q050ZUZ5Q09wV1YydUpyUmFrT0VwNzF4bXcwekNHZlNRVmt1MEN5SjR3b0Z0TjYxejBZWFRUQy8yZjJGbDJPRG0zN0UrYkVWaUFYOGdQMXhHdE1HUU5hclRObHFxTUZ6cXdaMU5aNllqY0trWjFMWWNiYTdLSVptN3M2a3pTMHIwYnBxd0lWS3g4SlVZTjRKVXBFcmUwVHZNYmt4VGNrT0RUNXFTVDV0VGZhcW1LSG1ybGV3OW9aTFA1dkNSWWdFZHl5eEsyQnZkL0EzaGJQSldrdlp6aWorVzNpenVYNGlDV2VJOEs0d3I3dzM2TjR2SVc1Q2ZvTTN5VGpuRUhHeXdiWU0zd2dmemNQTmdPWkd0WENmZWRiek4rdEY3OUQxT2xLbnlQMlFENWJ4cmVNdGZCTWQ4YWxpZ2RLMjg1MGY4bS9ETzRlM0lHK3JGZlpOdktONWliZm1BWER0WEpzb1hLRlBPK3doYmJlT2EwRDlEcmVCN1AxVCtpNzhySFQvQ2tYbnZkbTVqYlF2ZjR3enZiSWJYZkRwc2l4YTgyeGtlcDJPeWJXMTh0ek44bXJobm0vMVZXUTM4OGdRY3dvYzk3bUtNSm55ajg5L3dmZXBOb1pVSHlHNFVyNURkbnh0K2hDTzd1TXJwR2pQQ0xNeld2RTdGY1NzaW4yekVuMFQyOUxQTkxzbE9DdVRaRnU3aVNmQU9iM2dLQks1N1JsMWozbGZxVlVLYyt2eEpXVGFtMkVUUkVtWDZMS0kzUjVpWGVzMmZJSDJPbzROL0xWVzRWaUNKNFBWN243Q05WOEVSZXV5SXgvaVl6aXZsOTlUOXhYYlJpck5ZdjVSS0U5NGpMdFBXcC9nNGd6OTUvQlI2OGl4eC9GWmMyNWt1dVJYZUsvNHQ5M3ptQWtZSHFJUFpWNC9vb3ZUcTlGNDBoaE5qSVJ2N1V0NDlpRGk4Q0JpSE5Qb3lWVDlFR2F6bnJlZVBJb3k3RStGY0wvYU8rbngyM3VMcy9DdHEvYS9zR3IvZFc0YldhNGF1R2JwbTZKcWh2eXFHM2s0eXRLTGRXNDQyYW82dU9icm02SnFqdnlxTzltTWNZMXlPY1g4dGFKRzlhbmF1MmJsbTU1cWQ3emM3K3pHT01VTWVyZ2Z5dUs4TTNhb1p1bWJvbXFGcmh2NnFHUG9IenRBV083Zi96REhhSDJmWEZYcmo1SDNsYkszbTdKcXphODZ1T2Z1cjRtemZxbzV3OXIxbGFMVm02SnFoYTRhdUdmb2VNclJFQytyTXU1cWRsMkpua2N0cWRxN1p1V1pubjUxRHlTN0R6blhtWGMzUU5VUFhERjB6OUtZeWRKMTVWM04wemRFMVI5Y2N2YmtjWFdmZTFleGNzM1BOempVN2J5STcxNWwzTlVQWERGMHpkTTNRbThyUWRlWmR6ZGsxWjllY1hYUDIvZUhzT3ZPdVp1aWFvV3VHcmhuNmJobTZ6L1lDN1l4d1Z2QjBmR0xvOEYwTjcySjdpV3lkelhzaWluYkNyczNqUHB2MTRZNWlzTStNWVdhdWhQdVcwYituc2Z0TmszaGI0TnJvTWRrNWd2Rjk2Wm1NSVY5a3pZUW1XVnhuOTkrOEZkM3o5V2tucGl0bGRjK2ZFZUZjdHFTdXRSSnhyNjlSMThCbTBkYWtiZVk5MXJhblhOdWlYQzlhbzk5emZZT1lBYk1vTnlyUFdJd0ExRm5HbTJTSjZvSk5VbHVpK1phb0pyU3J0a1NyV2FLcTBJNU5zMFFmaDN6S0dEcHloMHN3OUpoZDRSeVp0bWJvbXFHTE1MUldNM1ROMEhXc1FNclFUMEkrVldhWkhQMHN4bFE3MkZwNis5T0hpTisySFZ2MTU5ZUpUSjNGdXFKZm04ZHlHcjVmMUdSOWxuay9UR3JBYUJyN05BS1dnMjJ3RDdUZGw0cUp2T2lpZndkYzU1WG1pSmJBRWZsOXlxallwOUowYVpuK3NHbDZLTmViS2hyNE9IYW1WY2FyeEpFdFR6T2JmRlIxY1R5RlViZk5QZ2JidjdwbTF2R3FkVmlvTW0ycG9udlBzTzkvUUU2TG5VMTVDUitKQnVicDBGVHBNQzF3MkYrd3hlWm93eGs0eXZvNkJMRXAwQ0FYT1k4MEZmWUdGZ1RObTdIOTR6cjBuK3hLWFlhVmkwZ1NBNzFqbUYwaUM0R2w4U2Y3ZlIzZ0ROcjF2d0ZpRC9ES08vQTNkdGJ2bFZuQnFOUjZKSm1IZmJRRkR4UmIwTGh2R0VwTllSOG54MEpBUG81cHlXT215VFBtZVh4R0hIWWluT0svSlc4WE9mK0MxUTBEenIrcW9CZkFEUWFyZDlGK1Y1RmJWSWFwa2JEdFRhNFhObklRc00rTS9RUHJxbk1yZXZHVTdYY0JUSUQyMGpzKzZyeGp2MzlUcGlsTThrdzQ1ajIzcGVOSC9ZM2RUMU9RMmphckI2MzR5UDYrUTA3OG5EcHJ1QlhiRis1eWxyTG5vOWlldnluKyt5NkxuVGQ2bi9FOW42ZmVaN3psc2p0OWtYcXMyRDdaMGVLVmZha2s3KzEyWnF6ay9TSnVrODNRbnJvVzlDR1VtdXcrbjBtUEtvSlFsZzdtWFZPT3JhaU5vb2VVMWsvbUdWNm1ISlBzUHZJNGNsU1IzdmhFc24vZXZTU1B5Tk1zZWF2UzcvMnA5TjVUK2swcGx2NkpzZUJsNEwxeksxNzV1K2dKVkI3VGRjYkN3TDVUdFBiSUd1eXdscW94dXhEcTRRNGJPTzREZDNjd1lqRERzVjJNeTZ5SHU1L2hHQmk5NTNmWWIwRlBQd1cra0NpWkY2emxTZnlLSExrZWRpa256M0s2c2gxNWw5NE9iL2NIaWI4YnhoMEFnMWxHUERCLzVBY05NTkM2Y2RETHRURmkxeEc4Q3RBb094YlZ3NWdHem1mT1YraFZQR1NTK1FPaklTQ25MeG5SclFlcDhUK1pkN3N1UDFNbXIzSXkzMkpiZ0tkdlVKTld3d0x6Z0FYMGpXT0J4eUYzNDlrdWxIUHNOMWZlL29pQnRqK2EzQ3pPaGoxNEcrTmJLcnh3bTlaczBsYjQ0Z202enRsNnBXZmRwckZzNWVlRStOZ3F6N2tlL1picFpqbnRmcUVjb0V6K3pud29pTGgveGl1RHpnQmJya2JiWjRHMmF4dW83ZTl4bnVoZDZQOEp4OGxua3JiWmNhVExSVWJJS3dtMlJZNThqaDd1cG95c1JYU2xuUFo5RjEyMVVja3YxbkIwVkxudS9JeXh0NW5Ta3ZqRmZyVGtidnppOVVna2psL1pjUzNpZTFYdTZmSEloQlpFSnBwMVpLS09UTnk3eUlTc1Q5UlJpVG9xc2Zxb3hBT21wYkJ1Y1I3dzhYUHVvZnByR0hkNGhHeVhuZTBQaUc5WFlHY1lGWFgyRnl3cUc5blpZYVdCc3doUmRtN2lMRlN4bkpEN05EN21ZNW9ubFcxczBTYytXMDVaSVZVaStDN20zVFJRSGk2aTd1SzhUVGc3MkVCSmdMZCt0K1BrdWp4eEdZNXg5TDhOWmhFSisvQjNGYnhWVnVjaWp4bkJqSW52ZVcrU1hiSWV2RVBzc2pIZThuK3psaDNoMlpPWmRtWFIxdjV5YU10UXpNYjl1YkxQenZBWlBicHpuSi9jQ2M0aHQ4WC9IYTI1NkJIK1NIT0pvNVNOTTdLZmd3eVVIeGk2TDVGeDBqOWwxMG5FcmYxR1lPM3JmeEU1NTBzdFcrcFBFVlhmWTg2WCtNZkkzbEZwcDgrOWw0MHZONWxFVEJ6clcrejhMUnlYWE81Qkc5aUhYWXc1cTVpWDBNVDhCTWd5QlN2S3hEMXNSWXd2cjBlaUwxTFJTTTd1ZDI3Rlc4aVdacDRtakhtUGhlaFNuaVlVNlpuQXdEcG0waEFEYTNoK0UrVUlzMDFObENQMFB4Y2xPVU5ieE1DKzZtTGZkRzVGamo4RVhBVjNIcGVqR05mNmhyVXdMc2tmVTQvK0p5dHQ1VU5zWHVJYllLRmIwWVFzYVdacndtUGxWd1ZXeEg5Y2dSWjArQW8yNkwrdElNYXE0VGdNcTl1bTJKdWh2N2R3VG1tS1BkbkZXU1lObzdKZytkK0dGanhuKzlCZGw5V0FGOUlqNzFMNjZSS01TLzRoejFPNnhJenZUOEhheC9qVzhsSjNjS3dGYndLeVk4bTNvQ3ovcEcvUi9ncEhaUkhCSXFnL2ptOWR5dnBWTVJ2UFJUK2ZvdEFkN0lYdGhGWGtaMzUrWGZpblkxbEVFcy9ZR1QvaENndXEyUWt5cStVcytCUHlRN2ovTzR4dlh1RjY5ZXVDNnpYS2VqVEdCbnMwUDJiZ3NRcXZJT3Y4TXI1dTNncm41bW1OR05jNXhwbGNtTVh6Ky84dWpubzdZVTNsVVhlT1VvZk1ieGhoSFl5eU5kRFcraGxycGp4SFEyZllxR2h2MDRvRkdHdm5PR0tEVFhZN282Nk5kLzJPWWVmZmRURXAvaWc5OGpNdnhkelp0Rm5UZGZGUG1pempXdkNkMHNOV2ZtYjdYZ1V6a05GdFZTSWZMdnBCeE9zT3Q3TTZrY3hjeXRodU1GbmZiY2IydW1ZZ28vakZaNStnTjM2UmFBZmtBWFZRNXlFRzJoR1kyUW5PbDM1a0IzMFh2WUI4WCtES0I3cURTeHlkZ05GM2xwVDZERzNxTnRwWUhaUjZDMzJwVGt6cVUvU1ZPekdwd3o4WDk3MGRyM2xkbVFENXFONnRMdnlBY2VZdnZGVzBmdU1MKzI1d2FVRG04UjdYa2VqNkw3RGdhYzFmZFUvY3hHakpISHM0V2VNbVJsZWkxbmdMNTF4MGpLREFYL3B0b0Q3ZGI5M0lRck82akxad2ZMK2tETVU3azgwTXQ5MWYyY2hRckM2VFowTDhhNEt0Z1BiZW5YeWE5M28welVNMExxc2ZjUjd6blB0Y0ZtdlBPZjhHYThodG5POE1wZlY5T08rMlp2bTBtVlRhR0lkc1l6d1Mvclp3ckd5aWRYUi81WlBFTUM2UlI0ajlITE9qd2Y3MU00NzlsUVlqOUV1dmtSUGgyeDhvb1hOa3k1M1l0YXRZSmVDZHp0Rk9kM0hlSHVJUWN6ekNsNDZOdG1nYiswcUQ1OFJwM0hMdHNCcUlHbGJKRlUrejk3OUZPOEdKK0JYaURNVzYxZ0NVUVZxTVV0RFRTZUpyUGYzbmx4NWpHOEFEVHViOXIvcUpKR0pHV2YxdVdzTGgvajJUSkw0YXVzcnpCb284azBSOFRzZ21QWk1FWXZIbG5xQ1FYRWxjUDVma2EzMHV5YmNwejRDUWM3SC90TWdEWk5TTHRmT3dVZlB3WDVpSHhUelV2eG9QaTNaSXpjSjN3Y0xtYmJPd045cWQzQ3k2dmVINXduVmRBejdlZ0g0MThEK3ZPd3A0K251Yzk0Qm5SOXNvQXllWVpaa0dUSDJKRWZvaCtxaHpiOXcvbVM3WU9YYVB6N0d3emhmNjNQUzYvY1B6aGVwMWo0N09GM05Xc00yMjE3WDJjQ2RyZ0hYV0FmN3FEcWw0aFVYdm1KOWdiNEMveHhQY2Q5REZYNE14RnNlMDBScXhmUjJ2TzZIS0NaMTlZdEZGanVoOFZCenVRaXVQb1ZVTnIzK2lRblA2SnhxY3BuK2lZekZnR3pWV2FGVG9VSGlES0RZdVloTThyeVR3S055RVIzR2FXc1B4R2xDYkIzU1hBMmlzeG43aGZRM0dmZHhsUEthNkF5ck9vUEFtWjkyYkJWMzRBUk16aFJVK2VVZldxNXZGbXhIYngyeDRCN3ljV0wreTh6RUpUdzdaWFV3TysrZUx0anN6WEh6K3llUnNzSm9UZVh0bm81dkY0R2dDdDlBYmpxRVlEZkZPUnJ0c2QvWURkV01FVlhDUzBZVC9aa2lvM3U1b1NJVUZONzI3MjhOZnUzMHNyQW1vejJqWWh3UDI0YVFONzVmUlA4NFhUU2d0K25sQ3hRaU8zeDhjUXZHTEJmdllyTnlqbnhNNDNTOVdGNEVkamhEUlkyamN2aldFYlVQckZJbytGVU1MSmRDemp1Q3d2WjRGTjNQODFvSmZRd3QvSFV4UXNRNG1GQzdvNHhBQ25mQlBMREZSM1RzYjRMNW5SOWoreVJoUHg0NkU0cXkvaXljZm5MRVRLTjd4a1hHellIL09GeTBQQzVjS2xZcUdVTEJ5QVBzejlXbDZXTEFCNU5ocTBMa3NsWmNhTDNVczk0NTdzTjlrRjN2Y1pQUUdpak80RWRYcmRVOXhuMTRYdGE3WDNjV3QvVjM4MVQrNldRd0hFM2ZSZU5uMEppY2orakkrNUZ1NkoveUwxenREaUwyalk5YThvK00rbnRNYjdSOWZ3YlRPU0xGeHlOMWh3OTNoRVFwc2REaWtBbmI5YjBiUU5vWUVHeGh3Z2pCSEU0MmVCazdJelRFSUJhRVBNUDQwckhYWWRoZU5IUXFHUU9nUXBNUmE3QTNmTWhFUGQ5OHkvbnUxRDVjNUhaTzArWktBcmtJUHlJZmxKRFJ4T3ZPR1EwVG5pUFRpcUlkRi94QmwzeHNDRyt6QlNYdXZZUHZla0YzbThHZy8ySEIyTXNBbHhWVEVGeGhqcjVwU3A1cFNuekxqWFdxcTJtRFpUSFpaMitHLzE0Y014ZGQwYmM5THZaR0hqSTF0alBWZUlyU1NXMUN6YnlIL1dpcS8xaFlib2Vac05OZ0pyeG03bmxvSXNzVDF2UDArcy8zMyt3ZlFKZnV2WVk4VEN5bnl4RUlWOVA0UG41dUJOVm8vYlQ0QUFBQytiV3RDVTNpY1hVN0xEb0l3RU96TjMvQVRBSVBnRWNyRGhxMGFxQkc4Z2JFSlYwMmFtTTMrdXkwZ0IrY3lrNW1kemNncU5WalVmRVNmV3VBYVBlcG11b2xNWXhEdTZTaVVSajhLcU00YmpZNmI2MmdQMHRLMjlBS0NEZ3hDMGhsTXEzS3c4YlVHUjNDU2IyUWJCcXhuSC9aa0w3WmxQc2xtQ2puWUVzOWRrMWZPeUVFYUZMSmNqZlpjVEp0bStsdDRhZTFzejZPakUvMkRWSE1mTWZaSUNmdFJpV3pFU0IrQzJLZEZoOUhRLzNRZjdQYXJEdU9RS0ZPSlFWcndCYWVtWDFrZzdRUllBQUFLdFcxclFsVDZ6c3IrQUg5WHVnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZUp6dG5ZMlIyemdNUmxOSUdra2hLU1NOcEpBVWtrWlNTRzZRbTNmejdndEl5Vm12SGR0NE01N1Y2b2VrQ0JLaUFKRDYrWE1ZaG1FWWhtRVlobUVZaG1GNFNiNS8vLzdiNzhlUEgvOGR1eWRWam51WDRkbjU4T0hEYjcrdlg3LytxdmZhdm1mOVZ6bXFETVA3Z2J6UDR2YndsdjY1dTdhTzFXOG5mNjVIVncxN1BuNzgyTmJWU3Y3dS8yeC8rdlRwMTk5djM3NzkvUExseTMvNm92WVh0YS95S1Nvdnp1VVk1NUZPL1Z5dTJzK3gybS81azNhZFcybGFYOVd4WWM5S3pwMytMenI1Zi83OCtkYzI5VS8vTGJtVURKQTVNbUkvNTFUK3lCU1oxLzVzRi9ScnppVS90eFBhQXVVYjl1emtYekx5K0svbzVNOHg1RUovdFF5UmM3VVY5MW5reHpYZ1ByNDZoajRBeW1NOU1lelp5ZitzL2svNWQrOE02SG5rWG4rckxTRFgycllzL2N4WXlkOTZBT2o3bFo1MXc5QnpUZmtqMTVKVlhlcytTRi8zbU1CNStGbVN4M2E2SWR1SjlZemxYMjNFYVF6L1VuWGkvbk8wSDEzTldKeHRINmRmWi9zcFdWbmVLUS82YmVaZDEza3NsN0tzYmRvZ2VvWXh5ZXFhWVJpR1lSaUdZWGhGR01mZmswZXcxNmYvODI4djcxbnkzZm9lWE9wcnVqYjFybmlFeStqdGFnZlA1bWRJbmZDVzlyNjdsdmZ6bmZ6UDJQR1BmSVo1bnZkMXZzUXV2Wlg4LzRiKzh4WmMvdlN6WWMvRHBvNU5KdjEzNmR2REYrUnI2U09kejVENkpEL09YZmtEVGVkdnBJeGNqLzNJdml6YkwrM2YycVdYOHJjZjRsSGJRTXJmZmpZZmN6OHBmWW5PTExrZ0cyeSs3T2VjOUF2WVoxZ2dJK3gyQmVkUjU3UVBrL1pudHgzYURQZENucGtXOHU3czJabGV5dDkxOUtqamdhNy9BM1ZvdmVDK2JUK09mWHRkak5BdWZzaDkwSFpmOS85S08rdDQ1Mi9NWjByMjYvUlpYWkxlcyt0L1FMYnBBeTdzcXltWjRXOXhmME9XL0wrVFAzM2ZQa0RIKzFpZndNN2ZtUEluTGZ3QTVOUEoveWk5VjVFL3ovYjZtN0t4dkl2MHhkc1g1L3JlNlFiMGlkc0p1c1c2R0hiK3hwUy96K3ZrVDV6S21mUlMvcHpYK2NQK2R1eGJTejliUVgybFB5MzlkL2J0NWJYVWJkSFZrZjE5UEVmSVkrVkxoSlcvTVgySXZLZDE1ZkY0NWt4NjNxWWVIbFgrd3pBTXd6QU13MUJqVyt5Yi9Edyt2MmRjUGZhQUdXTy9IN1o5OGJOTnZvc0x2UlYvdy96RFoyZG4wK3I4NE5ZSjZBN0hoT2Zjd1BRdFFsN3I4MnRmWnovTThxQ3ZSaitjbzdPcklQK1YzZGQyTUh4ODJJN1FHOWgvUGNlblNMOVF4dTdiWitkejdMZmpMOGRvSDlpUjhVa054M1Q5M0g0WDEzdVI4dWY2Ymw2bmZZRzI3MXJtK0ErNmVVU2U2NWZ6eit5Mzh6WG9pT24vNTFqSmY2WC9WM2J3OUtXblR4MGJLZTBpKzdGak1NNGN5M1paNEpQWXhRc00vK2RhOHU5OGZ1QzVYeVV2endVc3p2Ui9jRnlBeThtNWVjNnc1MXJ5TDlESjZUc3ZlSVlYMXVIT2MvWDhYK2tHdHprLy94MnJVTXpjcnpYZHUxenRXNzNqZVh6ZTJRSVl3K2YxeEkwNG5kVFAzZmlmWndEays3L0x5ckZNZStRL0RNTXdETU13RE9jWVgrQnJNNzdBNTRZK3RKTGorQUtmRzl2Y3hoZjRldVFhcThuNEFsK0RuZnpIRi9qOFhGUCs0d3Q4UEs0cC8ySjhnWS9GeXVjM3ZzQmhHSVpoR0laaGVHNHV0WlYwNjRZY1lYOFNQMnpFOTE1RDQ1WGZFWFpycmF6WXZTT3U0UDNjZm1YN2tPNHAvN1F6UEROZTF3ZmJHN2E1d212d3JHUnMrV04vd1NhM2Frc3JtNXpsYjM4aVpmTDZQQzdqeXA1Z204SHFYaWd6ZXN6eXovYm9kUXFmd2FaczJ5czJ1L3JmZHJUdW16eVpodGNRdzYrSERiNXJOMTMvTDJ6VFl4dGJZUDFQMnZiNTBHNTl2ZGZuOHBxRXErOExrVWZLMyt1T3NRYWExOFI2ZEpBUnVGNTIzK1F5S1g4L08xZHR4bkwxTlozOEhXL2tZL1lmczUvK1NYcnNQL3ErbUkrUlQrNzNlbmozakh1NUp0akhJZnVGWmJsNkx2NnAvTHY5bmZ6VEY5VEZJdEd2MGUya2YvUU51ZDB4L0JUVzgrVEI4VWRuMS8vdGV5dlNqd08za24vWEhtejdkendCL1QxOVI5Mjk3TnBHeHFpUVh2b3BIL1dkZ2Jic2Vra2RjT1JIdjVYOEM2L2pTK3dBck5hY3pudk5lOW5KMzJYSTd3djdta2VWZjVFeE11bkgyNjJ2ejNHdnA1bHBkVzFtRjVlVFByOHV2OVgrM1gyc3JzM3I4cHl1ZnA1aDdEOE13ekFNd3pBTXNKcGJkYlMvbXl2d04vaFRkbkdzdysvczV0YXQ5bm5PaGVjS0hiMC8zb0tSZjQ5OUdMYWg1WndhV1BubmQrM0Z0cEhhZHN3LzMrV3czNm53OTBUdy80R1ArVnJiay9BdGNTK1dQOSt6OFQyLzZqd1J5OHgrdG95Ymh5UDkzOW5tcmYvWjVycyt0dFBaUm12L2pOc2ljZjc0ZXJBQmNxMi9VZWh2Q1RuR3hIS21MUGlJN3EybmJzMVpXenNjN2FkdjVqb0JLWDlBRDdndFlOZW5MZGczaS93b2U4NGJzZCt2bTFQUzdhZmQrcnRBcjhLMTVkLzFuMHZrN3prZjZPNzgxcUMveWJpVGZ6NFBPcDl1d1RQcEZlY0tYMXYvWHlwLzYyMTBzR050N01ORFB1UnhwUDlUL3JTTlRKUDRFTWNJUExJLzV4SThicUtQMGE5dUlmL0NQajMzNTkwODhydzJ4Mzg3K2VQSHEvUnovUGZvL3R4aEdJWmhHSVpoR0laNzRIakxqSmxjeFgvZWl0Mzc2bkFkZU9lMlB6RFhpN3dYSS84MW50L2crSHJteDlHUG1ZTmp2MTJtczdLaGVBNWUrdXBzaC9LOG9KVVAwTWNvRTlkbStiSC9PbjRmbjZiTDA5bWpYZ0Zzb0drUHhXN25OUm81cjdPcEY1NVh4ODkrdDF3N0ZOcy9kdjV1anBmdHUvYm5ralpsekhLbDM5SDl2L05WWWxOK2R2bW4vcU5ldWZkVkRFODNUeWpwZkRzcitWUFA2VWYwL0RSOFA5aG03UiswLzlEM3Rpby94M0tPbC9kWGZzOHl6Mi9GVHY2VzJaL0tmNlgvVS80NS85ZCtaSTVocStlWTUvTHUxb2ZjeWQ5dEZFaUxOdmJzYmNCWS8xdi8zVXIraGYyUWZzNXpMdU1TMmdONW5OSC9rRzJETk5tMlQ5enQ3eFY4UWg3L3JXVDhudkwzK0MvbitOa0htUDdCWWpYKzI4bS95SG4rM2ZqdlZlUS9ETU13RE1Nd0RNTXdETU13RE1Nd0RNTXdETU13dkM3RVVCYVhmZzhFSC80cTFzNHhRRWRjNHArLzVOeEx5dkRlRU45eVMxai9tTFZ6TW4vaXNTamZwZkxudW81SzYreTNGcm80bEk2TUp6N2lrbGhBNHBhOERzNVJyUHRSL1JwaW8rRGFjZlNPbmZKM2VJa0w3R0wzS1pPLzYrNjRYOHBMZkpXUGtYYk9GeURlM0RIbmp0Vk52RFlRYXdobG4yVXRNc2ViNy9vMStaODVsL01kUDB0ZWprVzZwSDZKT2ZMUHNWSHZzYTVacnRkR3VUaVc2MzhSRDA0LzVYNDdPajFLUEpmdjI5LytvUzNzZEFEeHVzU1NlVTVCM2h2SDZXZTcva1AramdsYzRmdE8vZUpZeWt2cWwzTXBKK2xlUy85blhIN2k1eko5bXpidGZkU3p2N2ZoN3ltNUh0eHVYVSs3KzNMZUhWNGJ6UGV6YW9kK2hpSzM3bnNmY09hNTR2a3lPWGVBTnBRYzFTL1FMaHlmZWkxMjdUcjdLLzNILzZQenNrMTczbGVYSHYyUCswcFp1YTlhOTYzSzZyV2lZQ1czakEzdDBxUnNPWStGdkJMbmxlMmV0cGtjMWEvUEkwL1BWWG9yNk1GVi96ODc3djBUK1hPTzU5eGttbjRlZHZIZ1RyZWJoMFNkNXpjcUxsbm5xeHNyZGpyVGVXVTc5UGc0eTMybWZ1bi8zWHlGdDdJcnc1SGVoVTcrT1grajROM0FmWlY3UXNhZUkzUUdyK21ZMTNqdWtPUFZyWE9QV01tL2E2K01VNndmVnUyYi9DL1Y1N3QxU2oxdjZneEgvYi93UEl2VnUwd24vNk95ODB5czhqb1A1RVJkc2piY2FxeG1uWm55WjB5WTZ3UjZuUyt2SzlpOVczdU9tZDhkdW5MdzNVUDBUYTVaMTNHbWZ1SG9XN3NjZTQ5NWk3eWpydkxOZVJvSll3WElla0cvcDk3MHUvU1IzanZUN25mdmhLdXhnTWM1bDZ3VGVzbHplbGUvbFB0SXJweno3UE5XaDJGNE0vOEFvSUw2SU9DL0phTUFBQTdYYld0Q1ZQck95djRBZjVLQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8yZGpaRWNLUXlGSFlnVGNTQU94SWs0RUFmaVJCeklYdW5xUHRlN1owbEF6OC8rV0s5cWFtZTdhUkFTQ05DRG5wZVh3V0F3R0F3R2c4RmdNQmdNQm9QQjRELzgrdlhyNWVmUG4zOTg0anIzcXVmaWM2V3NBR1g0OThIL1VlbjVpdjR6ZlAvKy9lWFRwMDkvZk9JNjl6SjgrZkxsMzg4dXZuMzc5anZ2c0RkbEJQVDdSMGJVKzdTZWxaNVA5YjhDTnRIK3J2WmY5Vkg2ZHBXbWs5ZnQzL21kWFZUeXJPUUVYUnE5WHFYTHJtZnR2SHMrY0dybnEzcnI3Qi9sYTk5MXViUnZleDZhRDNrRnF2NnZlV1gxanZ1ZlAzLys5M3ZvTGRMOStQSGo5NzE0aHJxb0x3dEVPcjBlNlRORS9wNG04b2k4dVJkbHExNUlGOWYxZWVxZ2FTTXZUMGNkOUhyOGpjK3EvOGZmcjErLy9uN3VDanI3YzAxbDBmSWpUWlRQTTFtZkl6MzNNdnU3REZHZTJ3aWJ4OS9RbWFhSjc0eGJYSE05UlJxZDh6aTBmVVUrcEVjWHlLbnBWTzc0b0F2YXNzb2QxMVFmcW1jdG4vRjkxLzc2ekJXcy9IOVdadGIvNlgrZHZJSE0vdXB2cUZOV2Qrd2NlbFo5MFM3aWd5L1FQcWgrZ1R4V2NuYTZRRDdLSVQvM0ZWV2QvZm1Rejh2ZkdmL3ZNUmU0eGY3b1BQb2o5ZTdrcGY2Vi9YMGQ0c0MyMkQzK1Jsc2dmLzczZm9hczlGSGFpMEx6b1U2Wkx2QzNMaXZ0a2JsZVpYOWsxT2U5L0V4dksxdGN4UzMycHgxcnUrL2tEV1QyVjMrSDc4MzZLSDNkL1kvcU51NXgzZjBrdmlPelAzclFOcGJwUXRPcHpXa1h5Ty8yeHoveVRQemxHYzAzcmlIak0reFBYMUY5MEo4QmRmWHY2bThaM3h5YUhwbnBXL285bnFVUGRHdWx5SXY3K0UzQS81SEc3eUVuZlM4RDljYUhaTHJRY2pMNXlWL0hRL3FILysreXFQdzZsNm4wNmJvZERBYUR3V0F3R0F3Nk9QZVgzWC9OOG0vQlBiaUVLemd0OHpSOXhkdWV3bVBseEtWWXoyUnhnWHRpVmY3cTJSV2YxbkdZajhLcHpxN291T0p0N3lHcnhyYXJaeXJPcXZJZlZWeDZ0L3hiK2JSSFFlWFdQUk5lcHl0eWRmSDhlN1hyVEZibDFmeitDZWRWcFQ4cC8xWStyZEtUODRiT0tmb2VCZWQ0a0lWOG5BTlo2YXpTZ2NZVnUyY2VhWC8wNDV4Y3hYbHAzRjVqNWxYNjAvSnY0ZE1xUFJHakM4Q3p3dk1oODhyK3hPMVVGcFd6MDFtbEE3VS9jbWJ5Wi83L3loNmFFL3RYbkpkejFzcTlWaHpaYnZuVTlTcWZWdGtmN2xqNUkrVVVQZi9NUnNqYy9YK3FBOCtya24rWEsxdWhHcXZnUnZSK3hYa0ZTS3RjVEpkK3QveGIrYlRPVDlLSG80eG9EL1ExbnQyMXY0NFpudlpVQjZmMnZ4WHFiK0FhbEhldmZGTm1GNjc3M01IVG41Ui9LNS9XNlNtenQ4NDdHUmUwN014R0FlVVdzN1E3T25nTisrdll5Y2YzNGlrdmlFOVR6Z3Q1c3V0VitwUHliK0hUTXQ3T1pRUEtLVlpsTXlkM3JwVG5rV2RIWjVtT1BlOUsvcTVlZzhGZ01CZ01Cb1BCQ3NTK2lQbWNnblVnYTVoVkxLcExFM1BiSGY3bkh0aVJOWUJ1SGxubXJpejNCdWRpV0hkN0RIOEY0aCtzdjNmV0p0MzY5Wm43R1RPdVVkZVVnZmhPclBCUlpYYlhId21QWFFlb3I4YTN1dmF2WjJOSXIvckxudWNaN21tOW5mZUtlKzZYOU14QnBqT2U2ZlJKZi9NNGhzZG9zL0ozOHNwa3pOSjExM2ZMeVBTNGcxVWNTZmZrVitkeGxJUHdPSzN1MWRmblNhTStCNTBybDZQeFFPWHNsQTl3bWZRY1VjV2Y0ZlBJUjJQK1dwZXEvSjN5WE1hcXpPcjZqcnpFRzFYR0U2enMzNTIzQkYzTTB2a3YrRHJ0LytqS3p6Tms1enZKcXpwblFqbklVcDJOeVBUdmZFZFhmcFdYN3RkM0dhc3lxK3M3OG1aNlBFSEhqNUhmaW1mczdGL3BmK2RzRWZuNnA4c1hlZEQ5anMvUy9wN0Y0clB5UGErZHM0UlZtZFgxSFhrelBaNGdHLytWVy9RMlgrMzd1ZHIvTTExVi9WL0w3dXp2SFBTcS8ydmVYZit2NW45ZC85ZXlxektyNnp2eTNtci9nSTR0UG9iaG4zUjg2ZmdybDJrMS9xdmNiditBbnVHcnpwOW51bHJOV1h3ODlURk9lY1dzZkVVMy9tdjZxc3pxK282ODk3QS85YTdXLzNvdmE1dmMxejdrUEpyUC96Mk56cEY5VHAvTjVic1lnYzZGK1o0Qkdmdys1WFhsVjNtdFpLektySzZ2MG1SNkhBd0dnOEZnTUJnTUt1amNYRDlYT01CSG81TEwxeDhmQWMvaUFsbTcreDdNMVRxQy9kTFBSQlZucS9aanZtYzhpd3ZNOWpJcnNyaUE3dG5WL2Y4bjYxZTFGYkUydlo1eGJ0aWZlNTRIY3VoMTV5SjN1RHpTVkd2MHppNlpIdlJjb0hLa2xiNXU1UnRQNFB2djFUNVY3SStZRTM1amh5TlVQNlB4SzY3cm5ubjI3M3U4VWZuQ0xJOHNYcDF4UmgwdldNWDdkamk2THRhcFp4UGgxek45N2NpNDRnSlBVUGwvN0k4TWZtNGw0MmhWQjk1SE5BNm41L2dvWC91RmMyNThWMzFVWnlaNFhtUHI5Sk1zUnUzOWhiYkgrUld3dzlHdHVBN3lxL1MxSytPS0N6ekJ5djhqSzMwdjQxVjNPRUxPVW1oZno4cnY1TkY4dXpNeklROXRsbkpjTjFVNWpHM3EzeWg3eGRHZGNKMlp2blpsM09VQ2Q5RHBXL3VzK25pdjZ3NUhxTysxelBxL2p0OWQvOSt4UDJjNzlTem5idC9TdlFQYWIzYzR1bDJ1czlMWGxmNnZ6OTlpZi9mL3lPN2pQL3JIVDFicHZEMzV1RnJaWC9QT3h2OGQrNk1qdjNabC9EL2g2SGE1ems1ZlY4Yi9uYk9PRmFyMXYzTGVXVXlBNjlwdk80NFErYkNmempHelo3STVjRlplbFVlMWZqNlpXMS9oNkhhNFRrKzNVL2NkR1o4Vk14Z01Cb1BCWURBWXZIL0E1K2phNzFHNGtyZStXK01lNzc3WDJNQUpkbVYvVDF3VWExNDRBTmFVajZnRGRqd0I2MXBpZXJxdnN0c0hYQUdPNFJRYVQreHdwWTZ2QldJV3ZtNGtmaGJ3ZmF5K0RzZHY2SHFWTXhqeDBaZ05iVXZqQytpcjQzWlZ4czcrWFY2N2FiUk91Zy9lNWJoWEhVSDJ1eU8wOTNpTzY1U3I2UUtSNW1yZnluVEU5ZXdjQzNFTGpiTTZCNk8vejBVOTBBMTZKZGFGMzNINUtVTmo4ZFZaQWJWRnhkSHRwSEdadEs3S2VWSkgvUzJoSzNVTUtBOUxYQS83YUt4UTB4RW5wZHdxWHRpaHNyOWVyK3l2OFhIYVBXMFNQWGw4Uy9QeStIYkZxMlg4aWR0Yy9aaHl5SXFkTkFHMW44Y2ZQWTZiOFh0WDZyajYzVEhTKy9zRW5UczkzYmZsOG5nYzJ1c1RjUHM3YjBBKytwdVV5SmpwQmxSYzFJNzlLeDVEc1pNR1BTcnZtY21yZkppL1IvQktIVSs0UThybEExZGQrWllWZUk0eExyT1o3N1dnRHpsZlJaL1FzYW5pRGIzOVZ2MXh4LzRCOVgvSzR5bDIwaWpucU9PZ3lwRjl6K3kvVzBmbEJQSDVIWGVvbkovdXg3b0NIZHYwNDNzdDRvTnY5TDBjM0ZNZFpOZVZYOHVlNzg3WGc4cisrRExsMUIwN2FWUW1uM2NxMzg1MytvZTNtWk02QnRRR3VxZkh4MmZYcmJhVFUvNVBvZU1IYzh6czNtcVAzZXE2N3lWYWpWdCtYOHV2Wk9uV3JyZWs4Yklyblp6VzhmUzV6SGRkMmY4M0dBd0dnOEZnTVBpN29Pc1lYYy9jYXg3WjdVbU1kWkMrSzJXblRGMnJFdS9PMW9MdkFXOUJYby9uc080N1BVZFNvYk0vbkFEcGR1eXZzUmJXT3p6M0Z2UjVncmNnYnhhUEpFN3VNUnZudElnOU90K2xVTzVXNHhVQm5uV2ZvenkweHlBOEpxdjh2K296UzZ0NUUwT3B1Qmd2Ri9rMGxxTWNjc2NwYVQyMS9pb3ZmTTZPWHBCZHkxRzVUdENkTVhHT1I3a0lqYVYzUHNPNWUrV1Y0UXM4UnFyMTgvT056c0ZXL3A5eXNqSzlidG5lYkcvLzJJM1lwOGQ4c1cyMmI1dTJBaWZpY1dMc3JlMmkwNHZMN25LZFlHVi83T3BsWnJIL0ZZL29OZ293QjZoc2VwS2ZjMEhlWDdLOHF4aXc3Zy9TZURleDF1eTNveXJ1VlgyTjdxMVNyaVh6R1N1OXVMOURyaE9zL0wvYlgrY0p0OXFmZmtsYy9WSDIxMzZ4YTMvOEJubXB6eU5mdC85cWJ3ZCtSSGxWNVEvQXJsNnErcDVnTmYram5uQ011Z2ZsRnZ0cnVlNkhiN1UvT3FRYzFjdXUvY2xEeHc2MXVlNTMyY2tIZjY3OG44dnJQai9UUzNiUDVUcEJ0djd6ZlVVNnQ4ak9YNnR1SEN0NzBmNTEvOE05N0svenYrcmNjcUN6bS9keHpaTyt6TE5kUGo3L3kyVFJmUmdydmZqOHorVWFmRXk4aGZYaTRQVXc5dis3TWZ6K1lEQVlETzZGYlAyM2ltV0F0L1N1K1k1bk9vV3UxN3J4dG9xZG5tQlgxL2NzTTh0UDR6K3J2WkVCWFplK0JWdzUrMUNCK05mdWZzMWJzS05yVC84SSsxZjVhZXhIWXhWK3hpbmpDQjNFTFR5ZURuZW12Qzc5anpOeHpIMlZEK09lZnlkMnFuWHdkeVJXc1pLc2JocVQwWGJoOGlpeWNySzZ3dis0cmpXTzd6S3B2WWhUTzFlNGk4ci9hNHhmejB2Uno1VHpyVGhDTHdmZHdaMW8rZWhGejlXZ0g1Y25pem5xZHo5L1N6dlNlRHJ5ZUJ2d3VnVThsdXg4UUxZUDIyT3p4TSs5cmhXSHAvbFcrdUI1NHNZVkI3dGpmL2YvUU51V2psTWVkODA0UWdjY2xmSnhyc1B1LzEzN294YzlqK2t5Qi9Sc2owTFRaVFpXZldYMjk3bUlucTJyOGxMOUtMZlk2Y1BMNGQ0SlZ2N2ZaY3IyV2xRY29ldUVOTjM3SCs5aGYyU2lyV1V5Qjk2Uy9TdHU4Vm4yeitaLytFTDFsN3FQQXA5VWNZU3VVL3gvMS84RHUvNE8zNVRwUEp2RDcvaC9yVnNtenozOGYyYi9qbHQ4aHYvM0QvWDNjN0I2N2xEbktSbEg2T1hvMmNHcWZYdGExNFhPTTZ1em1XNDN4V3IrRjNEN1YvTy96bmRtNVhUMjc3aEZ2M2ZQK2Q5Yng3M1hPNFAzaGJIL1lHdy9HQXdHZzhGZ01CZ01Cb1BCWURBWURBYUR3V0R3OStFUmU5SForL1NSd1g0VC82ejJ2YlBIMHQ5cEVXQnZUUFo1aEQ1MWI2bkQzMmxjY1luc1MvTjhmZjhJN3dEU0QvczNuc2xUZG5VNXpVZjM3ZkdwN0srL1k4SytJL2JaNlQ2M0xNOXFiL0N0OG5kNzlkV0craDRRaDlZYjNiS0hUUHNFK1QycmJWZm82dkxJTW5WZnBQYU5yUDg0MksrVzVlbWZhbStlUDd2YUc3SnJmOTdMUlByNDM5K3hvZlovYmJ5Ry9mMTNCOVErOU1NTzdDT3VvSDJwMjhzVzEvVzNSVHFzN0UvYm9VODdQUCtzLzNPZC9IbVhtKzZoMUgyYkFkcWJ2bXVKZlg3NmpPNngxWHkxVFpLRzd5YzRHVU5VRi82dW9heHZLNmhiVjU3NmdzejJqTDM0aGxXWjVLbnY3MUdaOWYxeUovYjN2ZTVjNTMrdEorZVNkSnhVV2JqUGQvU0t6SG91UlBPbFBhamNWM3pUeVg1eFBWK2h2Z0I1cXI1TnU5eng1OW5aQWMzSDk1YXY1TWVQYS80QmRLZnZZbE05TXViN2ZLWFNzYzk1dEU3YVgzMVByKzVsMS9tVTVwRzkyNC8yNFAzd2RFemduRk0ybjNGZ1EvL3R6R29jWnYyME01WWp5K25jc0xNL2V0VXhDLy9wN1VqdHIvNWQ5NXFUNTRuOTlWd2k3VmZMek41ZDVmT3N5djc4VHp1K01pZEF2dXpqUUg1MFJ4dk8vRHE2cS95cTUzdmwzWFdCeXY3cU53RnRNWXNWNkpsUlhkOVFWNTBmVnVjYk12dFRybzdsZWwzUHBYcWYwbk1mbmYyUnlkdlhNOURGWFhibkZwSHVxdHpkZUhmU252VGRPdHFYUHRwNWlzRmc4S0h4RDRna2FxTHJkNzBXQUFBRWVXMXJRbFQ2enNyK0FIK2lOZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWVKenRtb2x0NnpBUUJWMUlHa2toS1NTTnBKQVVra1pTaUQ4MitHTThiRWpac1dUNG1nY01kSkRpc2N0RElyWGZLNldVVWtvcHBaUlNTdjNYOS9mMy91dnJhMHFGMzRPeUhwZE0reExwWDFOVm45MXVOK1h6ODNQLyt2cjZjMzdMZGFjZVZkWXRWYjUvZVhrNTJHUHI5Syt0OVAvNysvc3ZTbldzZWorai8ybjd6K0QvbVQ0K1BuN2FBSE1CYmFPdUs0eDJ3WFdGMVpINEZjNjlXWnAxekRpenRQcXpkVTRaMGora1YxQSt5akZLYzZTS1YybFcvK2Y4a2YxZmRVdndSUi8vaWMrNGlDOXluTXo1bzhLSVgrS2FaMHVWVjEzWHNaNlp6VVZaSHZKamJNcnpMRnVtbjFTY1dSdEl1MVMreitEL0RyYWIrZi90N2Uzd2pvaDllS2IzeDB3amZVR2JJTHpTNHB6MlIveWVWaDNMTjd5WGtWNzNmVDZUYWRLZXVySXQ1eHo0NlA2ZmFlYi83RHQ5bmt4SytMRHNXTzBteDFUS1VQY3ovVlRlSTYvMDM2Z2RaLyt1OEVvZkg5YjViQTRnSG1Yay9TZnZQWXJXK0QrRnpaaHY2ZWY1Ym9EdHNXSDI2K3liOUwxOE54aU5GZmsrbXYwL3g1RDBWWllseXp1cjd4S1BvcTM4ankveGJmYTFuazUvTCtqalNZNjEyZmRtODFIV2cveDZlOGp4UE5Oa3pPazI2V1NaYnZrNzZLL2F5ditsc2xHK0E1WnQrM3Q3OXpYdEpQM0Erd1JwMGFaNDVoVC9aenpHSlBJaXpWNitKVDNxL0srVVVrb3BwWjVUbDlybnpYVHZaUy81MXBUcklKZXdZWDBiemI1cit2ZlVYN1gyZWJVL3JEblVtc2xzelhxTjB2OTliU08vODBmZi9FdHJJYXliOVBOcktNczU2a2Y4NHpHN3Y1VGU2SHFXMXl5dFViOG03bXpOYVZibXY0cjlzdHo3STEvV1BQS2M5c0l6dWM2ZWJTVDNYamxuRFpkN09TYXdkN01tdk5zNnk1bnJpWFdQOVdiV212cTZVb1gzT3RhOVRDdHRWOGYwR1pCWFhxTWVwOFI2SmZkSmw3M3VwVEtmbys2WGJHK2ovczlhRzdabVA3NXJOUFpYdk56SExlZ2pyUE90Q1Q5V0wreVhZMTcvdHlIM0lSQjdHWFhNdGNxMFZhYlo4eHJadC84VFFaelIvWkgvUjJVK1IzMytQOFgvR1gvMi9wQjI0cHk5R1k3NE0vL0pXQk4rYXIzNm5KZDdBdmg2VktmMFFiZFBYcy95eXJEUlBoUDNzejl6blhtUHlueXV0dkIvMzBjcG4xQ21QQzh4MWpGK01wYlJudGVHbjFJdndoZzMrSThBRzlPK0VITnQ5MzhmYzNLUDhwai8rWDhpOHlqMSs5My9zektmcTJQK3o3a2RPL1Ira25VdDlmRXBmWU8vaU1zOHRsWDRNYnRuR0xiay9Ucm5ZY1p3NG1MbnREVjduZmd6OXlpUGxZTi9hL0VoYlNkdHlwN1p5UCtqTXAvekxzaCtXOVlwZlVmZnpycGlqOUZZUmR4TXIrZlgvZG43d1pwd3dwYnFsV0hVZzdtayt6Zm44dEUzR00vMzUwWjU5VERhUU4rTFRCc1RQL09lbGJuM3RVdG9hYjFBUGI3MHYxSktLYVdVVWtvcHBaUlNTbDFOT3hFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJHUk8rUWZoNWVPYXRrN2pwd0FBQUZUYld0Q1ZQck95djRBZjZXRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8zVzRXbURZQlNHVVFkeEVRZHhFQmR4RUFkeEVRZXh2SUVMdDZZaC80b0o1NEZEbTAvNzYwMXN6bE9TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRWtmMFhFYzU3N3ZUK2M1eTdWMzk3KzZUL2R2WGRkekhNZHptcWJIeit3WS9TejMxTDExRnN1eVBGN0hNQXgvdm9kMDc3SmpsWDJ6WVhhdHpmczl0WC9WTjcvK2plNWZ0dXQ3Vmpucm4rVjZuWDM3eHRtL3VsN1QvY3R6dnU5Zi85Zm5lWDdhUDlmcy8zMWwyM3J1MSsvYnR2MzZ6UGZudi8yL3Ivb2UxL2VyOTBDdTFYZjduRVhWbngzWGE1SWtTWklrU1pJa1NmcjNCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQStFQS9Ddm1zdUZMYUttWUFBQUVGYld0Q1ZQck95djRBZjdHa0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8zWDBRcUNRQkFGVU11Uy92OXZJMkpxUVVrR1g0SnNsam9YRGpqcnk0V2RCeDBpWWtoaTQ0ei9zRTUxRitwMm9Mb0QzM05JYzh4bll3ZmQyTjh0elMzcm5iaDIwSkY5dkpQcXJuemVtTzcyUE0vVDB5VmVPM0xxb0N2N09LYm41YjZuamZmOHZ1aWdBelhhdDJETHZZTXUxR2pKLzRRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEwRHdBbldob051d1pVQm9BQUNvWGJXdENWUHJPeXY0QWY5VHdBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNG5PMTlLN2pzS05iMmtrZ3NFb25FSXBGSUpCWVppY1FpSTVGWUpCSVppWTJNakl5TkxKbC9VZnVjN3A2ZTZmblUvOVNJV25QcFBsVjcxd213THUrN0xsVG01MzAybmdEYXM1RXR4dGRHWUlland3SndYY1VGYXdEZmhYN0Q4MklkNElFS0VBRzJDaHZRbmlUQmQ5MlQyYkdFd2ZITmZIUDg4VU52QUpXYjNVRXIxWEV6dHI1c1R4VVU0SGlkUU9FbzZURHdZYm12S3ovM0NSS2czRlFzcEYrTkE2ODNnYmh6WEozYjNzK1lYa0pzTVNuOFF4SHpsZElQRHl2VWE5c283a1o1VGlJNDlaWmtVRVBNWHprV3lOSStUd1l3Sm15ck5MaVBTVzByL3U3cmJwQjM3dHRIRjQ5eXhiRDRqWm5nQVR4UnFvTnhDUS9SRkFrcnI1ZXloVWlUZlF6Nm9hN0JaYUczSFg5eGo3bXVmbjZDV3lrdW96VmpnNGsyTE5iNnVNWEF3WUp0RHA0ZEJIVlBvUGp2cURsd1hQalQvVHd2R3c4dlA3ejh0N2hPeERvU25wTk53cHNGY0NtMkZTQVY5c1NjTFJ6VkhqSnd3Q2NQaDNWTGNXQUN2clROWDdmZzJ1YkFIOVV2dUpuN052dzBIVHgrQUlVTHRCNDNOMVBxRzRISDRVN2QxVUpSMStIVzdmUHJwNmlVZFUzZzkzdVBqdnMxeUNVdVFxWk95WW9MR0dzNkdBbHJtMDdBdkcyQk9kZ1AvT2NDS3FkMWdWWEZmREtvaHRrbE85SHZFWUdicXgyNFhVYmhZZGVTS2M4THFsSkZKVWhYWXpCTlp3UEdQcnY0S1M5MGFXaVRacGoxMVFuUnVGaUdQc3JLSEtnU3kwWEx4ZkxqS1JXVzFEd1BMT2syOW5NMHhlSEFmOVkxbTNyZ1l2QS9wS0pLSC9EZzlsd2JQQmxQSEUwbFR5TW9OK1EyNERxbkZqMEpuYXJxL2RPTEIxbEJvL2ZDZzBnTnRxc0lrRXlnY3phYnpnTk5nMWpxeVBsQ1kxaWRKc2VZU3IwVGRBUmx1eTdLOWhMOHFNOEpNeTRZYW1Vb2xNOC8xRHcvblMweDZTUnduVThCUFFEOWYzZ1VHaEtNQy8vYS9Ra2ZYVHhLZE1LaHQxWm5tNXBnZkVrc1BPUzRsWDNnUnZNT1VXcGQwRzhsVzFCaDBmMEJpRGI5R0ZnU1diL05QT0VYcWo4UXFGbHZhQUNBUnA0WC9EQTJOK0dCclI4MlNrYnhsMGRiOElVRmQzWXBtczgzUHl3YzVFQjNqZ3FOQm01TjRNZW0zUk50ekFYS2F6NC85ZWpKVE5wcTd3K3pGVDJBM1EvYUpYZURXb2hwZWtaVWVBYUJFUFNFSkJHQnIydFE5amliUmJlUWJmTDRDV3BCVDVueDFOZjYzb0Nybmh3K2Z2NlNodVhjNE5pR2tib0c2VUk1K3JYaUNZWUwxcVFDT0ZXdHEwc2NEa1BEZHJScVl1c1BUQXZvNWVkRHZBTHZnSG12QmFFTDV4Nk5PNlJ0RjJvTFVDN1VCU0NYK09QdlJHdnhGY0xxZC82aFZmOUZ3c0tBTS9UY3FNR1VrWldTT0hqclZjQ0ZTc3I4dVhNU2o2TVNpWjVjaExNSUR1akpuNDRyT3daOUJ3UnpyUmhHRU9NZFVTZ2VTMG10N3ZlbVdOMmJoTWFvQ3JreEM4djYvaXRMai9xbzZHUllqQjlkTzByRW80N3ZZd2lJZUNTZHAwVFIxN2ZlRHhDZW9oTllZR25YSGlEc3FPdlJFRUJzekkvN2NtNndiU1NCcU1aZTF6bk9oTzk2UWtmUG5xQlJQUlhHYm1ZUTVHdUVST3IyckdVN0NqeW8vZmdXWWRQOFBpeTE0cUtlbTJyRzcydUhNRUtmVzNBbzllSWt2eDBBdW9mSG9KSGI5c3h3L1RRTWJzc1p5M0ZnbEZqR2sva0orbmJQdGZib0dOa3VlUFZJYm96N2pXOXluMHErZ004MXJQSEI0UDlJNEJ4MXFZbng2dXVIbDQ4TFp1Q25GZ3p0MTlkaDdCaVZob2xiV2hjWk9qNDh4MDFBU3FNNTh3TDlBcXppSk5OeFhSVUJvUUI5UFVpRkZneHJCTkQrTThiS0dMcmpyL25wc3JwMHYxR1RQWCtDQVN3Sk44YkhCclhmdS8zczZ1ZHpEY1Era09PaU0vaTI3OTdjTmx1bTBXZVZxSmNNVWt5TjJJMnFxUGtSclQ4WHR5Z01qU1ozM1M0M1F5TitRbnNJZ2wydjB3clg0cGRWMUZjQ3NndzNtZEl4ZjJwcmZvSmxsR05IdTc5eUZzdkgrUi9RNDBUWUxoc1NQZlRMUzdUYzd1c0l4VURkVjkzSHNVMFNBL3N3NVlDUUErUDc3ZWprdkRET1hBYmE4bmgva1BPdWRzOXgzMDVhb2dzK0l3VEdEWU9Fak9CQ1JaY0ptYVVwbFlLNkpubllRWDEwNVQ5Qysrb0xXZXh0S01KWFNYRGhnY214OG9EeEM3aDh2VEtYSytqOTRGd3l0L1lnN2Q0cGtHemNPTGZXZEd3WUJSekJRRm91UXIyQW8rOFlCSlZsOFlXTGpZTlNVOS8wZ2NhRGJUNWttRW1CNmY1cy92VHlKMDROWVlaa3hLSkhNN2tsallhOEk2c3BQK2k4enlRRkFYTWZITjhKQTE4MVBST3k3VmtjeDBKU0l5MXJJbkZIVUMzUVpSTCtJdWRtcmNFSXd1RWwxcWt0ejVNekhqZnEwT1RNeURqVVRUbVpHWUhQaWhtS0xCdXM2T1JmS200N1NJTEIrc1pGRmtMR3NZWWQxbU5zdjM3NHp1Nng1dzNMblZ1RGppOXpZWjludUVrVkYwVUlNdVVzZWdQU01kb1hkSUViT3BKclRNYlQ1ODdCQnFITjdSekltUWdQNWFPTFJ5bm1ITlI3RWpmS2IvREx4VzVrcVBpazZMZnc0WlY3UUhMMVVKZytFTVpyd25lTWE5ZTl2cUVMSTdnUGExZ1habm1SRXRaRngvZWF5RUdwelVMQ09jSjFUUkN3Mjk0MFVEMjVYd1RUYkpLUXhtZFhqNjdZaDkxT2xSVFZJNVpmYnBtSFIrK2tjQU53Q3l4YWhSNFMvMVYxbXpiSWsvZkRWcWFiMDdDNDVUQkZTNUUzS255My9SaGRyM3VkL0RjMVJsenAxTGE3K25wUjJCV2dlaUhoZ3NjSENYVVZTSUErN3YvenBuVndtckxhOXZWVTJhTzdiek5RS1lqNHRGdmdYdFUyNDliYTgrTmdJQzJhWkNZUzRTbzl0aVhFd01wbVdaSTh2MTZTZzlpM1lGODJuYWpmeUh4b0hiak02d1V6MktFK2dJUXlJQmxRdWhENmNmL1hOd2NWejQ2ekMvM1ZEdndzVG5PK2FydEdtVDFDdFlyOFlBdW83WUd6bFVPbjh2WUVhWTVWa2lrQlV1bVFqMEJNeGQ4RzBxNkVpLytKSFFLM3g2ZHRZand5RTBaSWsxSnhzTEljdzdsR3ZSN2w0L2ozV0J5NmFZM2tqckwxVDIyc1IwSDkzUkMzOU5KOU9yWXFHcjdMRTNVTXhHWUYyRG9kUU1xclVraVpMZ1B5MmUrS3NEYkM4Ynl4d3phT2FwRGxBYWRqNWtkUGNFOHREUkQ2clRZZFNCZlMvZnJjeW45TG5jbEs1dHRWd003c0ZqcTZTc2VEdnAySy9jbDJQR2Q2anVPTTZBVHhJUEgvQ0RGR0tuRnRtUzA3a3cxSjhvMFVBRGNOUHdQZUh1SlA3Q2haY2czWlpHWEhDcy9KUmdiS0Z3M2xtUW5TK3RHbC81Wnl4ZGhJbGhBZnk4Rmg3TWZIMjZIb3BUNFl4aEFBTEtHVnVLOHovNHNiUk94YUNJdTVSZkhLeHE0QjBuRng4T3pZTjNBYmdUKzRnOGlNM2t1c0JwRDN4U1VPeUtja2dUc1A0cncvSHYxUnJISVlqVGF6Y0ZBRE4yQzhZWm1HdU9sZVBZUUhoUDNKVXVlMlh4ZUc5Wm16S1cyamhNYyt3RVF6SXg3Q293eThYeWNONTBuK3doM0pyWFVQell0RHdjb3RVbzF1RUdYanI0U3pzcy96SDNOemxjRHVUTS9NUE1pdEx4TzE0QnRTS1h4TWRGOHh1K255d1R4MTlYMUZDa1RJZW16QzhTUVVTTk1SRGl2dlRnZ2RYeFV5N0w5ekIyTUIyNjh0OG5KSWtWWXVvQm16cFlqMEd2L08xTmFQSjRDUjc0eVpoU2g5QytCdkNiTHRPbDNvcktmYk5xZEdhR3gzc1lhOFFJelNlc1o3TnJwUVg1ay9EQUcyRFVYckc5TGRHTkJvczZMMjM3bWpnOE4yb3VaTHF3d3YrMExwSWszUy9ySm9POERYOGZINkYrY0UwTEdoYjcvcktXZFNBbTBnd3lTc05iOHNJSlJGZzNqOEtEK3FPaE8yWjhCVjY3V0ZGMGE4Tko2WjZzQWdDZWpnRmdqenRkKzV3MFUwaklFR0laYXpjVDhRYk9TWUI1RDFRYTcxRG9pZkZsbDJ0TzV6T20xU0hxb29Sd2Yvc0ZyZmVkcEhjWVFyZHpBUktVNTYrL2JuNFhXSVdmUXR4U2FWcDQvb3dDS2lXUkFKUFNkSmh2M09IWU00OExmb0dIdTdtVzJJRzB3dmZvUzVqeG1Ed2lIK2o4ZjcveTdqUXUrdTROalJ6RUU5cUo3NDU3eXhXWm5MREh4NkJQVHdPbWFKR3lQQ3JIOXZhTGt5V0dxQitNZThTWHd4MXRocE14TkJLSHo1cDNZUVpqSEZBeE9sMWcxT1M0Q0lta3pBemFzYTJpNmY2OVByUDlKeTJWM0RjVUpUb0Y0amJ4YnkvaTVzZ0NVRWVnTGk0b0dMRGEvRTkxblM0MzVwaU9TVWcxQ3VBSWh4RUI3cmRTWTNLSVFGSFBsVk8wSUNvWkpzSUhwRzYzalhqZ2F6Z2FLTFRadjN5L0lMTEh4UVpneFc5ZGFnOW11Q2tTZWJUcnIwWXN5VUw2RWtSVTZWdWFvS1NBTkIxMm5lKzFFTFBZSjFMUjh2Vk9aUlFVUTVrNk9vMG1mVjdGZnQ4T0FsV1ZydnJseUFuOXBoMUtXazR6V1FUNjFxY3FnUHk5SHhxZmgxSWpuajFrTFllbkNEekt6V2RteWxyV3c5QzRNUWp4NFZ5YmhaN09qSGVaOFYzTDQxZEFQOWhhYlNFUXZYYlVXRGdYcWVLL3lxSGU5Tkc3RytpejZvVEw5cnh6MkxjbklNTkkwRCtlenFwL3dVTDJmOUQ1cEZ3SElTL3NCK1VJWVlwbTVDMzF1Z3JseG5XeFY3b2F1SGttY2FvK05aMndOMlVwOVhKeHVHaHdwN1JtV3diVEh2M2dHTWV3c0MzWGUrQndOTS85VTdrQjAzcUNZa2tlZitlUHBqMnZqRDBEQ2ZDNEdPbm03ZDlvbno3U1lSK3RwMXhVQTFjMFBvRkVQVnNXMmM4Ujg0U0JpRDQyVm04ZSs1eG5RTWtzNDhVRXBhLy9TT3NFQ0RqKytRK2NqYy8rZ2RvYnNXTkoxTGZLNlBJMkFPRjMwWFlaOXJFVkpPNHYrZ0o1ZCtTVlVod212eVZ3R0FnVXlNbTFyWDlVU1lCRTVMbGNHbEJmZk1vVlhqQmd5am5NL0U5LzNkTzdTYVo4d1M3MHgrWVNoZDVhL2VJVUpxZHVnbzBXYnl4L1VmbzcrNTlGeTM4MExsQlgyU1FYVkk5MUtocEtBUkJzNENBTlZuNi9lWTdocE5IKzRMcUR3M2h3eFBpN2M2eU8zS1cvZHROblh0ZHZhTzNjYzdNNDdtdFQzSS9PNTNIZW1uZDR4dUh1ajdyLy80K28rWEJLU2tNM0JML3M1Tm9xUzJwWU9vcTN2ekxnQjBDNjRpb1FQemJuU2FHajhUNE91TlpHbnhzR0xNUXphejh6Mnd5a1VKc3htZ0hxMGUxUTZGTElDbEc5R3VUOGdLc3B6MU1MbG8vbmFIeTBjWGo1STdIajI2Ny9WTlZpV2xFL2IzbThxcWlITDhwd0RBNU1JMG5VZ1lEUjA0Y3VUWjFBWkw3STJBeVhpNjdVRWM5RHJLTWczYUVXWEFMcW1zQWRmZG56Qk9QR2VkNitTRCtKa25pS2JLN3MwMm8rbUhKY0hEUjh3eDF0YTNiWDN1b1Y1cXJtN3QwcjNUVS8wd0RFTjZBWXZIN1V4WWhqUDluTWhWZy9hRVRUdGVCZUwrWGhWK1dHT3d2WTZBQVdFQkd1aDJBMGRJQlhVaTRlY05NWXJ6YTA3WFMvMVVnajhzaU5ubmNvTTk3dHlPaGxoOU5rTkNFRmMyMjdzQWtFYmZGNmhjN2pPV2JYczBJVjA1LytHN3JkZmNTalJ1NlJUWUV6VkswM09FZDRMY1hneXFSSi8zYUtnUGdvMzBqSHIyZ3J1Mm85LzlPUCtWNEJ4UTY1UmRsM3FkRi9EenVqRzJHM2lsNG40WEFQeTFTamdqWTc0bGdjKytFNjYzWTBaN1pQT1hHOTNmQXgyNnZXOGQ5NGhBZDhVd2lWRnpVSy9qdVJLYVh4WE1nYzRnUHdnemVVSXl4SkI3Zkw3L0JUV3pwN2lIZmNzK2VIdHhLR0cvc3R2UmdtR2hQd1dBanREK1VaTWw4cWZNYk1HczlqVDBncVRQZ25odFYwblhob0JIN2ErbVErZ2EwdlRzTVJMcUVwSUkyeEpyMTFIVy9Zd3phVXBvRzl3c3gvK0ErdVA2aVJwTHVwcFNpUGZGeFBDaUZjVEN5UGJJVHdGZytzam5oY3F5dTRhUFBDSHpqVnNRbnJoT2Q5bjB0bUhFM1BpMm9scUFqc0I0aVZ4U2RIYWFBZEplV2tydDNXRmNLQUhLSHNoYW1WQkZsby9yLys0Z01ZcWEzcU1Gb1dpTzRQZWQ3SGtHTVBkVEFKQk1JY2g1RHMxUkExQVB6SjRRN1NOU1FOT3hKalN2WVo4NUVBSW5Nc2tCbnNTTDRMWkpGYXhGeHpoWXlmaEpjdFhFQ2pTb0U1WXFlWjc5WWgvUGY0dkx2Tk1hTHlPSkRYaXczZEhjTzhZeVVuNFhBS3FMQWZYaUdkYmhUemZQN2FKbzc1UFZtRldPODE0SXAyc0U5QTI3bXFYanB5amt2cUFzcFlpZk1oaUgvTmNwejBNSDl6b28yWkE3bHh4Uk16NjkvalRoS2ZvbGlQblVZamJ1RjBJNEFmMWNvQlFmc3dCd3RmV2F5ZXlyWlR6cXV1MVQ2YmtRa0lMWTdOb3IwMnB6OE1Sd2pJUzRDTjhsUENZWmRIc3pQNHlqQ0t4OFRnWXBjRGNSWXBuVUFuL3U0K2svMUdHa2FlUkVFN1ZYYkFoL2toWUJvYjN3aUZpWG53TEFXdG8rTzNYNG5TbWthMjhES1NOWDRjak5VNXB1cm1OU3ZYajBsSHRid0hOWWRqR2tyRGsxaVJGZnJCcXNNRXZwR1BYQkdJb1J0dFdaTjlvK25nQlVjS0UxaDR1NDJiU2tiQm96cFZQOEl0aWQ2a3p1dlloWWtPcUY1NTJyVytFMWJmYWgrQTRNdXI5UkFEMGlkWDMya2Nad3o1Z3FlSTFpOXRXSnV1N2psK01qYVUwcnMvbEF1MW9oa0FuK3Q4K3VmbXJnMGxtVTNhd1ZHSkdodE5Ja0hqODFpcFdnYlFaMDZuV0lYU0NISlk1QWp2ZmRoVG9PTkdnNDI0TzRtS0c3ZEhYc0Z6UEFPL29LenBGUHBERkJMM0tMdndTK21RVUtHOFlSejFJcU5jREgrLy9MN0duY0ptb2pCRmtlTWpxNkpGb0lLR0d0Wk9aQTN6NG5lZ3FlRkFhRTEwd1FySyt6ck5zQ0YrdUh0cW05TmxxUTBjQTRmR0FieGpiZElnTGxqRmdCTWQ5ZmdBOTZCU2NRRGU1R0xhbjN1OUdQK3ordytsaGVBdklMUVRvL01RaWlCenZZekdndlN4aWVWa0luOVFjTS9IWlBiaElmR2M4RVJsUHlncnpKRFBVR3hxVHFzTy9NM2xGN1BXdG9ONW5BRjAzbHI4QjNXRkg1Y1B4Y2R1L05rODVQTC8rMkxzWDIydkc1Q3ZTTlRqTzN6VWhMVXZESmJJcExsaUtiY1IwUDhwUWVpVjVYM0FTemFJRzhNWGQwK1I3am9BdG9RQWNDcDZ6Uk0vQmxFaDgyL2s1OGxwSVh0c0dwaTBrN2VlNlA4ejhmQXpoMFd3YURXK2toa1F2NnBiVWtMQi9Pcmt5dHQyV1dJbzhGZXFibEpVbmVoa0hxYTl6TUZ4RlM1R3doTTNYNk9PRGFnWGtUMytzL0UxK2VWOFhwdlNtRFFXSkQwdlhwOVUvNUlYSjZ2NFJob3FRMVU3SE5idGFYbzdPSUVTUENGRHo5TkRONWo5dzJJcW9Wb05KUy9lclI5TitEUTRHQ1VRVGx2eVkrdUZ1UHZDTUtRZ0JJemNlOTMzdDJvV1hnQmRkclQ4UFhWTWxzY1NpUFZVZ0Q4TTIxYUk4UERMdmRsRGdRdWl4QWRMQzE5c2pEMVlKTTIzdHdDTFFabGZ3ZmlTL1lLc3RNSW8wVVpGOTVEQi92ZjU5ckxEVHVDMGZNbHYzUllrUStMTUhQTG05ckVpTDlSRHVHZkRlV1d5NFZITFZFMWtQdEYwR2NueEhrSTRscHgrYnBiUC84cjRuUG42RkoxcXpRRnZJSTR2UGVIMFMvY2IxZEs5NFlaVVVKbGZLV1g2c3RMYUNaZzZZTDJyQmpxUnlicytqbmdGNzR2NlZNOUJLWWNiRXhmaEhyRUVPUTMwT1QvNVQ0bmtPVE9hR09DR2RPalJIazgvMy8reHFUOVVqSUJEaENGbXRvNnVlclNzR09JMXFrTFdENlZvRnZwNWxOeTJFZ09YSVlFUmNrQUJQdTFib1VBMW90dkdqemEyanlId29mUDBPVEpMY0orMTZXOFhURWovZS9PV1Fva1RnV1VOMkZYZHEybXFQWGQxc1NvZ0YzYkJqcHp6dTFqR1NWMUc2WDE0YjBiODVMcStpTlpQa01TQnFtM29Rb1JQcXZoYStmb1VsdS9Fbk1JRTN2NC94ZktBRDVnYndPR2ZBYW5KSVk3dkExS1RZU1NDLzI5Y3haelRHSHVDQ3hVVkxtakdzZkxHN0wxdnRZU0wydEJzcUo4QTZSZzhyTFB4USsveGlhWkdhVEJBSG5KamF6Zi96OHZWNUZmeFZLbG0yTEVoU3E2WFRleUh1bFE1ZTFtNzNNUTZ3Q1kyQzk3dGt3eW9WMkhqVWR3OEo0UE9TRDgxdzVXUUszM2Y5ajRmdlgwT1I5TWRvd05pTFh0Q0hXai9PZjZ6bnFaR3c2SjVZTSt6RklJc0U4U0U2MkFpWmRDOFExei9hUE5yWTV4eUVXU2UweE95S1F5Ujc0N2xsNFFjL1hTeTJYZWZWL2JYeG9meCthREdRY0RhSWlYZkRQMS8vYjY3a0lWYmt1WVd1cloySmlkekkwckkybS9aaUR3R290dVNCUkRxck13Z0JQWkpZdDFnVFd3VHBPaWhRSlpFZW5sOHVsVGRuK3BmSGwrUGVoU1FsVytFYzlzMWY0ZnlFQmNqYnBtM2ZSU0RQenNSaTdGdnZTY0NMeEhkZmJpeGNNQWJtaGdxTWpaellxZUtVNUgvQ3VoTzlyZTBpUXJqeFhrS2oyQ08zY1FoWlIzNDFQNTc4UFRWWUVFZm1GZTB0bzlaOWVQTXhHZnhXSlZ3MGRQT1MxVE1DR3gvMDZkeVI4c0c5WmdKd3RVVjA4RThxcnpkb2g0U0hsbnJuNzhFYlBIbkZBRUgwelpxRlMrQ1VkdTVpTmJ4WEV2dzlOanFQUUJuS3ZSUFh5OGY0UEs4dE9mT3haelZuOG1ZNDIvV29ibDNJRE1kRXhGV3MwK1BwcEoxakpHZnhtZzF3NjNHV3UzcnozSU54K3VWQTVtdVhTTWUzZmpZK3pDdllmaGlZM2pqaFJvV0Z3WmZYSDhlK0c2UGFJTlNBNWIzT21UZHA1bHduMVN3UXQwZHQxaXFSMUZqbm0zQWRDWkhnM1NJZFdtYjdXMkNhbVh3K29yNTBoUS9LamJBRVlaMHdPSVA4d05JbXhmN2Q1VS9jQ3BYMTgvbkhaczk1cjBQRHNBZG42ekdLdWN6b0Jacm9uTDlEOGdzQU9IZU84czBBaC9sMGx1WVBjZWlQWFBjUktwSFBIWURPWGYxY2daWG84alZCSlIvSVBRNU9DcnZzd3FFRG9OTzNIKzc4TEE5WGVIdnMxdUFJMVo3V1ZlUDlqanUxVXYwZjAzUHRWR2ZRanIxTFVHME5EeGo5MFpIakhIUFNHK0V4Z2pNYUJPS2YxNitsa1ozTlU0ajhQVFRaOUxBd0NYNTJha3lBZmxseUNhOW1zQk43NG5teDB6b1JzcjNPZ2l6cHRJakxYNHpXM1lnRmxYRjBJWFBJTXk1dmM1SHQ0WWQ5TWI3bUxVZE4vYkZCM1N6ZU43T2svRDAzdXBZa0FYbUVzMVI5Zi9teGlLTlRBTVljLzhiL3Jnd2J0OHc3UE01TWRoTjJNWGplaTIvWTY4QkNGeTk2RHc4TmV1blZ6ck0rYWNVSzVPQ3JCamVob2dFZDRqQit3V2Y0UFE1TnROUUtEVFg3dGUxTWZaOEE1YnVpUlVsaVdIVU45Vy9tcml4ZWZhQWRQem5SRG01Y3hJMWN6NkFjcW12czZPNzBtWHhpSFJ4VGIyNEswSnB4SWZJbmQwT0RCNkRXQ1RKR0ovencweVlQdjhseGlCYWI3eC91L2hoR1hSRDlkWmsxN1ZqWXFnbFBrUEllYjJkdGxtWTB3TEtBaHE5Z05RYlRMMkw2ODUvYUY1S0gyakV1NENKOXRwSnh0bmNIRzM0M0Rjb3VkdlUvM2IwT1RyYVNhL0x3eWlRb0lIL2QvMXVFamc4TndKeVMwUnBETHYwQWgwbnN3bmhkV2hCR21XVmVwMk1KdlphMHNxWW9ucW90SUo3cS85MkRuY3YweHp1TGE2QldESTVyTnZ3OU5VbE9XR3QwUUUxbTZqOTkva2xwQ0hkQm94SHlXZUxLM1NQTkFEVGJiV1hwcFZ4OXNoSGRSRThFTUVSemhmWUo1Y1E4WGMrQ3Q3TE1oWUt1ekgzNTVJNkl0VHhqZEM5V1JxdmEzb1VtaVdKWDNrRzNXeXhFVWY3eitCL0dvekhuUDhZSFI5Wjk4Ny93cU1HOUFvb0ViWGR1VGlWNG9ZRkFQRWNweDdhdkNnM2EycldWbXR3SHB6M2J1SjVwUFFUMUNnUHNlaklQZGduRGs3ME9UU2lNS3ZLZ1FETmFlbm8rbi8zR1Y1ald4RFZMUncrNFh1b0RyZ1hkV0p1MkZLUXpVcVlQWmJrQndiKytONTdKZDNjeDdNNngydGpvTCtnNFl4L3ExaHQ3RFdaSG96V1lxWVZmdjBsK0hKaWNLU21zd2JxV0pvcTlFdUhqb2ovdC9DNVJjTDBpVDNNekpSQXpoZFFQT2NROWFsbHphakVjcjVaVzFXQXQvN0ZxbFZENTZKeEUzK1ZHSGdYRVJtNFM1anI2NXlZenRBaU5MNGxJdThpOURrN3NIVnRiY1o4ZFIxOGlzcU9YcDQvTWZYQXZpRU94Z3VMYy9aTnpiRnpGNXM1VGxkVTNiTnNhMU9GcFlYVGpEK0Y1d2hhcDNVZXNXUmI3bkRTWUk3NHlIclRFV1puSVRVcG9Ed1V0cCsvSG4wQ1FRUjZRV3poUFQ4TlRkbkoyUDI4Y0IwSlVZSG95djhHZ3pKNEhBcnNMNGxMZVRCc2Q3dkJ3VUFiR2FIaDQ3TzlaK1JxRDJTKzR6TjlCcm1oU1d6SFU4Q0hEMnRXVEtqdVhvaUN0RHFIOFptcVFJbVF5TlV1RVBrZmROZXJuR2orZS9OeHNwYmdEU2dBaXA1Z1QyMUNCc1JRTU9SeDBiZWMxc3ZZYzZFc3lSLzBtTjN1MlNieCt4UXV3OFFWeU9qSnBjTm85azhPajlScWJnY1IvZ3o2SEpoVkdKVytLMU1UeHJxTzdkVHNNKzN2K1hVeVY4NjRMTzBKWHZjd0ZVZGNac1pjSDFrbUthUVgxQnVPdm03UmFlemJUK01lUDlHekRBUVhzZnlVdjVrOHFZR3hUVHVyeDBhdEVIOHNmUVpCWk1TVDF5bmdrUkQ2SlFVbWZ6KzhmelgweGl1Rkt6bytrTnhaN3JFR3cvcStLUWxKNHBJYkRXVzZ1SlJzTG1DRy9XNXd0M2FTWUNhMTZVUTFZb2RFQncvRmN5MC9leUR2TjdhTko0Z1VpWFIxSnVzZ1ROaVl4bEVRUkRZdnA0QmRTSnNJR3E2VFpId2JPcDl4MlJySTFSaGRaa01qZGN6TmlyWkp4VGtSdkpQVnk3UmdLblppcThNT21SSFFQYm93RGNEazlRQTVENnh6VW9jb1JhMzVrVGVGR1JFRm9XUGdpbGZrZWdRV1VlVGkzMTQvbi9hbG4wM0RlWDByNXVPL3B1UDlPNUlsQzNyM2pTZlJhSHQ1VWFGaEFkTCtCTzVQWVlBTjVYT3QyS0pyU1gxNzZHMlRwNElnenFyYVhSZ3hBN2hzUlM1eFR0anBTNUZ3eUJybVBrbTRYUm1mV3g4ZHdWL2Z6OUYwVnNiVWZDcDJFOWp3c1hhQWp5RnNLb1FrZGY1bldGczlkWmJscnNxNjFHV1hNZzlGWHB0U0lWZWswYkpzczZ5OTFIYnJnQnozWHRMdlZFV0lrYWc4azFXRzRVSEpyQm9mWUNtenZlZmJiVXF5VllUeis5ZmpJbStkM1lITzY0QjBaeWFtcWlFUmlpSFlVNGlKc0xlVUhLeHVRWEtyRlhFQWtSb2JNVGlZQ3AwaEJKa05JUm1QY0Vremt2dWFkMWdtSXA5WUZhczJ3WU91c01jK0c4RHJrZ09MSUlOY0RBU3ZXYVBuNy9hYlNCbklHUTBQT1lTVHlRYTUzdERzSzJEWWpacE9OZW9sUFhlSnBiaStnSHN0WnpEb0N0UjBRWHVPRVd3T01vaGdBcmlaY2lSYU81czBodTFvWkJYNXZoWEVhd0MxcjV2ZGtaSmRMTUc0dVN4TkkvM3Y4MFlMVUVyS3gzbmRjZVgzdlpONkVjSEJLNUVDTDAzVENyV2UwRzhhNUFrMlo5bUtXMnlmL254VkJGYXE5dHlOcDJPdTlSeUI0ZGlMOEU3OUxlY2s2K3IxdDN6UFNkZXVBcTlyR0tOUndJaTJNL29tb2ZuLy9sR0pTc2xHYWRON1cxbHo5TFg5RWFVSjNSSnl3Z2Mxb29iMVFOZkpIcXc1TmNMU1hxNkpTUysyaUVrdXg1ZzhINHhmUEtYQWxqU3k4WENjdW5XVWZVdTlxUS9vYU5FdEY2Sm1NaURDckhLQ3pmMFgvYy83ZDU3VVdmY1NpYWVRZVlXL1c4c2h4eFlPVmhvRGRZeEx6ZDRINFEvOEgrcEw1U3JxWFFMK2JKZTJpU2FJWHh6Q0ttWi9qREdoRTlkd2lZanZmZG9QdlZsNGlLaEQvNjArbi96TGFSZFJKT0hXaDczR2NYRC9QNlAzUnhxcDZJYmUwczVhSjFvbHYzV2NMejJtOTAvd2FoSy9TQUZDR3JhR2JhNXk0eVhlemR1VCtISnBXY2QwSGhVb2kwdmtiRHhMN3J0cjRSVldXdGdxc0hKZjJkWk0vTGJBSWJzMm40Z1l2YS9uSCtsMDF6SnVjMm1WaWJkeFl0SnM0ZUZsbnR2b1V6S0tXdG1VYzVrYXg3WTllQnpOYXN4NzhQVGViZE82T2lyZWtjZHQ3dytvQnVnU0tYemdnQjdXSzFIYmtwQkwwOGc5ZSt6ZHp4aDJWZjhERzJGUjM4bkhEbzZQZm5mZmVyTVRIMDNVWWprZDlaV0lPQmNCV2tjUlFhWFpmY2M0NS9INW9zVzhJbEtpWWNvUWF4UUlNZFJMeG04OFBTdVVHSDJabG1jNVFNdmNzc3FJUGVQci8rTTFuUEhOU1ZGd2c3NXpvamFFVk1yTmVkV3dGU1QyU0x5aEZlUittYVFZM0xxV2JmZmxraC9jdlE1RVhsNmhqeENHNFh0dzcwL0RDdmZzWGdMNnRCRHQzeWdRcVdTK1Z0OTRJQnNSQStYdi9kVjFtaWNZWWl0UUVTRTZYaVBCZ0kwWVpHaXJMTzZ5cGpCN205T2hwNDIzZUVmS1RObm5ldGx5WDlaV2hTWjdEbDJQb0I1dHptWkw4NTU3VDh6SldxeThOMm5qUEFkZzFFWjVtTmFPYytQai8vOGpQcGlXaWZXVVJya0dkRDR5Z0R5cmtRd29PcTFKV045TmRUeVFHM2hxelVuSHpvRFJFeVVjSDhPVFNwS1BHOVAwOUhGSlZSTXpTRkRXYnJZMk96dGxCdmNBTlVnRmxoZzVaWEtLTStIOGYvUUsxMDQxZzBpR0R3VEVlbTJaNXdsUWlMeVlUalllL2ptc1d3YkI1Y3BGczVnbVA3TWpiejRsVU9md3hOTm1Zc3Vvcnl2TXNBSjVzWHBCR0ZCcDVEME5ieE5QaHBQRVQzYmdTeTc2RWorSGo4bDlDekRVaDZOZWUrRDF1cUNySmZxYy9CdCtnYnRGRjBuTUZ0aVhaT3kwTmZ6UEZnb0lkNDZOSDg0bjROVFdJSURYTUFGdGNVVUVWNHU0YkgySWM3NHNEM1kxZkJGNHdxYmx3Q21OWS9tZitQMTc5Mmd6cFBDUFd4TTBCbXZoK0R3dEpTenliR1pkdnk5Zk1kRmUvSGJRV1dXMjNabkVNSGhJZnFOV1lYS1B3TVRkYmsxdGxPYVFPL2psbFkwSGpRcUJPbDV0VTlwelFLZWNSSUdFK1JQT1NlTUh5YWorZC9IQk16OUtYTUVBak1XLy8yUWdrNmYyUXhrU0phMlU4a0swdDQ5Mm5Na2ozdmM1amxTcmorZ05SbnBvaklEQVYrMzJsYlVub25oaGk4bWdmR1J4V2VJNjkya1pkOTJqNmxQMWQrY0IrdmM4K2dQNTcvYTdQZVFmZlhTOE55eGJYRXhjNXJRSlpKOEh3K1huandjN2cvL1Z6VjhHQXNSQnZvNVBYTWtnR3BqTENPK3pXdkIrbWRWd01Yajl2OHlWNmpFK2o0NTNjTGdFVFRHYlZOQjRqaEZ2aFlabDg0UENWOEhnQVRPRi9zbVlsd0VsRHpNWWFGNCs2RVYvN0FiRzNmZzVpVGltWS9OSjc5dkxzNnZmTE1nUStUWDZQVWxIWWcrNDhkKzAzZ08ydWVPbkROMW4reUh3N2lISTFmMXZuaGMycllqbkYzWFNSR2g2TjlIUCtpRmJ0NXF3M1gxL3NzWWhnbjFlaXdUb2ZPL2ozVWI3bjIxdlRVTUN3SzlhakgvN3E3NG42V3hrMkxIb1BFK3dwWmxWSzBpYVUwNGpZcklZK1VmVUIrZFlkcXNHTjBuVVBVK3VEMVVDN0ZXU2o5ZVAvWGpvK2d2ZGQ2dFQ4M0VqREdWMWhHM0tPK2J4c0RqQnU5dDYrTE0zb09pNEdLZ0RBSWY3QVdyaERCWXppb1VxUHFSN0dpWngrYk1PRDJFd3dDcGxTWFZlc2ErUEtFdmJzRWk1MTNyU0l2TkxQZTFvK1A5NysrN2tPK1VXQmJCWHRQczVNRXVtUElicTlkbFFPMks1VjcyM3V0NTd6ZTFjNExUaEVoZ1RPVmdUeXUzc2RXN1lMc2VYanBMQ0ZEQ3VhWllySXVvT29JYkdiVzErWEIrQ2NPaE5MQlhDRFhuODdQN2VQclozVXNFTTY4dDdpYWR5MHZGdlRmTTl1bCticng3VTZ3N2VKWUtKdGpEWU9PMCtKdjlVMFJSUENSYzhvWm9tRzNJL3dqTUh0akRjSEl3UEFsdFhWRVYwTkNBUk9sV29CQjZjMWFOcnNzMkkvbiszajlDeWhhSllleHRkam5kNERSd09HS1NHSUdhRlJpTXZuK1BDVDN4aXBqd0x6bUNHNXI5N09VWC9mWGtKWHdxOUQzdnlON1JDdENFRHlaSWVMSC9GTXZ2R2YvQThPUFlQZzVsSzB1WGdkZG40L0RuNW5HUSszTUt6Nlo3RFB2Z3l1VkJmMDF4dXRkcEFaeG5ZZUV4SENtYWljS2NxODV0YnhHUk1pc0tYNDZET1BvRTdxZmx6bEhiZHpzazNneWtxWDVMVDl6QnBaeVlVY2llWFpWczRGd1lUdFNEdzhDcStmaitQZkVnNXdYSU14Qm4xd21GL3E1a3dyL1A0MGp4QWZzYmduYjdURGFaV1dOdmJTVFpINXZrbkhsdHEydklRQWh4N0pRWGtncFByNXZ0ZXZJa1M2dXhMd0lrZFMyUFVoNXV4azN0Rk8wTFUwQ3ZRcmhQOTcvOURoNW8yTzJ6aEdaMzZkeEU0UjgzQ01JM2pVaStUTFFrUXVIYkxWdEk1ZjlWWW5SeWc2NzdQMWwvTTZremxhR3pzaGlGMDJRRklPa3paZ0Y5MnBCekdNM0JyNWFId3JrWFQ0TE5MMW5ZdllLeEJYOThmVnpDVEpYVW5NVlMyY0Q3VGJlQ09ibkRTZHpPSEVmRzNyeFZGUmJsRktiVzNmRUFNMHBTWXVYT2ZnMWVLV08zRmRxL2RvTkk1UWhiazRyZWxDU3hOcVVFK0lKd1VzUVorS3l3ZDVVUll3c0I4SUJ3Zm5INnorenBYdnBYbEovcUVUZHBUMjBCRktsZFY1Nnc2NWpyNUtuczh3SHBTWkVEcndFaVNkcE56VDRVeFhMU3IwYzM1U1A3U1pJcGVaVnFSdEg0THNjV3hIN2d1RmpjZ2pEemFhQmlqejZrb3VoSHRlL2ZoNytpVFI5Mm9VWW51MW9vckRPTzYvODhteHdRVnJ3dENXU1dOUmFGanQwcmxFL2hCT3g5L2NkRHA3emVabnZhekVyeHJOMU5zSWRXNnVwek5ib2hnemhSUFdaWXpTL3hwemE4OURkS21TRWxVSWpJWDNlLzJVK3gzTmhiV2lodWYvcVJ6TmpYdWNlNXBjNGRUbnp2TFdWRytLNGlOK0N6MVhwZVllSFFqdG1DeUpaa0drOTFrU25DejNLNGh5Q3dUU1I3WW9tb1k2UzN0ZDh2a1A5azlJenU4VDNtbWRkMkg3OC9wdFhaMm9HYUZOSldGVU9rNUVpTVVFMVJoNS9jalFHMXhKNy9PSGM2MEhrbCtsc2FwOTN1RlR3enVHVzNYUTJQQjN2TDA3Qm9DQ05YUHVrOWZPclVxVjB4L3NPbUdGOERNWnBxTXpOUG9sVUxwcFhiejQrLzNpTWxjK3Z2Rm04NXNoNzU3ZTNBRzBzQjBxeWUyZG5mY2wyZmlucVhROFgwZVp6SVQ5MytPajNXSnVKZ2Vib21CNUhsMGF3cFd3aE40NkdWWnpXZkVOdTRSWm03N09GT2k1QWJYRWxyc0hvaDVTeGY5ei8wMUlHRjNVL0J5NldqenF2NkdGQzY3eld1c3pNRDBValJ4eURaeWQ1V0t0RTVmOTFoMU5YdXVTWng0cEVLWXlZTWpIWDBiVVppVmExaUdGblY2emdVSTZ6c25HTnZlZXJ6OGlTendzRHpSWnpsQjgvZjhLMmxVRGxaeUlwcXUycTU2bHpYTlpVOHVMMGU5NEI2cXRtTTJmM2lXOEMwZjdQSFY0UWR6cGU2N3dpQUpYZGU3a1lxbVFqc3hVWUljK0dkT0I5cVN4dXhubFhSa3QyQ0kvQ2hGaVVFalNXZzN3OCs0MUNLd1NnNks3Q09JaHBQWTh0TzdRSXMxZ0pOUnhzUFM5NGJPcnpqbmVWbHVYM0hXNnpYZXdnQ2huZ0sxUGIwN3dzZTlXZUFLOHYwSlRpVmdDaCs3c3JQRHdOMk13SXBLN0FieUFlbitMZTUralVoMlZPY1BsZVQvLytGcnpaK1k1UGRndHhVcllnb3hOM1NBRkdNL3ZkZ2Q4OWIvMlBPL3hnZm11U1VzOERkMFBmeisyeWxIWENwdU1aYTZGcVJaZ1RmUHVKY2MrcGp0UVVCSUpMVml6UEMrRFBLai9lLy81NGErSGNmVkdRZU1GVnVla1RCcHd2VGR2ODNnUEV3dUdCUFowTHBOV3djUDIreXVZOTU0cVFDQjdPWG5qNlFoYkxqL2NYM3RwTGVLdW4wMER3VzVEeXprbVp2dFJaUWwwV1ZLcW00cDZRQjVtUDUvLzYwVXR4QmNrdUF1RzlnRkRXMjNjYi83ekQwMEZIWFBTYVY4TFBpNEhZNGpuNTR3N1BNbE1lczVmbFFWem9rMWxjbk45NVBjZW84RWRxOTc3TTZjZjExYUxDVGU1QUd1S01kTlNDdG9SMkEwUi92dnlERG5yT0s3TFp6RUlPeExwY3Q1K3MvTHpEMWF5Rjk5bnJOc3ZiYTVrMlRQNjR5cWJhVXQ5ZmN2MXVuV3g4VlVIUHJ4QThFUXFpdWN0OHBySWhncmc3dWhMQk9KbGZNZHhuNlhQZWpmbkdRNStILzcva0lBcys2bFpDaVg3bUxMYTVyaG1neTVoZi95Wm1tZVRWYW5EeEwxZloxSTNLZDJFQStVOGd2SnF3U0F3U004bmIrLzYrQVVsZ21NanlkZGo1RmJ2MXVESHF6YVRKKzdjSXlNLzMvMy9sSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOGhXQS93ZmRtaG1aZHltbTl3QUFNaUZwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtDang0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNQzFqTURZd0lEWXhMakV6TkRjM055d2dNakF4TUM4d01pOHhNaTB4Tnpvek1qb3dNQ0FnSUNBZ0lDQWdJajRLSUNBZ1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSGh0Y0RwRGNtVmhkRzl5Vkc5dmJENUJaRzlpWlNCR2FYSmxkMjl5YTNNZ1ExTTFJREV4TGpBdU1DNDBPRFFnVjJsdVpHOTNjend2ZUcxd09rTnlaV0YwYjNKVWIyOXNQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rTnlaV0YwWlVSaGRHVStNakF4TkMwd09DMHdORlF4T0RvME9Eb3hNMW84TDNodGNEcERjbVZoZEdWRVlYUmxQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rMXZaR2xtZVVSaGRHVStNakF4TkMwd09DMHdORlF4T0RvMU16bzFNMW84TDNodGNEcE5iMlJwWm5sRVlYUmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZaR005SW1oMGRIQTZMeTl3ZFhKc0xtOXlaeTlrWXk5bGJHVnRaVzUwY3k4eExqRXZJajRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0NpQWdJRHd2Y21SbU9sSkVSajRLUEM5NE9uaHRjRzFsZEdFK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2p3L2VIQmhZMnRsZENCbGJtUTlJbmNpUHo1Nm1pbURBQUFBWTBsRVFWUVlsYVdSUVE2QUlBd0VwNEFhLy85YU5WSXZhSnBTdUxpWERjdUVMU0NxU2lBRnhJZHBBRnFmd3VLOGc3dU5sdVVJUGdNWTRHNStBSWdPYmhncEFjWFVDckMyOVFic1pzU2x0Q283MjF0ZFRaYUJLbi9mK1hJTm4yWW5KOXpIUEN3UkhCUDc5aUh6QUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQThTVVJCVkJpVlkvei8vejhEQVFCWHdJSXVnQSt3SUxFWkNabk1SSVNCTUVNWWlWRU1CNE5JTWN5M3VJSVBMcytDUXdJclFGZU1MYXpoQmdBQTR2NE1GcEVTdzlBQUFBQUFTVVZPUks1Q1lJST0"},{ 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_tile_GraphicAutoFull", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBQXdDQVlBQUFEK2Y2Ui9BQUFDM1VsRVFWUjQydTJkc1hFQ01SQkZCWE81QzZBUkVsb2dZRndETTA3ZGg4ZXhIVGdnOVF3QkxUaHhDVFJBNUNKd2RCNmRHR3pmcnJqVlN1OUZKSXYyL3NLWDd0Q0syZkZyZHc1Q1h2ZUhzTjJzQjY5Zjk0ZGZZejQvVG1HNVdvVFBqMU1JSVlTMzU0ZVFBOG40eTlWaWRQNHBmVHo2VGE4ZjlkZlhmNjVKdmsvQ0kzSHhMVUEvNmw5Qy9iczRvVEhrVG43cytMa2RlT3I4MGM4bS8rVnFrVFYvYWQ1OS9hWHgydkV2RE9DL1ltb0huR0k1YU9YODZGZCsvcm5IR3ZzK2FmMjFlV2pqdTdFZjBQNGU1SlpMbzFzTEVJK1IrME9IZnVYbkg0OHo5UW9ncmIvMUNtQWVBS0JaTUFBQURBQUFNQUFBd0FBQUFBTUFBQXdBQUdwbHNBOUF1ejNSSW42N0tTZmVBK24xamMzZk9yNTBQYjNGWDJ3RTBtNVNhVDNlQTJpTWxnTUQ4RGp6eHpPSWRiem5tVXVhdjNVOEs0QTg4WFBQWC80UzRnRmNQd1BZYnRZL3M2QzBuM3BNL09VTXVoYlBBdjJZMHZ5MTQxc3NIL3VZTkxiZjAvN1gzdmIrV25OY3MwWCthZjBsTSthdy92THg0M2l2NXluTU5jV25uMXIzNWFHZm52cWJyd0EwM1VRNVdsdTk5MU5ianoxMS9qazcyVnFzZnluNkRXNEJMSjNMZXorMXRmTmJ6U0wwMC92VUwyWDIrSEovRG81STcrSEczb2RxNDRINjF3UTdBUUV3QUFEQUFBQUFBd0FBREFBQU1BQUF3QUFBb0RxNmtyWlRTbjZUamZPZkl2NDN2VHpFVyt2bm5WUi95VDRFeS9nTEF5aXBhSkptaURqL3FlS3ZhZVlsM2xvLzc5UjBua0lSS3dETkJXbi9hVWNhYnoxejVwcDVyZlNyWlNVZ3ZYYnIrR0tlQVdqM3hoUHZPeDVzbVIyL2R1Y1E3UHFacFROT2pyM2dGak5YVGZtam43MStUOXYzTzVNVkFQM3NiZWVQZm5YbzEya2Urbmg4NEVQKzZJZCtrUUZJWGNqN2ZWOTg2MEwrNk5lcWZ1SVRnYnovM0VQKzZJZCs3QVFFYUJvTUFBQURBQUFNQUFBd0FBREFBQUFBQXdDQVd1bXNFN0QrZDlTY3RIQWV3YlgzODlJUldGby9mdk1HVU5OL3piZHlIb0gzTDBCTm56bFdBSTJlWjFEaWVRS2VEZ1FwcFIrZlp3RE80VHdBemdQd3pEZmJTaCtjaU1jc213QUFBQUJKUlU1RXJrSmdnZz09"},{ name : "__ASSET__:bitmap_flixel_tile_GraphicAuto", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUlBQUFBQUlDQU1BQUFBR0F3ZE1BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBQUFnWTBoU1RRQUFlaVVBQUlDREFBRDUvd0FBZ09rQUFIVXdBQURxWUFBQU9wZ0FBQmR2a2wvRlJnQUFBd0JRVEZSRkFBQUFYbDVlQUFBQUF3TURCQVFFQlFVRkJnWUdCd2NIQ0FnSUNRa0pDZ29LQ3dzTERBd01EUTBORGc0T0R3OFBFQkFRRVJFUkVoSVNFeE1URkJRVUZSVVZGaFlXRnhjWEdCZ1lHUmtaR2hvYUd4c2JIQndjSFIwZEhoNGVIeDhmSUNBZ0lTRWhJaUlpSXlNakpDUWtKU1VsSmlZbUp5Y25LQ2dvS1NrcEtpb3FLeXNyTEN3c0xTMHRMaTR1THk4dk1EQXdNVEV4TWpJeU16TXpORFEwTlRVMU5qWTJOemMzT0RnNE9UazVPam82T3pzN1BEdzhQVDA5UGo0K1B6OC9RRUJBUVVGQlFrSkNRME5EUkVSRVJVVkZSa1pHUjBkSFNFaElTVWxKU2twS1MwdExURXhNVFUxTlRrNU9UMDlQVUZCUVVWRlJVbEpTVTFOVFZGUlVWVlZWVmxaV1YxZFhXRmhZV1ZsWldscGFXMXRiWEZ4Y1hWMWRYbDVlWDE5ZllHQmdZV0ZoWW1KaVkyTmpaR1JrWldWbFptWm1aMmRuYUdob2FXbHBhbXBxYTJ0cmJHeHNiVzF0Ym01dWIyOXZjSEJ3Y1hGeGNuSnljM056ZEhSMGRYVjFkbloyZDNkM2VIaDRlWGw1ZW5wNmUzdDdmSHg4ZlgxOWZuNStmMzkvZ0lDQWdZR0Jnb0tDZzRPRGhJU0VoWVdGaG9hR2g0ZUhpSWlJaVltSmlvcUtpNHVMakl5TWpZMk5qbzZPajQrUGtKQ1FrWkdSa3BLU2s1T1RsSlNVbFpXVmxwYVdsNWVYbUppWW1abVptcHFhbTV1Ym5KeWNuWjJkbnA2ZW41K2ZvS0Nnb2FHaG9xS2lvNk9qcEtTa3BhV2xwcWFtcDZlbnFLaW9xYW1wcXFxcXE2dXJyS3lzcmEydHJxNnVyNit2c0xDd3NiR3hzckt5czdPenRMUzB0YlcxdHJhMnQ3ZTN1TGk0dWJtNXVycTZ1N3U3dkx5OHZiMjl2cjYrdjcrL3dNREF3Y0hCd3NMQ3c4UER4TVRFeGNYRnhzYkd4OGZIeU1qSXljbkp5c3JLeTh2THpNek16YzNOenM3T3o4L1AwTkRRMGRIUjB0TFMwOVBUMU5UVTFkWFYxdGJXMTlmWDJOalkyZG5aMnRyYTI5dmIzTnpjM2QzZDN0N2UzOS9mNE9EZzRlSGg0dUxpNCtQajVPVGs1ZVhsNXVibTUrZm42T2pvNmVucDZ1cnE2K3ZyN096czdlM3Q3dTd1NysvdjhQRHc4Zkh4OHZMeTgvUHo5UFQwOWZYMTl2YjI5L2YzK1BqNCtmbjUrdnI2Ky92Ny9QejgvZjM5L3Y3Ky8vLy9Ra3FmSXdBQUFBTjBVazVULy84QTE4b05RUUFBQUcxSlJFRlVlTnJzazdFU3dDQUlRMS84LzQ5MlVEeUJWdHk2MUNVWEVnVTVvQUZBUXdCaWNnYUhTc2ZaZlBCT2x5UUpTekM1bHJmUWpWb0MrVUNwYncvdlNNQ0RuczFQdnp6b2Z3SGZGMkJENWxCKzJONExTUFp3eWdKc3pRS0dkYXM2UUxwMjI0RU9BQUQvL3dNQTlQY0E4YU9wY3lVQUFBQUFTVVZPUks1Q1lJST0"},{ 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.00392156862745); } 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__$internal_renderer_canvas_CanvasGraphics.hitTestCanvas = typeof(window) != "undefined" ? window.document.createElement("canvas") : null; openfl__$internal_renderer_canvas_CanvasGraphics.hitTestContext = typeof(window) != "undefined" ? openfl__$internal_renderer_canvas_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; openfl__$internal_utils_DisplayObjectIterator.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; 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); }); openfl_display_DisplayObject.__childIterators = new lime_utils_ObjectPool(function() { return new openfl__$internal_utils_DisplayObjectIterator(); }); AssetPaths.bstaingcum__png = "assets/bstaingcum.png"; AssetPaths.crack1__png = "assets/crack1.png"; AssetPaths.crack2__png = "assets/crack2.png"; AssetPaths.crackcl__png = "assets/crackcl.png"; AssetPaths.crackop3__png = "assets/crackop3.png"; AssetPaths.crackoop5__png = "assets/data/crackoop5.png"; AssetPaths.crackop1__png = "assets/data/crackop1.png"; AssetPaths.crackop2__png = "assets/data/crackop2.png"; AssetPaths.crackop7__png = "assets/data/crackop7.png"; AssetPaths.data_goes_here__txt = "assets/data/data-goes-here.txt"; AssetPaths.digitiles__png = "assets/data/digitiles.png"; AssetPaths.dumbassLevel__json = "assets/data/dumbassLevel.json"; AssetPaths.levelProject__ogmo = "assets/data/levelProject.ogmo"; AssetPaths.placeholderTileset__png = "assets/data/placeholderTileset.png"; AssetPaths.tileset__png = "assets/data/tileset.png"; AssetPaths.Untitled__png = "assets/data/Untitled.png"; AssetPaths.grass__png = "assets/grass.png"; AssetPaths.checkpoint_rat__PNG = "assets/images/checkpoint_rat.PNG"; AssetPaths.cheese_idle__png = "assets/images/cheese_idle.png"; AssetPaths.dialogue__png = "assets/images/dialogue.png"; AssetPaths.door__png = "assets/images/door.png"; AssetPaths.dumbbg__png = "assets/images/dumbbg.png"; AssetPaths.dust__png = "assets/images/dust.png"; AssetPaths.images_go_here__txt = "assets/images/images-go-here.txt"; AssetPaths.introcheesetext__png = "assets/images/introcheesetext.png"; AssetPaths.mousePlaceholder__png = "assets/images/mousePlaceholder.png"; AssetPaths.movingLong__png = "assets/images/movingLong.png"; AssetPaths.movingLonger__png = "assets/images/movingLonger.png"; AssetPaths.movingLongside__png = "assets/images/movingLongside.png"; AssetPaths.movingShort__png = "assets/images/movingShort.png"; AssetPaths.movingSingle__png = "assets/images/movingSingle.png"; AssetPaths.ritz_spritesheet__png = "assets/images/ritz_spritesheet.png"; AssetPaths.spider_enemy__PNG = "assets/images/spider_enemy.PNG"; AssetPaths.spike__png = "assets/images/spike.png"; AssetPaths.tac1__png = "assets/images/tac1.png"; AssetPaths.tac2__png = "assets/images/tac2.png"; AssetPaths.tac3__png = "assets/images/tac3.png"; AssetPaths.titleScreen__png = "assets/images/titleScreen.png"; AssetPaths.titleScreen__txt = "assets/images/titleScreen.txt"; AssetPaths.fluffydream__mp3 = "assets/music/fluffydream.mp3"; AssetPaths.fluffydream__ogg = "assets/music/fluffydream.ogg"; AssetPaths.music_goes_here__txt = "assets/music/music-goes-here.txt"; AssetPaths.pillow__mp3 = "assets/music/pillow.mp3"; AssetPaths.pillow__ogg = "assets/music/pillow.ogg"; AssetPaths.ritz__mp3 = "assets/music/ritz.mp3"; AssetPaths.ritz__mp3__asd = "assets/music/ritz.mp3.asd"; AssetPaths.ritz__ogg = "assets/music/ritz.ogg"; AssetPaths.allcheesesunlocked__mp3 = "assets/sounds/allcheesesunlocked.mp3"; AssetPaths.allcheesesunlocked__ogg = "assets/sounds/allcheesesunlocked.ogg"; AssetPaths.checkpoint__mp3 = "assets/sounds/checkpoint.mp3"; AssetPaths.checkpoint__ogg = "assets/sounds/checkpoint.ogg"; AssetPaths.collectCheese__mp3 = "assets/sounds/collectCheese.mp3"; AssetPaths.collectCheese__ogg = "assets/sounds/collectCheese.ogg"; AssetPaths.damageTaken__mp3 = "assets/sounds/damageTaken.mp3"; AssetPaths.damageTaken__ogg = "assets/sounds/damageTaken.ogg"; AssetPaths.discoverysound__mp3 = "assets/sounds/discoverysound.mp3"; AssetPaths.discoverysound__ogg = "assets/sounds/discoverysound.ogg"; AssetPaths.doubleJump__mp3 = "assets/sounds/doubleJump.mp3"; AssetPaths.doubleJump__ogg = "assets/sounds/doubleJump.ogg"; AssetPaths.jump__mp3 = "assets/sounds/jump.mp3"; AssetPaths.jump__ogg = "assets/sounds/jump.ogg"; AssetPaths.keyboardtyping__mp3 = "assets/sounds/keyboardtyping.mp3"; AssetPaths.keyboardtyping__ogg = "assets/sounds/keyboardtyping.ogg"; AssetPaths.Munchsound1__mp3 = "assets/sounds/Munchsound1.mp3"; AssetPaths.Munchsound1__ogg = "assets/sounds/Munchsound1.ogg"; AssetPaths.Munchsound2__mp3 = "assets/sounds/Munchsound2.mp3"; AssetPaths.Munchsound2__ogg = "assets/sounds/Munchsound2.ogg"; AssetPaths.Munchsound3__mp3 = "assets/sounds/Munchsound3.mp3"; AssetPaths.Munchsound3__ogg = "assets/sounds/Munchsound3.ogg"; AssetPaths.Munchsound4__mp3 = "assets/sounds/Munchsound4.mp3"; AssetPaths.Munchsound4__ogg = "assets/sounds/Munchsound4.ogg"; AssetPaths.ritzstartjingle__mp3 = "assets/sounds/ritzstartjingle.mp3"; AssetPaths.ritzstartjingle__ogg = "assets/sounds/ritzstartjingle.ogg"; AssetPaths.sounds_go_here__txt = "assets/sounds/sounds-go-here.txt"; AssetPaths.startbleep__mp3 = "assets/sounds/startbleep.mp3"; AssetPaths.startbleep__ogg = "assets/sounds/startbleep.ogg"; AssetPaths.talksound__mp3 = "assets/sounds/talksound.mp3"; AssetPaths.talksound__ogg = "assets/sounds/talksound.ogg"; AssetPaths.talksound1__mp3 = "assets/sounds/talksound1.mp3"; AssetPaths.talksound1__ogg = "assets/sounds/talksound1.ogg"; BootState.soundEXT = ".mp3"; 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)); 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(); flixel_text_FlxText.VERTICAL_GUTTER = 4; flixel_addons_text_FlxTypeText.helperString = ""; 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,6,3); 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_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; openfl_geom_Point.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_Point(); },function(p) { p.setTo(0,0); }); 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)); openfl_display_Shader.__meta__ = { fields : { glProgram : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; flixel_input_FlxPointer._cachedPoint = new flixel_math_FlxPoint(); 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 = 0; flixel_input_gamepad_id_OUYAID.U = 3; flixel_input_gamepad_id_OUYAID.Y = 4; flixel_input_gamepad_id_OUYAID.A = 1; flixel_input_gamepad_id_OUYAID.LB = 6; flixel_input_gamepad_id_OUYAID.RB = 7; flixel_input_gamepad_id_OUYAID.LEFT_STICK_CLICK = 10; flixel_input_gamepad_id_OUYAID.RIGHT_STICK_CLICK = 11; flixel_input_gamepad_id_OUYAID.HOME = 2; flixel_input_gamepad_id_OUYAID.LEFT_TRIGGER = 8; flixel_input_gamepad_id_OUYAID.RIGHT_TRIGGER = 9; flixel_input_gamepad_id_OUYAID.DPAD_LEFT = 13; flixel_input_gamepad_id_OUYAID.DPAD_RIGHT = 14; flixel_input_gamepad_id_OUYAID.DPAD_DOWN = 15; flixel_input_gamepad_id_OUYAID.DPAD_UP = 16; 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(11,14,{ up : 27, down : 28, left : 29, right : 30}); flixel_input_gamepad_id_OUYAID.LEFT_TRIGGER_ANALOG = 17; flixel_input_gamepad_id_OUYAID.RIGHT_TRIGGER_ANALOG = 18; 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_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; 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.__pool = new openfl__$internal_renderer_BitmapDataPool(); openfl_display_BitmapData.__supportsBGRA = null; openfl_display_BitmapData.__tempVector = new lime_math_Vector2(); 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.9999999999999984e-015; 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_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_tile_GraphicAuto.resourceType = "image/png"; flixel_tile_GraphicAuto.resourceName = "__ASSET__:bitmap_flixel_tile_GraphicAuto"; flixel_tile_GraphicAutoAlt.resourceType = "image/png"; flixel_tile_GraphicAutoAlt.resourceName = "__ASSET__:bitmap_flixel_tile_GraphicAutoAlt"; flixel_tile_GraphicAutoFull.resourceType = "image/png"; flixel_tile_GraphicAutoFull.resourceName = "__ASSET__:bitmap_flixel_tile_GraphicAutoFull"; flixel_tweens_FlxEase.PI2 = Math.PI / 2; flixel_tweens_FlxEase.EL = 2 * Math.PI / .45; flixel_tweens_FlxEase.B1 = 0.36363636363636365; flixel_tweens_FlxEase.B2 = 0.72727272727272729; flixel_tweens_FlxEase.B3 = 0.54545454545454541; flixel_tweens_FlxEase.B4 = 0.90909090909090906; flixel_tweens_FlxEase.B5 = 0.81818181818181823; flixel_tweens_FlxEase.B6 = 0.95454545454545459; 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; openfl_geom_Rectangle.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_Rectangle(); },function(r) { r.setTo(0,0,0,0); }); 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.readPos = 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_objects_Medal.difficultyNames = ["Easy","Moderate","Challenging","Difficult","Brutal"]; 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_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_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__$internal_Lib.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { notImplemented : { SuppressWarnings : ["checkstyle:NullableParameter"]}}}; openfl__$internal_Lib.__sentWarnings = new haxe_ds_StringMap(); openfl__$internal_formats_agal_AGALConverter.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_formats_agal_AGALConverter.limitedProfile = true; openfl__$internal_formats_agal__$AGALConverter_DestRegister.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_formats_agal_RegisterMap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_formats_agal__$AGALConverter_SamplerRegister.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_formats_agal__$AGALConverter_SourceRegister.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_formats_atf_ATFReader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_formats_html_HTMLParser.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_formats_html_HTMLParser.__regexAlign = new EReg("align\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexBreakTag = new EReg("","gi"); openfl__$internal_formats_html_HTMLParser.__regexBlockIndent = new EReg("blockindent\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexColor = new EReg("color\\s?=\\s?(\"#([^\"]+)\"|'#([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexEntities = [new EReg(""","g"),new EReg("'","g"),new EReg("&","g"),new EReg("<","g"),new EReg(">","g"),new EReg(" ","g")]; openfl__$internal_formats_html_HTMLParser.__regexFace = new EReg("face\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexHTMLTag = new EReg("<.*?>","g"); openfl__$internal_formats_html_HTMLParser.__regexHref = new EReg("href\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexIndent = new EReg(" indent\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexLeading = new EReg("leading\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexLeftMargin = new EReg("leftmargin\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexRightMargin = new EReg("rightmargin\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexSize = new EReg("size\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexTabStops = new EReg("tabstops\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_renderer_DrawCommandBuffer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { o : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$internal_renderer_DrawCommandBuffer.empty = new openfl__$internal_renderer_DrawCommandBuffer(); openfl__$internal_renderer_DrawCommandReader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { obj : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$internal_renderer_SamplerState.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_ShaderBuffer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { overrideIntValues : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$internal_renderer_canvas_CanvasBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_canvas_CanvasDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_canvas_CanvasGraphics.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { windingRule : { SuppressWarnings : ["checkstyle:Dynamic"]}, createBitmapFill : { SuppressWarnings : ["checkstyle:Dynamic"]}, createGradientPattern : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$internal_renderer_canvas_CanvasGraphics.SIN45 = 0.70710678118654752440084436210485; openfl__$internal_renderer_canvas_CanvasGraphics.TAN22 = 0.4142135623730950488016887242097; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands = new openfl__$internal_renderer_DrawCommandBuffer(); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands = new openfl__$internal_renderer_DrawCommandBuffer(); openfl_display_DisplayObjectRenderer.__meta__ = { fields : { __type : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_CanvasRenderer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:Dynamic"]}}; openfl__$internal_renderer_canvas_CanvasRenderer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_canvas_CanvasShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_canvas_CanvasTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_canvas_CanvasTilemap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { renderTileContainer : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$internal_renderer_canvas_CanvasVideo.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DBuffer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DBuffer.MAX_INDEX_BUFFER_LENGTH = 65535; openfl__$internal_renderer_context3D_Context3DBuffer.MAX_QUADS_PER_INDEX_BUFFER = 10922; openfl__$internal_renderer_context3D_Context3DBuffer.MAX_QUAD_INDEX_BUFFER_LENGTH = 65532; openfl__$internal_renderer_context3D_Context3DDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DGraphics.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DGraphics.blankBitmapData = new openfl_display_BitmapData(1,1,false,0); openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform = new openfl_geom_ColorTransform(1,1,1,1,0,0,0,0); openfl__$internal_renderer_context3D_Context3DMaskShader.opaqueBitmapData = new openfl_display_BitmapData(1,1,false,0); openfl_display_OpenGLRenderer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:Dynamic"]}}; openfl__$internal_renderer_context3D_Context3DRenderer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DRenderer.__alphaValue = [1]; openfl__$internal_renderer_context3D_Context3DRenderer.__colorMultipliersValue = [0,0,0,0]; openfl__$internal_renderer_context3D_Context3DRenderer.__colorOffsetsValue = [0,0,0,0]; openfl__$internal_renderer_context3D_Context3DRenderer.__defaultColorMultipliersValue = [1,1,1,1]; openfl__$internal_renderer_context3D_Context3DRenderer.__emptyColorValue = [0,0,0,0]; openfl__$internal_renderer_context3D_Context3DRenderer.__emptyAlphaValue = [1]; openfl__$internal_renderer_context3D_Context3DRenderer.__hasColorTransformValue = [false]; openfl__$internal_renderer_context3D_Context3DRenderer.__scissorRectangle = new openfl_geom_Rectangle(); openfl__$internal_renderer_context3D_Context3DRenderer.__textureSizeValue = [0,0]; openfl__$internal_renderer_context3D_Context3DShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DState.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DTilemap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DVideo.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_Context3DVideo.__textureSizeValue = [0,0.]; openfl__$internal_renderer_context3D_batcher_BatchRenderer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_context3D_batcher_BatchRenderer.MAX_TEXTURES = 16; openfl__$internal_renderer_context3D_batcher_BatchRenderer.DEFAULT_UVS = [0,0,1,0,1,1,0,1]; openfl__$internal_renderer_context3D_batcher__$BatchRenderer_Batch.FLOATS_PER_QUAD = 52; openfl__$internal_renderer_context3D_batcher__$BatchRenderer_Batch.IDENTITY_COLOR_TRANSFORM = new openfl_geom_ColorTransform(); openfl__$internal_renderer_context3D_batcher__$BatchRenderer_BatchShader.FLOATS_PER_VERTEX = 13; openfl__$internal_renderer_dom_DOMBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_dom_DOMDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display_DOMRenderer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:Dynamic"]}}; openfl__$internal_renderer_dom_DOMRenderer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_dom_DOMShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_dom_DOMTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_dom_DOMTextField.__regexColor = new EReg("color=(\"#([^\"]+)\"|'#([^']+)')","i"); openfl__$internal_renderer_dom_DOMTextField.__regexFace = new EReg("face=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_renderer_dom_DOMTextField.__regexFont = new EReg("]+)>","gi"); openfl__$internal_renderer_dom_DOMTextField.__regexCloseFont = new EReg("","gi"); openfl__$internal_renderer_dom_DOMTextField.__regexSize = new EReg("size=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_renderer_dom_DOMTilemap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_dom_DOMVideo.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_flash_FlashRenderer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_flash_FlashTilemap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_renderer_flash_FlashTilemap.alphaColorTransform = new openfl_geom_ColorTransform(); openfl__$internal_renderer_flash_FlashTilemap.bitmap = new openfl_display_Bitmap(); openfl__$internal_renderer_flash_FlashTilemap.destPoint = new openfl_geom_Point(); openfl__$internal_renderer_flash_FlashTilemap.sourceRect = new openfl_geom_Rectangle(); openfl__$internal_text_GlyphPosition.__meta__ = { obj : { SuppressWarnings : [["checkstyle:FieldDocComment","checkstyle:Dynamic"]]}}; openfl__$internal_text_TextEngine.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { __cairoFont : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$internal_text_TextEngine.UTF8_TAB = 9; openfl__$internal_text_TextEngine.UTF8_ENDLINE = 10; openfl__$internal_text_TextEngine.UTF8_SPACE = 32; openfl__$internal_text_TextEngine.UTF8_HYPHEN = 45; openfl__$internal_text_TextEngine.GUTTER = 2; openfl__$internal_text_TextEngine.__defaultFonts = new haxe_ds_StringMap(); openfl__$internal_text_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__$internal_text_TextLayout.FT_LOAD_DEFAULT = 0; openfl__$internal_text_TextLayout.FT_LOAD_NO_SCALE = 1; openfl__$internal_text_TextLayout.FT_LOAD_NO_HINTING = 2; openfl__$internal_text_TextLayout.FT_LOAD_RENDER = 4; openfl__$internal_text_TextLayout.FT_LOAD_NO_BITMAP = 8; openfl__$internal_text_TextLayout.FT_LOAD_VERTICAL_LAYOUT = 16; openfl__$internal_text_TextLayout.FT_LOAD_FORCE_AUTOHINT = 32; openfl__$internal_text_TextLayout.FT_LOAD_CROP_BITMAP = 64; openfl__$internal_text_TextLayout.FT_LOAD_PEDANTIC = 128; openfl__$internal_text_TextLayout.FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH = 256; openfl__$internal_text_TextLayout.FT_LOAD_NO_RECURSE = 512; openfl__$internal_text_TextLayout.FT_LOAD_IGNORE_TRANSFORM = 1024; openfl__$internal_text_TextLayout.FT_LOAD_MONOCHROME = 2048; openfl__$internal_text_TextLayout.FT_LOAD_LINEAR_DESIGN = 4096; openfl__$internal_text_TextLayout.FT_LOAD_NO_AUTOHINT = 8192; openfl__$internal_text_TextLayout.FT_LOAD_COLOR = 16384; openfl__$internal_text_TextLayout.FT_LOAD_COMPUTE_METRICS = 32768; openfl__$internal_text_TextLayout.FT_LOAD_BITMAP_METRICS_ONLY = 65536; openfl__$internal_text_TextLayout.FT_LOAD_TARGET_NORMAL = 0; openfl__$internal_text_TextLayout.FT_LOAD_TARGET_LIGHT = 0; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.INVALID = 0; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.LEFT_TO_RIGHT = 4; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.RIGHT_TO_LEFT = 5; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.TOP_TO_BOTTOM = 6; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.BOTTOM_TO_TOP = 7; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.COMMON = "Zyyy"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.INHERITED = "Zinh"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.UNKNOWN = "Zzzz"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ARABIC = "Arab"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ARMENIAN = "Armn"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BENGALI = "Beng"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CYRILLIC = "Cyrl"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.DEVANAGARI = "Deva"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GEORGIAN = "Geor"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GREEK = "Grek"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GUJARATI = "Gujr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GURMUKHI = "Guru"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HANGUL = "Hang"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HAN = "Hani"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HEBREW = "Hebr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HIRAGANA = "Hira"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KANNADA = "Knda"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KATAKANA = "Kana"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LAO = "Laoo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LATIN = "Latn"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MALAYALAM = "Mlym"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ORIYA = "Orya"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAMIL = "Taml"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TELUGA = "Telu"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.THAI = "Thai"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TIBETAN = "Tibt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BOPOMOFO = "Bopo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BRAILLE = "Brai"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CANADIAN_SYLLABICS = "Cans"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CHEROKEE = "Cher"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ETHIOPIC = "Ethi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KHMER = "Khmr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MONGOLIAN = "Mong"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MYANMAR = "Mymr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OGHAM = "Ogam"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.RUNIC = "Runr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SINHALA = "Sinh"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SYRIAC = "Syrc"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.THAANA = "Thaa"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.YI = "Yiii"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.DESERET = "Dsrt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GOTHIC = "Goth"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_ITALIC = "Ital"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BUHID = "Buhd"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HANUNOO = "Hano"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAGALOG = "Tglg"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAGBANWA = "Tagb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CYPRIOT = "Cprt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LIMBU = "Limb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LINEAR_B = "Linb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OSMANYA = "Osma"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SHAVIAN = "Shaw"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAI_LE = "Tale"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.UGARITIC = "Ugar"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BUGINESE = "Bugi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.COPTIC = "Copt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GLAGOLITIC = "Glag"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KHAROSHTHI = "Khar"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.NEW_TAI_LUE = "Talu"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_PERSIAN = "Xpeo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SYLOTI_NAGRI = "Sylo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TIFINAGH = "Tfng"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BALINESE = "Bali"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CUNEIFORM = "Xsux"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.NKO = "Nkoo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PHAGS_PA = "Phag"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PHOENICIAN = "Phnx"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CARIAN = "Cari"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CHAM = "Cham"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KAYAH_LI = "Kali"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LEPCHA = "Lepc"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LYCIAN = "Lyci"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LYDIAN = "Lydi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OL_CHIKI = "Olck"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.REJANG = "Rjng"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SAURASHTRA = "Saur"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SUNDANESE = "Sund"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.VAI = "Vaii"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.AVESTAN = "Avst"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BAMUM = "Bamu"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.EGYPTIAN_HIEROGLYPHS = "Egyp"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.IMPERIAL_ARAMAIC = "Armi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.INSCRIPTIONAL_PAHLAVI = "Phli"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.INSCRIPTIONAL_PARTHIAN = "Prti"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.JAVANESE = "Java"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KAITHI = "Kthi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LISU = "Lisu"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MEETEI_MAYEK = "Mtei"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_SOUTH_ARABIAN = "Sarb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_TURKIC = "Orkh"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SAMARITAN = "Samr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAI_THAM = "Lana"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAI_VIET = "Tavt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BATAK = "Batk"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BRAHMI = "Brah"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MANDAIC = "Mand"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CHAKMA = "Cakm"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MEROITIC_CURSIVE = "Merc"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MEROITIC_HIEROGLYPHS = "Mero"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MIAO = "Plrd"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SHARADA = "Shrd"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SORA_SOMPENG = "Sora"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAKRI = "Takr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BASSA_VAH = "Bass"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CAUCASIAN_ALBANIAN = "Aghb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.DUPLOYAN = "Dupl"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ELBASAN = "Elba"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GRANTHA = "Gran"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KHOJKI = "Khoj"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KHUDAWADI = "Sind"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LINEAR_A = "Lina"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MAHAJANI = "Mahj"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MANICHAEAN = "Mani"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MENDE_KIKAKUI = "Mend"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MODI = "Modi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MRO = "Mroo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.NABATAEAN = "Nbat"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_NORTH_ARABIAN = "Narb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_PERMIC = "Perm"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PAHAWH_HMONG = "Hmng"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PALMYRENE = "Palm"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PAU_CIN_HAU = "Pauc"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PSALTER_PAHLAVI = "Phlp"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SIDDHAM = "Sidd"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TIRHUTA = "Tirh"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.WARANG_CITI = "Wara"; openfl__$internal_text_TextLayoutGroup.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_utils_AbstractNoise.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$internal_utils_PerlinNoise.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { P : { SuppressWarnings : ["checkstyle:ConstantName"]}}}; openfl__$internal_utils_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__$internal_utils_TouchData.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { touch : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$internal_utils_TouchData.__pool = new lime_utils_ObjectPool(function() { return new openfl__$internal_utils_TouchData(); },function(data) { data.reset(); }); 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__$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__$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__$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_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_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_Event.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_Event(null); },function(event) { event.__init(); }); openfl_events_AccelerometerEvent.UPDATE = "update"; openfl_events_AccelerometerEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_AccelerometerEvent(null); },function(event) { event.__init(); }); openfl_events_ActivityEvent.ACTIVITY = "activity"; openfl_events_ActivityEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_ActivityEvent(null); },function(event) { event.__init(); }); openfl_events_TextEvent.LINK = "link"; openfl_events_TextEvent.TEXT_INPUT = "textInput"; openfl_events_TextEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_TextEvent(null); },function(event) { event.__init(); }); openfl_events_ErrorEvent.ERROR = "error"; openfl_events_ErrorEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_ErrorEvent(null); },function(event) { event.__init(); }); 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_FocusEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_FocusEvent(null); },function(event) { event.__init(); }); openfl_events_FullScreenEvent.FULL_SCREEN = "fullScreen"; openfl_events_FullScreenEvent.FULL_SCREEN_INTERACTIVE_ACCEPTED = "fullScreenInteractiveAccepted"; openfl_events_FullScreenEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_FullScreenEvent(null); },function(event) { event.__init(); }); openfl_events_GameInputEvent.DEVICE_ADDED = "deviceAdded"; openfl_events_GameInputEvent.DEVICE_REMOVED = "deviceRemoved"; openfl_events_GameInputEvent.DEVICE_UNUSABLE = "deviceUnusable"; openfl_events_GameInputEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_GameInputEvent(null); },function(event) { event.__init(); }); openfl_events_HTTPStatusEvent.HTTP_RESPONSE_STATUS = "httpResponseStatus"; openfl_events_HTTPStatusEvent.HTTP_STATUS = "httpStatus"; openfl_events_HTTPStatusEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_HTTPStatusEvent(null); },function(event) { event.__init(); }); openfl_events_IOErrorEvent.IO_ERROR = "ioError"; openfl_events_IOErrorEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_IOErrorEvent(null); },function(event) { event.__init(); }); openfl_events_KeyboardEvent.KEY_DOWN = "keyDown"; openfl_events_KeyboardEvent.KEY_UP = "keyUp"; openfl_events_KeyboardEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_KeyboardEvent(null); },function(event) { event.__init(); }); 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_MouseEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_MouseEvent(null); },function(event) { event.__init(); }); openfl_events_NetStatusEvent.NET_STATUS = "netStatus"; openfl_events_NetStatusEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_NetStatusEvent(null); },function(event) { event.__init(); }); openfl_events_ProgressEvent.PROGRESS = "progress"; openfl_events_ProgressEvent.SOCKET_DATA = "socketData"; openfl_events_ProgressEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_ProgressEvent(null); },function(event) { event.__init(); }); 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_RenderEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_RenderEvent(null); },function(event) { event.__init(); }); openfl_events_SecurityErrorEvent.SECURITY_ERROR = "securityError"; openfl_events_SecurityErrorEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_SecurityErrorEvent(null); },function(event) { event.__init(); }); 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_TouchEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_TouchEvent(null); },function(event) { event.__init(); }); openfl_events_UncaughtErrorEvent.UNCAUGHT_ERROR = "uncaughtError"; openfl_events_UncaughtErrorEvent.__pool = new lime_utils_ObjectPool(function() { return new openfl_events_UncaughtErrorEvent(null); },function(event) { event.__init(); }); 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_TextField.__missingFontWarning = new haxe_ds_StringMap(); 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_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"]}}; 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["ActualPixelDayLmao"] = $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=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;o0?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=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;u0?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),(on&&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=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=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=0&&n._howls.splice(a,1);var u=!0;for(t=0;t=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=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=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=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;a0?(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;a0?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=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>>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;a4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&a1?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>>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.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=ht&&(t.ins_h=(t.ins_h<=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<=ht&&(t.ins_h=(t.ins_h<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<=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]&&nt.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||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.gzindexd&&(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.gzindexd&&(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<>>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,g-=y),g<15&&(b+=E[r++]<>>24,b>>>=y,g-=y,y=k>>>16&255,!(16&y)){if(0===(64&y)){k=w[(65535&k)+(b&(1<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,y2;)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>3,r-=x,g-=x<<3,b&=(1<>>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.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>>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<>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++]<>>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++]<>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++]<>>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>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++]<>>=7&u,u-=7&u,a.mode=ht;break}for(;u<3;){if(0===l)break t;l--,_+=n[s++]<>>=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++]<>>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++]<>>=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>>=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>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;u>>=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>>=gt,u-=gt,yt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;u>>=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<>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=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>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=rt;case rt:for(;St=a.distcode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<>>=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>>=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++]<=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;C0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;Zr||t===h&&T>s)return 1;for(var Y=0;;){Y++,B=Z-I,m[R]z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<>I)+v]=B<<24|S<<16|E|0;while(0!==v);for(p=1<>=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<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<>W-t.bi_valid,t.bi_valid+=a-W):(t.bi_buf|=e<>>=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;ac&&(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>=7;i8?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]>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=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>>=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;e0?(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; }