Section 1
//CampaignInfo (com.google.analytics.campaign.CampaignInfo)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignInfo {
private var _new:Boolean;
private var _empty:Boolean;
public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){
_empty = _arg1;
_new = _arg2;
}
public function isEmpty():Boolean{
return (_empty);
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (((!(isEmpty())) && (isNew()))){
_local1.utmcn = utmcn;
};
if (((!(isEmpty())) && (!(isNew())))){
_local1.utmcr = utmcr;
};
return (_local1);
}
public function isNew():Boolean{
return (_new);
}
public function get utmcn():String{
return ("1");
}
public function get utmcr():String{
return ("1");
}
}
}//package com.google.analytics.campaign
Section 2
//CampaignKey (com.google.analytics.campaign.CampaignKey)
package com.google.analytics.campaign {
public class CampaignKey {
public var UCMD:String;// = "utm_medium"
public var UCID:String;// = "utm_id"
public var UCTR:String;// = "utm_term"
public var UCSR:String;// = "utm_source"
public var UCNO:String;// = "utm_nooverride"
public var UCCN:String;// = "utm_campaign"
public var UGCLID:String;// = "gclid"
public var UCCT:String;// = "utm_content"
}
}//package com.google.analytics.campaign
Section 3
//CampaignManager (com.google.analytics.campaign.CampaignManager)
package com.google.analytics.campaign {
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import com.google.analytics.utils.*;
public class CampaignManager {
private var _config:Configuration;
private var _domainHash:Number;
private var _debug:DebugConfiguration;
private var _timeStamp:Number;
private var _referrer:String;
private var _buffer:Buffer;
public static const trackingDelimiter:String = "|";
public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_domainHash = _arg4;
_referrer = _arg5;
_timeStamp = _arg6;
}
public function hasNoOverride(_arg1:String):Boolean{
var _local2:CampaignKey;
var _local3:Variables;
var _local4:String;
_local2 = _config.campaignKey;
if (_arg1 == ""){
return (false);
};
_local3 = new Variables(_arg1);
_local4 = "";
if (_local3.hasOwnProperty(_local2.UCNO)){
_local4 = _local3[_local2.UCNO];
switch (_local4){
case "1":
return (true);
case "":
case "0":
default:
return (false);
};
};
return (false);
}
public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{
var _local3:CampaignInfo;
var _local4:CampaignTracker;
var _local5:Boolean;
var _local6:Boolean;
var _local7:int;
var _local8:CampaignTracker;
var _local9:int;
_local3 = new CampaignInfo();
_local5 = false;
_local6 = false;
_local7 = 0;
if (((_config.allowLinker) && (_buffer.isGenuine()))){
if (!_buffer.hasUTMZ()){
return (_local3);
};
};
_local4 = getTrackerFromSearchString(_arg1);
if (isValid(_local4)){
_local6 = hasNoOverride(_arg1);
if (((_local6) && (!(_buffer.hasUTMZ())))){
return (_local3);
};
};
if (!isValid(_local4)){
_local4 = getOrganicCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){
return (_local3);
};
};
if (((!(isValid(_local4))) && (_arg2))){
_local4 = getReferrerCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){
return (_local3);
};
};
if (!isValid(_local4)){
if (((!(_buffer.hasUTMZ())) && (_arg2))){
_local4 = getDirectCampaign();
};
};
if (!isValid(_local4)){
return (_local3);
};
if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){
_local8 = new CampaignTracker();
_local8.fromTrackerString(_buffer.utmz.campaignTracking);
_local5 = (_local8.toTrackerString() == _local4.toTrackerString());
_local7 = _buffer.utmz.responseCount;
};
if (((!(_local5)) || (_arg2))){
_local9 = _buffer.utma.sessionCount;
_local7++;
if (_local9 == 0){
_local9 = 1;
};
_buffer.utmz.domainHash = _domainHash;
_buffer.utmz.campaignCreation = _timeStamp;
_buffer.utmz.campaignSessions = _local9;
_buffer.utmz.responseCount = _local7;
_buffer.utmz.campaignTracking = _local4.toTrackerString();
_debug.info(_buffer.utmz.toString(), VisualDebugMode.geek);
_local3 = new CampaignInfo(false, true);
} else {
_local3 = new CampaignInfo(false, false);
};
return (_local3);
}
public function isValid(_arg1:CampaignTracker):Boolean{
if (((_arg1) && (_arg1.isValid()))){
return (true);
};
return (false);
}
public function getTrackerFromSearchString(_arg1:String):CampaignTracker{
var _local2:CampaignTracker;
var _local3:CampaignTracker;
var _local4:CampaignKey;
var _local5:Variables;
_local2 = getOrganicCampaign();
_local3 = new CampaignTracker();
_local4 = _config.campaignKey;
if (_arg1 == ""){
return (_local3);
};
_local5 = new Variables(_arg1);
if (_local5.hasOwnProperty(_local4.UCID)){
_local3.id = _local5[_local4.UCID];
};
if (_local5.hasOwnProperty(_local4.UCSR)){
_local3.source = _local5[_local4.UCSR];
};
if (_local5.hasOwnProperty(_local4.UGCLID)){
_local3.clickId = _local5[_local4.UGCLID];
};
if (_local5.hasOwnProperty(_local4.UCCN)){
_local3.name = _local5[_local4.UCCN];
} else {
_local3.name = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCMD)){
_local3.medium = _local5[_local4.UCMD];
} else {
_local3.medium = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCTR)){
_local3.term = _local5[_local4.UCTR];
} else {
if (((_local2) && (!((_local2.term == ""))))){
_local3.term = _local2.term;
};
};
if (_local5.hasOwnProperty(_local4.UCCT)){
_local3.content = _local5[_local4.UCCT];
};
return (_local3);
}
public function getOrganicCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local2:URL;
var _local3:String;
var _local4:Array;
var _local5:OrganicReferrer;
var _local6:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
_local2 = new URL(_referrer);
_local3 = "";
if (_local2.hostName != ""){
if (_local2.hostName.indexOf(".") > -1){
_local4 = _local2.hostName.split(".");
switch (_local4.length){
case 2:
_local3 = _local4[0];
break;
case 3:
_local3 = _local4[1];
break;
};
};
};
if (_config.organic.match(_local3)){
_local5 = _config.organic.getReferrerByName(_local3);
_local6 = _config.organic.getKeywordValue(_local5, _local2.search);
_local1 = new CampaignTracker();
_local1.source = _local5.engine;
_local1.name = "(organic)";
_local1.medium = "organic";
_local1.term = _local6;
};
return (_local1);
}
public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "referral")))){
return (_config.organic.isIgnoredReferral(_arg1.source));
};
return (false);
}
public function getDirectCampaign():CampaignTracker{
var _local1:CampaignTracker;
_local1 = new CampaignTracker();
_local1.source = "(direct)";
_local1.name = "(direct)";
_local1.medium = "(none)";
return (_local1);
}
public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "organic")))){
return (_config.organic.isIgnoredKeyword(_arg1.term));
};
return (false);
}
public function getReferrerCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local2:URL;
var _local3:String;
var _local4:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
_local2 = new URL(_referrer);
_local3 = _local2.hostName;
_local4 = _local2.path;
if (_local3.indexOf("www.") == 0){
_local3 = _local3.substr(4);
};
_local1 = new CampaignTracker();
_local1.source = _local3;
_local1.name = "(referral)";
_local1.medium = "referral";
_local1.content = _local4;
return (_local1);
}
public static function isInvalidReferrer(_arg1:String):Boolean{
var _local2:URL;
if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){
return (true);
};
if (_arg1.indexOf("://") > -1){
_local2 = new URL(_arg1);
if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){
return (true);
};
};
return (false);
}
public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{
var _local3:URL;
_local3 = new URL(_arg1);
if (_local3.hostName.indexOf(_arg2.google) > -1){
if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){
if (_local3.path == ("/" + _arg2.googleCsePath)){
return (true);
};
};
};
return (false);
}
}
}//package com.google.analytics.campaign
Section 4
//CampaignTracker (com.google.analytics.campaign.CampaignTracker)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignTracker {
public var content:String;
public var source:String;
public var clickId:String;
public var name:String;
public var term:String;
public var medium:String;
public var id:String;
public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){
this.id = _arg1;
this.source = _arg2;
this.clickId = _arg3;
this.name = _arg4;
this.medium = _arg5;
this.term = _arg6;
this.content = _arg7;
}
public function isValid():Boolean{
if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){
return (true);
};
return (false);
}
public function toTrackerString():String{
var _local1:Array = [];
_addIfNotEmpty(_local1, "utmcsr=", source);
_addIfNotEmpty(_local1, "utmccn=", name);
_addIfNotEmpty(_local1, "utmcmd=", medium);
_addIfNotEmpty(_local1, "utmctr=", term);
_addIfNotEmpty(_local1, "utmcct=", content);
_addIfNotEmpty(_local1, "utmcid=", id);
_addIfNotEmpty(_local1, "utmgclid=", clickId);
return (_local1.join(CampaignManager.trackingDelimiter));
}
private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{
if (_arg3 != ""){
_arg3 = _arg3.split("+").join("%20");
_arg3 = _arg3.split(" ").join("%20");
_arg1.push((_arg2 + _arg3));
};
}
public function fromTrackerString(_arg1:String):void{
var _local2:String = _arg1.split(CampaignManager.trackingDelimiter).join("&");
var _local3:Variables = new Variables(_local2);
if (_local3.hasOwnProperty("utmcid")){
this.id = _local3["utmcid"];
};
if (_local3.hasOwnProperty("utmcsr")){
this.source = _local3["utmcsr"];
};
if (_local3.hasOwnProperty("utmccn")){
this.name = _local3["utmccn"];
};
if (_local3.hasOwnProperty("utmcmd")){
this.medium = _local3["utmcmd"];
};
if (_local3.hasOwnProperty("utmctr")){
this.term = _local3["utmctr"];
};
if (_local3.hasOwnProperty("utmcct")){
this.content = _local3["utmcct"];
};
if (_local3.hasOwnProperty("utmgclid")){
this.clickId = _local3["utmgclid"];
};
}
}
}//package com.google.analytics.campaign
Section 5
//FlashTracker (com.google.analytics.components.FlashTracker)
package com.google.analytics.components {
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.events.*;
import flash.display.*;
import com.google.analytics.utils.*;
import com.google.analytics.external.*;
import com.google.analytics.*;
import flash.utils.*;
import com.google.analytics.events.*;
public class FlashTracker extends Sprite implements AnalyticsTracker {
private var _adSense:AdSenseGlobals;
private var _env:Environment;
protected var _height:Number;// = 18
private var _idleTimer:IdleTimer;
private var _config:Configuration;
private var _mode:String;// = "AS3"
private var _dom:HTMLDOM;
private var _ready:Boolean;// = false
protected var _width:Number;// = 18
private var _account:String;// = ""
protected var _componentInspectorSetting:Boolean;
private var _visualDebug:Boolean;// = false
public var boundingBox_mc:DisplayObject;
private var _debug:DebugConfiguration;
private var _buffer:Buffer;
private var _display:DisplayObject;
protected var livePreviewHeight:Number;
private var _jsproxy:JavascriptProxy;
protected var isLivePreview:Boolean;
protected var preview:MovieClip;
private var _gifRequest:GIFRequest;
protected var livePreviewWidth:Number;
private var _tracker:GoogleAnalyticsAPI;
public static var version:Version = API.version;
public function FlashTracker(){
_ready = false;
_account = "";
_mode = TrackerMode.AS3;
_visualDebug = false;
_width = 18;
_height = 18;
super();
_tracker = new TrackerCache();
isLivePreview = _checkLivePreview();
_componentInspectorSetting = false;
if (boundingBox_mc){
boundingBox_mc.visible = false;
removeChild(boundingBox_mc);
boundingBox_mc = null;
};
if (isLivePreview){
_createLivePreview();
};
addEventListener(Event.ENTER_FRAME, _factory);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4));
}
public function trackTrans():void{
_tracker.trackTrans();
}
private function _createLivePreview():void{
var _local1:Graphics;
var _local2:Class;
preview = new MovieClip();
_local1 = preview.graphics;
_local1.beginFill(0xFFFFFF);
_local1.moveTo(0, 0);
_local1.lineTo(0, _width);
_local1.lineTo(_width, _height);
_local1.lineTo(_height, 0);
_local1.lineTo(0, 0);
_local1.endFill();
_local2 = (getDefinitionByName("com.google.analytics.components::Icon") as Class);
preview.icon_mc = new (_local2);
preview.icon_mc.name = "icon_mc";
preview.addChild(preview.icon_mc);
addChild(preview);
}
public function trackPageview(_arg1:String=""):void{
_tracker.trackPageview(_arg1);
}
public function get account():String{
return (_account);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_tracker.linkByPost(_arg1, _arg2);
}
public function getDetectTitle():Boolean{
return (_tracker.getDetectTitle());
}
public function setCampNameKey(_arg1:String):void{
_tracker.setCampNameKey(_arg1);
}
public function resetSession():void{
_tracker.resetSession();
}
public function set account(_arg1:String):void{
_account = _arg1;
}
public function get debug():DebugConfiguration{
if (!_debug){
_createDebugAndConfig();
};
return (_debug);
}
public function createEventTracker(_arg1:String):EventTracker{
return (_tracker.createEventTracker(_arg1));
}
public function set config(_arg1:Configuration):void{
_config = _arg1;
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8));
}
public function setLocalServerMode():void{
_tracker.setLocalServerMode();
}
public function getLocalGifPath():String{
return (_tracker.getLocalGifPath());
}
public function clearIgnoredRef():void{
_tracker.clearIgnoredRef();
}
public function isReady():Boolean{
return (_ready);
}
public function set debug(_arg1:DebugConfiguration):void{
_debug = _arg1;
}
public function getVersion():String{
return (_tracker.getVersion());
}
public function setLocalRemoteServerMode():void{
_tracker.setLocalRemoteServerMode();
}
public function setCampNOKey(_arg1:String):void{
_tracker.setCampNOKey(_arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_tracker.addIgnoredOrganic(_arg1);
}
public function setCookiePath(_arg1:String):void{
_tracker.setCookiePath(_arg1);
}
public function setCampTermKey(_arg1:String):void{
_tracker.setCampTermKey(_arg1);
}
private function _trackerFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account));
_adSense = new AdSenseGlobals(debug);
_dom = new HTMLDOM(debug);
_dom.cacheProperties();
_env = new Environment("", "", "", debug, _dom);
_buffer = new Buffer(config, debug, false);
_gifRequest = new GIFRequest(config, debug, _buffer, _env);
_idleTimer = new IdleTimer(config, debug, _display, _buffer);
_env.url = _display.stage.loaderInfo.url;
return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense));
}
public function setCampaignTrack(_arg1:Boolean):void{
_tracker.setCampaignTrack(_arg1);
}
public function getServiceMode():ServerOperationMode{
return (_tracker.getServiceMode());
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_componentInspectorSetting = _arg1;
}
public function setSessionTimeout(_arg1:int):void{
_tracker.setSessionTimeout(_arg1);
}
public function setRemoteServerMode():void{
_tracker.setRemoteServerMode();
}
public function get visualDebug():Boolean{
return (_visualDebug);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_tracker.addOrganic(_arg1, _arg2);
}
public function setCookieTimeout(_arg1:int):void{
_tracker.setCookieTimeout(_arg1);
}
public function getClientInfo():Boolean{
return (_tracker.getClientInfo());
}
public function setAllowLinker(_arg1:Boolean):void{
_tracker.setAllowLinker(_arg1);
}
public function setClientInfo(_arg1:Boolean):void{
_tracker.setClientInfo(_arg1);
}
private function _bridgeFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account));
return (new Bridge(account, _debug, _jsproxy));
}
public function get config():Configuration{
if (!_config){
_createDebugAndConfig();
};
return (_config);
}
public function set mode(_arg1:String):void{
_mode = _arg1;
}
public function setDetectFlash(_arg1:Boolean):void{
_tracker.setDetectFlash(_arg1);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function setVar(_arg1:String):void{
_tracker.setVar(_arg1);
}
public function clearIgnoredOrganic():void{
_tracker.clearIgnoredOrganic();
}
public function setDomainName(_arg1:String):void{
_tracker.setDomainName(_arg1);
}
private function _checkLivePreview():Boolean{
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return (true);
};
return (false);
}
public function setCampSourceKey(_arg1:String):void{
_tracker.setCampSourceKey(_arg1);
}
public function setCampContentKey(_arg1:String):void{
_tracker.setCampContentKey(_arg1);
}
public function setSize(_arg1:Number, _arg2:Number):void{
}
public function setAllowAnchor(_arg1:Boolean):void{
_tracker.setAllowAnchor(_arg1);
}
public function setLocalGifPath(_arg1:String):void{
_tracker.setLocalGifPath(_arg1);
}
public function get mode():String{
return (_mode);
}
public function setSampleRate(_arg1:Number):void{
_tracker.setSampleRate(_arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_tracker.setAllowHash(_arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
_tracker.setDetectTitle(_arg1);
}
public function cookiePathCopy(_arg1:String):void{
_tracker.cookiePathCopy(_arg1);
}
private function _factory(_arg1:Event):void{
var _local2:GoogleAnalyticsAPI;
var _local3:TrackerCache;
removeEventListener(Event.ENTER_FRAME, _factory);
if (isLivePreview){
return;
};
_display = this;
_createDebugAndConfig();
if (visualDebug){
debug.layout = new Layout(debug, _display);
debug.active = visualDebug;
};
_jsproxy = new JavascriptProxy(debug);
_local3 = (_tracker as TrackerCache);
switch (mode){
case TrackerMode.BRIDGE:
_local2 = _bridgeFactory();
break;
case TrackerMode.AS3:
default:
_local2 = _trackerFactory();
};
if (!_local3.isEmpty()){
_local3.tracker = _local2;
_local3.flush();
};
_tracker = _local2;
_ready = true;
dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this));
}
public function getDetectFlash():Boolean{
return (_tracker.getDetectFlash());
}
public function clearOrganic():void{
_tracker.clearOrganic();
}
private function _createDebugAndConfig():void{
if (!_debug){
this.debug = new DebugConfiguration();
};
if (!_config){
this.config = new Configuration(debug);
};
}
public function addIgnoredRef(_arg1:String):void{
_tracker.addIgnoredRef(_arg1);
}
public function set visualDebug(_arg1:Boolean):void{
_visualDebug = _arg1;
}
public function setCampMediumKey(_arg1:String):void{
_tracker.setCampMediumKey(_arg1);
}
public function getAccount():String{
return (_tracker.getAccount());
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_tracker.link(_arg1, _arg2);
}
}
var _local1:* = ServerOperationMode;
return (_local1);
}//package com.google.analytics.components
Section 6
//Icon (com.google.analytics.components.Icon)
package com.google.analytics.components {
import flash.display.*;
public dynamic class Icon extends MovieClip {
}
}//package com.google.analytics.components
Section 7
//BrowserInfo (com.google.analytics.core.BrowserInfo)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.utils.*;
public class BrowserInfo {
private var _config:Configuration;
private var _info:Environment;
public function BrowserInfo(_arg1:Configuration, _arg2:Environment){
_config = _arg1;
_info = _arg2;
}
public function get utmul():String{
return (_info.language.toLowerCase());
}
public function get utmje():String{
return ("0");
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function get utmsr():String{
return (((_info.screenWidth + "x") + _info.screenHeight));
}
public function get utmcs():String{
return (_info.languageEncoding);
}
public function get utmfl():String{
var _local1:Version;
if (_config.detectFlash){
_local1 = _info.flashVersion;
return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build));
};
return ("-");
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
_local1.utmcs = utmcs;
_local1.utmsr = utmsr;
_local1.utmsc = utmsc;
_local1.utmul = utmul;
_local1.utmje = utmje;
_local1.utmfl = utmfl;
return (_local1);
}
public function get utmsc():String{
return ((_info.screenColorDepth + "-bit"));
}
}
}//package com.google.analytics.core
Section 8
//Buffer (com.google.analytics.core.Buffer)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.net.*;
import flash.events.*;
import com.google.analytics.data.*;
public dynamic class Buffer {
private var _SO:SharedObject;
private var _OBJ:Object;
private var _utma:UTMA;
private var _utmb:UTMB;
private var _utmc:UTMC;
private var _debug:DebugConfiguration;
private var _utmk:UTMK;
private var _config:Configuration;
private var _utmv:UTMV;
private var _utmz:UTMZ;
private var _volatile:Boolean;
public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){
var _local5:Boolean;
var _local6:String;
super();
_config = _arg1;
_debug = _arg2;
UTMB.defaultTimespan = _config.sessionTimeout;
UTMZ.defaultTimespan = _config.conversionTimeout;
if (!_arg3){
_SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath);
_local5 = false;
if (_SO.data.utma){
if (!hasUTMA()){
_createUMTA();
};
_utma.fromSharedObject(_SO.data.utma);
if (_debug.verbose){
_debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek);
};
if (_utma.isExpired()){
if (_debug.verbose){
_debug.warning("UTMA has expired", VisualDebugMode.advanced);
};
_clearUTMA();
_local5 = true;
};
};
if (_SO.data.utmb){
if (!hasUTMB()){
_createUMTB();
};
_utmb.fromSharedObject(_SO.data.utmb);
if (_debug.verbose){
_debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek);
};
if (_utmb.isExpired()){
if (_debug.verbose){
_debug.warning("UTMB has expired", VisualDebugMode.advanced);
};
_clearUTMB();
_local5 = true;
};
};
if (_SO.data.utmc){
delete _SO.data.utmc;
_local5 = true;
};
if (_SO.data.utmk){
if (!hasUTMK()){
_createUMTK();
};
_utmk.fromSharedObject(_SO.data.utmk);
if (_debug.verbose){
_debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek);
};
};
if (_SO.data.utmv){
if (!hasUTMV()){
_createUMTV();
};
_utmv.fromSharedObject(_SO.data.utmv);
if (_debug.verbose){
_debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek);
};
if (_utmv.isExpired()){
if (_debug.verbose){
_debug.warning("UTMV has expired", VisualDebugMode.advanced);
};
_clearUTMV();
_local5 = true;
};
};
if (_SO.data.utmz){
if (!hasUTMZ()){
_createUMTZ();
};
_utmz.fromSharedObject(_SO.data.utmz);
if (_debug.verbose){
_debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek);
};
if (_utmz.isExpired()){
if (_debug.verbose){
_debug.warning("UTMZ has expired", VisualDebugMode.advanced);
};
_clearUTMZ();
_local5 = true;
};
};
if (_local5){
save();
};
} else {
_OBJ = new Object();
if (_arg4){
for (_local6 in _arg4) {
_OBJ[_local6] = _arg4[_local6];
};
};
};
_volatile = _arg3;
}
public function clearCookies():void{
utma.reset();
utmb.reset();
utmc.reset();
utmz.reset();
utmv.reset();
utmk.reset();
}
public function save():void{
var flushStatus:String;
if (!isVolatile()){
flushStatus = null;
try {
flushStatus = _SO.flush();
} catch(e:Error) {
_debug.warning("Error...Could not write SharedObject to disk");
};
switch (flushStatus){
case SharedObjectFlushStatus.PENDING:
_debug.info("Requesting permission to save object...");
_SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
break;
case SharedObjectFlushStatus.FLUSHED:
_debug.info("Value flushed to disk.");
break;
};
};
}
public function get utmv():UTMV{
if (!hasUTMV()){
_createUMTV();
};
return (_utmv);
}
public function get utmz():UTMZ{
if (!hasUTMZ()){
_createUMTZ();
};
return (_utmz);
}
public function hasUTMA():Boolean{
if (_utma){
return (true);
};
return (false);
}
public function hasUTMB():Boolean{
if (_utmb){
return (true);
};
return (false);
}
public function hasUTMC():Boolean{
if (_utmc){
return (true);
};
return (false);
}
public function isGenuine():Boolean{
if (!hasUTMK()){
return (true);
};
return ((utmk.hash == generateCookiesHash()));
}
public function resetCurrentSession():void{
_clearUTMB();
_clearUTMC();
save();
}
public function hasUTMK():Boolean{
if (_utmk){
return (true);
};
return (false);
}
public function generateCookiesHash():Number{
var _local1 = "";
_local1 = (_local1 + utma.valueOf());
_local1 = (_local1 + utmb.valueOf());
_local1 = (_local1 + utmc.valueOf());
_local1 = (_local1 + utmz.valueOf());
_local1 = (_local1 + utmv.valueOf());
return (Utils.generateHash(_local1));
}
private function _createUMTB():void{
_utmb = new UTMB();
_utmb.proxy = this;
}
private function _createUMTC():void{
_utmc = new UTMC();
}
private function _createUMTA():void{
_utma = new UTMA();
_utma.proxy = this;
}
public function hasUTMV():Boolean{
if (_utmv){
return (true);
};
return (false);
}
private function _createUMTK():void{
_utmk = new UTMK();
_utmk.proxy = this;
}
public function hasUTMZ():Boolean{
if (_utmz){
return (true);
};
return (false);
}
private function _createUMTV():void{
_utmv = new UTMV();
_utmv.proxy = this;
}
private function _onFlushStatus(_arg1:NetStatusEvent):void{
_debug.info("User closed permission dialog...");
switch (_arg1.info.code){
case "SharedObject.Flush.Success":
_debug.info("User granted permission -- value saved.");
break;
case "SharedObject.Flush.Failed":
_debug.info("User denied permission -- value not saved.");
break;
};
_SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
}
private function _createUMTZ():void{
_utmz = new UTMZ();
_utmz.proxy = this;
}
public function updateUTMA(_arg1:Number):void{
if (_debug.verbose){
_debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced);
};
if (!utma.isEmpty()){
if (isNaN(utma.sessionCount)){
utma.sessionCount = 1;
} else {
utma.sessionCount = (utma.sessionCount + 1);
};
utma.lastTime = utma.currentTime;
utma.currentTime = _arg1;
};
}
private function _clearUTMA():void{
_utma = null;
if (!isVolatile()){
_SO.data.utma = null;
delete _SO.data.utma;
};
}
private function _clearUTMC():void{
_utmc = null;
}
private function _clearUTMB():void{
_utmb = null;
if (!isVolatile()){
_SO.data.utmb = null;
delete _SO.data.utmb;
};
}
public function update(_arg1:String, _arg2):void{
if (isVolatile()){
_OBJ[_arg1] = _arg2;
} else {
_SO.data[_arg1] = _arg2;
};
}
private function _clearUTMZ():void{
_utmz = null;
if (!isVolatile()){
_SO.data.utmz = null;
delete _SO.data.utmz;
};
}
private function _clearUTMV():void{
_utmv = null;
if (!isVolatile()){
_SO.data.utmv = null;
delete _SO.data.utmv;
};
}
public function isVolatile():Boolean{
return (_volatile);
}
public function get utma():UTMA{
if (!hasUTMA()){
_createUMTA();
};
return (_utma);
}
public function get utmb():UTMB{
if (!hasUTMB()){
_createUMTB();
};
return (_utmb);
}
public function get utmc():UTMC{
if (!hasUTMC()){
_createUMTC();
};
return (_utmc);
}
public function get utmk():UTMK{
if (!hasUTMK()){
_createUMTK();
};
return (_utmk);
}
}
}//package com.google.analytics.core
Section 9
//DocumentInfo (com.google.analytics.core.DocumentInfo)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.utils.*;
import com.google.analytics.external.*;
public class DocumentInfo {
private var _config:Configuration;
private var _utmr:String;
private var _adSense:AdSenseGlobals;
private var _info:Environment;
private var _pageURL:String;
public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){
_config = _arg1;
_info = _arg2;
_utmr = _arg3;
_pageURL = _arg4;
_adSense = _arg5;
}
public function get utmr():String{
if (!_utmr){
return ("-");
};
return (_utmr);
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
private function _renderPageURL(_arg1:String=""):String{
var _local2:String;
var _local3:String;
_local2 = _info.locationPath;
_local3 = _info.locationSearch;
if (((!(_arg1)) || ((_arg1 == "")))){
_arg1 = (_local2 + unescape(_local3));
};
return (_arg1);
}
public function get utmp():String{
return (_renderPageURL(_pageURL));
}
private function _generateHitId():Number{
var _local1:Number;
if (((_adSense.hid) && (!((_adSense.hid == ""))))){
_local1 = Number(_adSense.hid);
} else {
_local1 = Math.round((Math.random() * 2147483647));
_adSense.hid = String(_local1);
};
return (_local1);
}
public function get utmhid():String{
return (String(_generateHitId()));
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (((_config.detectTitle) && (!((utmdt == ""))))){
_local1.utmdt = utmdt;
};
_local1.utmhid = utmhid;
_local1.utmr = utmr;
_local1.utmp = utmp;
return (_local1);
}
public function get utmdt():String{
return (_info.documentTitle);
}
}
}//package com.google.analytics.core
Section 10
//Domain (com.google.analytics.core.Domain)
package com.google.analytics.core {
import com.google.analytics.debug.*;
public class Domain {
private var _mode:DomainNameMode;
private var _debug:DebugConfiguration;
private var _name:String;
public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){
_debug = _arg3;
if (_arg1 == null){
_arg1 = DomainNameMode.auto;
};
_mode = _arg1;
if (_arg1 == DomainNameMode.custom){
this.name = _arg2;
} else {
_name = _arg2;
};
}
public function get mode():DomainNameMode{
return (_mode);
}
public function set mode(_arg1:DomainNameMode):void{
_mode = _arg1;
if (_mode == DomainNameMode.none){
_name = "";
};
}
public function get name():String{
return (_name);
}
public function set name(_arg1:String):void{
if (((!((_arg1.charAt(0) == "."))) && (_debug))){
_debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek);
};
_name = _arg1;
}
}
}//package com.google.analytics.core
Section 11
//DomainNameMode (com.google.analytics.core.DomainNameMode)
package com.google.analytics.core {
public class DomainNameMode {
private var _value:int;
private var _name:String;
public static const custom:DomainNameMode = new DomainNameMode(2, "custom");
;
public static const none:DomainNameMode = new DomainNameMode(0, "none");
;
public static const auto:DomainNameMode = new DomainNameMode(1, "auto");
;
public function DomainNameMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 12
//EventInfo (com.google.analytics.core.EventInfo)
package com.google.analytics.core {
import com.google.analytics.data.*;
import com.google.analytics.utils.*;
public class EventInfo {
private var _isEventHit:Boolean;
private var _ext10:X10;
private var _x10:X10;
public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){
_isEventHit = _arg1;
_x10 = _arg2;
_ext10 = _arg3;
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function get utmt():String{
return ("event");
}
public function get utme():String{
return (_x10.renderMergedUrlString(_ext10));
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (_isEventHit){
_local1.utmt = utmt;
};
_local1.utme = utme;
return (_local1);
}
}
}//package com.google.analytics.core
Section 13
//EventTracker (com.google.analytics.core.EventTracker)
package com.google.analytics.core {
import com.google.analytics.v4.*;
public class EventTracker {
private var _parent:GoogleAnalyticsAPI;
public var name:String;
public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){
this.name = _arg1;
_parent = _arg2;
}
public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{
return (_parent.trackEvent(name, _arg1, _arg2, _arg3));
}
}
}//package com.google.analytics.core
Section 14
//ga_internal (com.google.analytics.core.ga_internal)
package com.google.analytics.core {
public namespace ga_internal;
}//package com.google.analytics.core
Section 15
//GIFRequest (com.google.analytics.core.GIFRequest)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.net.*;
import flash.events.*;
import flash.display.*;
import com.google.analytics.utils.*;
import flash.system.*;
public class GIFRequest {
private var _info:Environment;
private var _count:int;
private var _utmac:String;
private var _alertcount:int;
private var _debug:DebugConfiguration;
private var _lastRequest:URLRequest;
private var _buffer:Buffer;
private var _config:Configuration;
private var _requests:Array;
public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_info = _arg4;
_count = 0;
_alertcount = 0;
_requests = [];
}
public function get utmn():String{
return ((Utils.generate32bitRandom() as String));
}
public function onIOError(_arg1:IOErrorEvent):void{
var _local2:String = _lastRequest.url;
var _local3:String = String((_requests.length - 1));
var _local4 = (("Gif Request #" + _local3) + " failed");
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local2.indexOf("?") > -1){
_local2 = _local2.split("?")[0];
};
_local2 = _shortenURL(_local2);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable"));
};
_debug.failure(_local4);
} else {
_debug.warning(_local4);
};
_removeListeners(_arg1.target);
}
public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{
var _local5:String;
var _local6:URLRequest;
var _local7:URLRequest;
_utmac = _arg1;
if (!_arg2){
_arg2 = new Variables();
};
_arg2.URIencode = false;
_arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"];
_arg2.post = ["utmcc"];
if (_debug.verbose){
_debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek);
};
if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){
if (_arg4){
updateToken();
};
if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){
if (((!(_arg3)) && (_arg4))){
_buffer.utmb.token = (_buffer.utmb.token - 1);
};
_buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1);
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
_arg2.utmwv = utmwv;
_arg2.utmn = Utils.generate32bitRandom();
if (_info.domainName != ""){
_arg2.utmhn = _info.domainName;
};
if (_config.sampleRate < 1){
_arg2.utmsp = (_config.sampleRate * 100);
};
if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){
_local5 = _info.locationSWFPath;
if (_local5.lastIndexOf("/") > 0){
_local5 = _local5.substring(0, _local5.lastIndexOf("/"));
};
_local6 = new URLRequest();
if (_config.localGIFpath.indexOf("http") == 0){
_local6.url = _config.localGIFpath;
} else {
_local6.url = (_local5 + _config.localGIFpath);
};
_local6.url = (_local6.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local6);
} else {
sendRequest(_local6);
};
};
if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){
_local7 = new URLRequest();
if (_info.protocol == Protocols.HTTPS){
_local7.url = _config.secureRemoteGIFpath;
} else {
if (_info.protocol == Protocols.HTTP){
_local7.url = _config.remoteGIFpath;
} else {
_local7.url = _config.remoteGIFpath;
};
};
_arg2.utmac = utmac;
_arg2.utmcc = encodeURIComponent(utmcc);
_local7.url = (_local7.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local7);
} else {
sendRequest(_local7);
};
};
};
};
}
public function onSecurityError(_arg1:SecurityErrorEvent):void{
if (_debug.GIFRequests){
_debug.failure(_arg1.text);
};
}
public function get utmsp():String{
return (((_config.sampleRate * 100) as String));
}
public function get utmcc():String{
var _local1:Array = [];
if (_buffer.hasUTMA()){
_local1.push((_buffer.utma.toURLString() + ";"));
};
if (_buffer.hasUTMZ()){
_local1.push((_buffer.utmz.toURLString() + ";"));
};
if (_buffer.hasUTMV()){
_local1.push((_buffer.utmv.toURLString() + ";"));
};
return (_local1.join("+"));
}
public function get utmac():String{
return (_utmac);
}
public function get utmwv():String{
return (_config.version);
}
public function sendRequest(_arg1:URLRequest):void{
var request = _arg1;
var loader:Loader = new Loader();
loader.name = String(_count++);
var context:LoaderContext = new LoaderContext(false);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
_lastRequest = request;
_requests[loader.name] = new RequestObject(request);
try {
loader.load(request, context);
} catch(e:Error) {
_debug.failure("\"Loader.load()\" could not instanciate Gif Request");
};
}
private function _removeListeners(_arg1:Object):void{
_arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
_arg1.removeEventListener(Event.COMPLETE, onComplete);
}
public function updateToken():void{
var _local2:Number;
var _local1:Number = new Date().getTime();
_local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000));
if (_debug.verbose){
_debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek);
};
if (_local2 >= 1){
_buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity);
_buffer.utmb.lastTime = _local1;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
};
}
public function get utmhn():String{
return (_info.domainName);
}
private function _shortenURL(_arg1:String):String{
var _local2:Array;
if (_arg1.length > 60){
_local2 = _arg1.split("/");
while (_arg1.length > 60) {
_local2.shift();
_arg1 = ("../" + _local2.join("/"));
};
};
return (_arg1);
}
private function _debugSend(_arg1:URLRequest):void{
var _local3:String;
var _local2 = "";
switch (_debug.mode){
case VisualDebugMode.geek:
_local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url);
break;
case VisualDebugMode.advanced:
_local3 = _arg1.url;
if (_local3.indexOf("?") > -1){
_local3 = _local3.split("?")[0];
};
_local3 = _shortenURL(_local3);
_local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?");
break;
case VisualDebugMode.basic:
default:
_local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?");
};
_debug.alertGifRequest(_local2, _arg1, this);
_alertcount++;
}
public function onComplete(_arg1:Event):void{
var _local2:String = _arg1.target.loader.name;
_requests[_local2].complete();
var _local3 = (("Gif Request #" + _local2) + " sent");
var _local4:String = _requests[_local2].request.url;
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local4.indexOf("?") > -1){
_local4 = _local4.split("?")[0];
};
_local4 = _shortenURL(_local4);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local3 = (_local3 + ((" to \"" + _local4) + "\""));
};
_debug.success(_local3);
} else {
_debug.info(_local3);
};
_removeListeners(_arg1.target);
}
}
}//package com.google.analytics.core
Section 16
//IdleTimer (com.google.analytics.core.IdleTimer)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class IdleTimer {
private var _loop:Timer;
private var _stage:Stage;
private var _lastMove:int;
private var _debug:DebugConfiguration;
private var _session:Timer;
private var _inactivity:Number;
private var _buffer:Buffer;
public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){
var _local5:Number;
var _local6:Number;
var _local7:Number;
super();
_local5 = _arg1.idleLoop;
_local6 = _arg1.idleTimeout;
_local7 = _arg1.sessionTimeout;
_loop = new Timer((_local5 * 1000));
_session = new Timer((_local7 * 1000), 1);
_debug = _arg2;
_stage = _arg3.stage;
_buffer = _arg4;
_lastMove = getTimer();
_inactivity = (_local6 * 1000);
_loop.addEventListener(TimerEvent.TIMER, checkForIdle);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
_debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek);
_loop.start();
}
private function onMouseMove(_arg1:MouseEvent):void{
_lastMove = getTimer();
if (_session.running){
_debug.info("session timer reset", VisualDebugMode.geek);
_session.reset();
};
}
public function endSession(_arg1:TimerEvent):void{
_session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_debug.info("session timer end session", VisualDebugMode.geek);
_session.reset();
_buffer.resetCurrentSession();
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.geek);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
}
public function checkForIdle(_arg1:TimerEvent):void{
var _local2:int;
_local2 = getTimer();
if ((_local2 - _lastMove) >= _inactivity){
if (!_session.running){
_debug.info("session timer start", VisualDebugMode.geek);
_session.start();
};
};
}
}
}//package com.google.analytics.core
Section 17
//Organic (com.google.analytics.core.Organic)
package com.google.analytics.core {
import com.google.analytics.utils.*;
public class Organic {
private var _sourcesCache:Array;
private var _sourcesEngine:Array;
private var _ignoredKeywords:Array;
private var _ignoredReferralsCache:Object;
private var _ignoredReferrals:Array;
private var _ignoredKeywordsCache:Object;
private var _sources:Array;
public static var throwErrors:Boolean = false;
public function Organic(){
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
_ignoredReferrals = [];
_ignoredReferralsCache = {};
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{
var _local3:String;
_local3 = _arg1.keyword;
return (getKeywordValueFromPath(_local3, _arg2));
}
public function isIgnoredKeyword(_arg1:String):Boolean{
if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function isIgnoredReferral(_arg1:String):Boolean{
if (_ignoredReferralsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function clear():void{
clearEngines();
clearIgnoredReferrals();
clearIgnoredKeywords();
}
public function get ignoredKeywordsCount():int{
return (_ignoredKeywords.length);
}
public function match(_arg1:String):Boolean{
if (_arg1 == ""){
return (false);
};
_arg1 = _arg1.toLowerCase();
if (_sourcesEngine[_arg1] != undefined){
return (true);
};
return (false);
}
public function get count():int{
return (_sources.length);
}
public function addSource(_arg1:String, _arg2:String):void{
var _local3:OrganicReferrer;
_local3 = new OrganicReferrer(_arg1, _arg2);
if (_sourcesCache[_local3.toString()] == undefined){
_sources.push(_local3);
_sourcesCache[_local3.toString()] = (_sources.length - 1);
if (_sourcesEngine[_local3.engine] == undefined){
_sourcesEngine[_local3.engine] = [(_sources.length - 1)];
} else {
_sourcesEngine[_local3.engine].push((_sources.length - 1));
};
} else {
if (throwErrors){
throw (new Error((_local3.toString() + " already exists, we don't add it.")));
};
};
}
public function clearIgnoredKeywords():void{
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function clearEngines():void{
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
}
public function get ignoredReferralsCount():int{
return (_ignoredReferrals.length);
}
public function addIgnoredReferral(_arg1:String):void{
if (_ignoredReferralsCache[_arg1] == undefined){
_ignoredReferrals.push(_arg1);
_ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function clearIgnoredReferrals():void{
_ignoredReferrals = [];
_ignoredReferralsCache = {};
}
public function getReferrerByName(_arg1:String):OrganicReferrer{
var _local2:int;
if (match(_arg1)){
_local2 = _sourcesEngine[_arg1][0];
return (_sources[_local2]);
};
return (null);
}
public function addIgnoredKeyword(_arg1:String):void{
if (_ignoredKeywordsCache[_arg1] == undefined){
_ignoredKeywords.push(_arg1);
_ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function get sources():Array{
return (_sources);
}
public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:Variables;
if (_arg2.indexOf((_arg1 + "=")) > -1){
if (_arg2.charAt(0) == "?"){
_arg2 = _arg2.substr(1);
};
_arg2 = _arg2.split("+").join("%20");
_local4 = new Variables(_arg2);
_local3 = _local4[_arg1];
};
return (_local3);
}
}
}//package com.google.analytics.core
Section 18
//OrganicReferrer (com.google.analytics.core.OrganicReferrer)
package com.google.analytics.core {
public class OrganicReferrer {
private var _engine:String;
private var _keyword:String;
public function OrganicReferrer(_arg1:String, _arg2:String){
this.engine = _arg1;
this.keyword = _arg2;
}
public function set engine(_arg1:String):void{
_engine = _arg1.toLowerCase();
}
public function get keyword():String{
return (_keyword);
}
public function toString():String{
return (((engine + "?") + keyword));
}
public function get engine():String{
return (_engine);
}
public function set keyword(_arg1:String):void{
_keyword = _arg1.toLowerCase();
}
}
}//package com.google.analytics.core
Section 19
//RequestObject (com.google.analytics.core.RequestObject)
package com.google.analytics.core {
import flash.net.*;
import flash.utils.*;
public class RequestObject {
public var start:int;
public var request:URLRequest;
public var end:int;
public function RequestObject(_arg1:URLRequest){
start = getTimer();
this.request = _arg1;
}
public function toString():String{
var _local1:Array;
_local1 = [];
_local1.push((("duration: " + duration) + "ms"));
_local1.push(("url: " + request.url));
return ((("{ " + _local1.join(", ")) + " }"));
}
public function get duration():int{
if (!hasCompleted()){
return (0);
};
return ((end - start));
}
public function hasCompleted():Boolean{
return ((end > 0));
}
public function complete():void{
end = getTimer();
}
}
}//package com.google.analytics.core
Section 20
//ServerOperationMode (com.google.analytics.core.ServerOperationMode)
package com.google.analytics.core {
public class ServerOperationMode {
private var _value:int;
private var _name:String;
public static const both:ServerOperationMode = new ServerOperationMode(2, "both");
;
public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote");
;
public static const local:ServerOperationMode = new ServerOperationMode(0, "local");
;
public function ServerOperationMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 21
//TrackerCache (com.google.analytics.core.TrackerCache)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import flash.errors.*;
public class TrackerCache implements GoogleAnalyticsAPI {
public var tracker:GoogleAnalyticsAPI;
private var _ar:Array;
public static var CACHE_THROW_ERROR:Boolean;
public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){
this.tracker = _arg1;
_ar = [];
}
public function size():uint{
return (_ar.length);
}
public function flush():void{
var _local1:Object;
var _local2:String;
var _local3:Array;
var _local4:int;
var _local5:int;
if (tracker == null){
return;
};
if (size() > 0){
_local4 = _ar.length;
while (_local5 < _local4) {
_local1 = _ar.shift();
_local2 = (_local1.name as String);
_local3 = (_local1.args as Array);
if (((!((_local2 == null))) && ((_local2 in tracker)))){
(tracker[_local2] as Function).apply(tracker, _local3);
};
_local5++;
};
};
}
public function enqueue(_arg1:String, ... _args):Boolean{
if (_arg1 == null){
return (false);
};
_ar.push({name:_arg1, args:_args});
return (true);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
enqueue("link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
enqueue("addOrganic", _arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
enqueue("setAllowLinker", _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4);
return (true);
}
public function getClientInfo():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment."));
};
return (false);
}
public function trackTrans():void{
enqueue("trackTrans");
}
public function trackPageview(_arg1:String=""):void{
enqueue("trackPageview", _arg1);
}
public function setClientInfo(_arg1:Boolean):void{
enqueue("setClientInfo", _arg1);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
enqueue("linkByPost", _arg1, _arg2);
}
public function setCookieTimeout(_arg1:int):void{
enqueue("setCookieTimeout", _arg1);
}
public function isEmpty():Boolean{
return ((_ar.length == 0));
}
public function getDetectTitle():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment."));
};
return (false);
}
public function resetSession():void{
enqueue("resetSession");
}
public function setDetectFlash(_arg1:Boolean):void{
enqueue("setDetectFlash", _arg1);
}
public function clear():void{
_ar = [];
}
public function setCampNameKey(_arg1:String):void{
enqueue("setCampNameKey", _arg1);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function createEventTracker(_arg1:String):EventTracker{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment."));
};
return (null);
}
public function setVar(_arg1:String):void{
enqueue("setVar", _arg1);
}
public function clearIgnoredOrganic():void{
enqueue("clearIgnoredOrganic");
}
public function setDomainName(_arg1:String):void{
enqueue("setDomainName", _arg1);
}
public function setCampSourceKey(_arg1:String):void{
enqueue("setCampSourceKey", _arg1);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment."));
};
return (null);
}
public function setCampContentKey(_arg1:String):void{
enqueue("setCampContentKey", _arg1);
}
public function setLocalServerMode():void{
enqueue("setLocalServerMode");
}
public function getLocalGifPath():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment."));
};
return ("");
}
public function setAllowAnchor(_arg1:Boolean):void{
enqueue("setAllowAnchor", _arg1);
}
public function clearIgnoredRef():void{
enqueue("clearIgnoredRef");
}
public function setLocalGifPath(_arg1:String):void{
enqueue("setLocalGifPath", _arg1);
}
public function getVersion():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment."));
};
return ("");
}
public function setCookiePath(_arg1:String):void{
enqueue("setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
enqueue("setSampleRate", _arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
enqueue("setDetectTitle", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
enqueue("setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
enqueue("addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
enqueue("setCampNOKey", _arg1);
}
public function getServiceMode():ServerOperationMode{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment."));
};
return (null);
}
public function setLocalRemoteServerMode():void{
enqueue("setLocalRemoteServerMode");
}
public function cookiePathCopy(_arg1:String):void{
enqueue("cookiePathCopy", _arg1);
}
public function getDetectFlash():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment."));
};
return (false);
}
public function setCampaignTrack(_arg1:Boolean):void{
enqueue("setCampaignTrack", _arg1);
}
public function clearOrganic():void{
enqueue("clearOrganic");
}
public function setCampTermKey(_arg1:String):void{
enqueue("setCampTermKey", _arg1);
}
public function addIgnoredRef(_arg1:String):void{
enqueue("addIgnoredRef", _arg1);
}
public function setCampMediumKey(_arg1:String):void{
enqueue("setCampMediumKey", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
enqueue("setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
enqueue("setRemoteServerMode");
}
public function element(){
return (_ar[0]);
}
public function getAccount():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment."));
};
return ("");
}
}
}//package com.google.analytics.core
Section 22
//TrackerMode (com.google.analytics.core.TrackerMode)
package com.google.analytics.core {
public class TrackerMode {
public static const BRIDGE:String = "Bridge";
public static const AS3:String = "AS3";
}
}//package com.google.analytics.core
Section 23
//Utils (com.google.analytics.core.Utils)
package com.google.analytics.core {
public class Utils {
public static function trim(_arg1:String, _arg2:Boolean=false):String{
var _local3:Array;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:int;
if (_arg1 == ""){
return ("");
};
_local3 = [" ", "\n", "\r", "\t"];
_local4 = _arg1;
if (_arg2){
_local5 = 0;
while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) {
_local4 = _local4.split(_local3[_local5]).join("");
_local5++;
};
} else {
_local6 = 0;
while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) {
_local6++;
};
_local4 = _local4.substr(_local6);
_local7 = (_local4.length - 1);
while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) {
_local7--;
};
_local4 = _local4.substring(0, (_local7 + 1));
};
return (_local4);
}
public static function generateHash(_arg1:String):int{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = 1;
_local3 = 0;
if (((!((_arg1 == null))) && (!((_arg1 == ""))))){
_local2 = 0;
_local4 = (_arg1.length - 1);
while (_local4 >= 0) {
_local5 = _arg1.charCodeAt(_local4);
_local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14));
_local3 = (_local2 & 266338304);
if (_local3 != 0){
_local2 = (_local2 ^ (_local3 >> 21));
};
_local4--;
};
};
return (_local2);
}
public static function generate32bitRandom():int{
return (Math.round((Math.random() * 2147483647)));
}
public static function validateAccount(_arg1:String):Boolean{
var _local2:RegExp;
_local2 = /^UA-[0-9]*-[0-9]*$/;
return (_local2.test(_arg1));
}
}
}//package com.google.analytics.core
Section 24
//Cookie (com.google.analytics.data.Cookie)
package com.google.analytics.data {
public interface Cookie {
function fromSharedObject(_arg1:Object):void;
function toURLString():String;
function get creation():Date;
function toSharedObject():Object;
function isExpired():Boolean;
function set creation(_arg1:Date):void;
function set expiration(_arg1:Date):void;
function get expiration():Date;
}
}//package com.google.analytics.data
Section 25
//UTMA (com.google.analytics.data.UTMA)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMA extends UTMCookie {
private var _sessionId:Number;
private var _domainHash:Number;
private var _firstTime:Number;
private var _currentTime:Number;
private var _lastTime:Number;
private var _sessionCount:Number;
public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){
super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.sessionId = _arg2;
this.firstTime = _arg3;
this.lastTime = _arg4;
this.currentTime = _arg5;
this.sessionCount = _arg6;
}
public function get lastTime():Number{
return (_lastTime);
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function set currentTime(_arg1:Number):void{
_currentTime = _arg1;
update();
}
public function get sessionId():Number{
return (_sessionId);
}
public function get sessionCount():Number{
return (_sessionCount);
}
public function get firstTime():Number{
return (_firstTime);
}
public function get currentTime():Number{
return (_currentTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set sessionId(_arg1:Number):void{
_sessionId = _arg1;
update();
}
public function set sessionCount(_arg1:Number):void{
_sessionCount = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function set firstTime(_arg1:Number):void{
_firstTime = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 26
//UTMB (com.google.analytics.data.UTMB)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMB extends UTMCookie {
private var _trackCount:Number;
private var _lastTime:Number;
private var _domainHash:Number;
private var _token:Number;
public static var defaultTimespan:Number = Timespan.thirtyminutes;
public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){
super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.trackCount = _arg2;
this.token = _arg3;
this.lastTime = _arg4;
}
public function set token(_arg1:Number):void{
_token = _arg1;
update();
}
public function set trackCount(_arg1:Number):void{
_trackCount = _arg1;
update();
}
public function get lastTime():Number{
return (_lastTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function get token():Number{
return (_token);
}
public function get trackCount():Number{
return (_trackCount);
}
}
}//package com.google.analytics.data
Section 27
//UTMC (com.google.analytics.data.UTMC)
package com.google.analytics.data {
public class UTMC extends UTMCookie {
private var _domainHash:Number;
public function UTMC(_arg1:Number=NaN){
super("utmc", "__utmc", ["domainHash"]);
this.domainHash = _arg1;
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
}
}//package com.google.analytics.data
Section 28
//UTMCookie (com.google.analytics.data.UTMCookie)
package com.google.analytics.data {
import com.google.analytics.core.*;
public class UTMCookie implements Cookie {
protected var inURL:String;
protected var name:String;
private var _creation:Date;
private var _expiration:Date;
public var proxy:Buffer;
private var _timespan:Number;
protected var fields:Array;
public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){
this.name = _arg1;
this.inURL = _arg2;
this.fields = _arg3;
_timestamp(_arg4);
}
public function isEmpty():Boolean{
var _local1:int;
var _local2:String;
var _local3:int;
_local1 = 0;
_local3 = 0;
while (_local3 < fields.length) {
_local2 = fields[_local3];
if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){
_local1++;
} else {
if ((((this[_local2] is String)) && ((this[_local2] == "")))){
_local1++;
};
};
_local3++;
};
if (_local1 == fields.length){
return (true);
};
return (false);
}
protected function update():void{
resetTimestamp();
if (proxy){
proxy.update(name, toSharedObject());
};
}
public function fromSharedObject(_arg1:Object):void{
var _local2:String;
var _local3:int;
var _local4:int;
_local3 = fields.length;
_local4 = 0;
while (_local4 < _local3) {
_local2 = fields[_local4];
if (_arg1[_local2]){
this[_local2] = _arg1[_local2];
};
_local4++;
};
if (_arg1.creation){
this.creation = _arg1.creation;
};
if (_arg1.expiration){
this.expiration = _arg1.expiration;
};
}
private function _timestamp(_arg1:Number):void{
creation = new Date();
_timespan = _arg1;
if (_arg1 > 0){
expiration = new Date((creation.valueOf() + _arg1));
};
}
public function isExpired():Boolean{
var _local1:Date;
var _local2:Number;
_local1 = new Date();
_local2 = (expiration.valueOf() - _local1.valueOf());
if (_local2 <= 0){
return (true);
};
return (false);
}
public function set expiration(_arg1:Date):void{
_expiration = _arg1;
}
public function get creation():Date{
return (_creation);
}
public function reset():void{
var _local1:String;
var _local2:int;
_local2 = 0;
while (_local2 < fields.length) {
_local1 = fields[_local2];
if ((this[_local1] is Number)){
this[_local1] = NaN;
} else {
if ((this[_local1] is String)){
this[_local1] = "";
};
};
_local2++;
};
resetTimestamp();
update();
}
public function valueOf():String{
var _local1:Array;
var _local2:String;
var _local3:*;
var _local4:int;
_local1 = [];
_local4 = 0;
while (_local4 < fields.length) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
if (_local3 == ""){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
} else {
if ((_local3 is Number)){
if (_local3 == 0){
_local1.push(_local3);
} else {
if (isNaN(_local3)){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
};
};
};
_local4++;
};
return (("" + _local1.join(".")));
}
public function resetTimestamp(_arg1:Number=NaN):void{
if (!isNaN(_arg1)){
_timespan = _arg1;
};
_creation = null;
_expiration = null;
_timestamp(_timespan);
}
public function get expiration():Date{
if (_expiration){
return (_expiration);
};
return (new Date((new Date().valueOf() + 1000)));
}
public function toURLString():String{
return (((inURL + "=") + valueOf()));
}
public function toSharedObject():Object{
var _local1:Object;
var _local2:String;
var _local3:*;
var _local4:int;
_local1 = {};
_local4 = 0;
for (;_local4 < fields.length;_local4++) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
_local1[_local2] = _local3;
} else {
if (_local3 == 0){
_local1[_local2] = _local3;
} else {
if (isNaN(_local3)){
continue;
} else {
_local1[_local2] = _local3;
};
};
};
};
_local1.creation = creation;
_local1.expiration = expiration;
return (_local1);
}
public function toString(_arg1:Boolean=false):String{
var _local2:Array;
var _local3:String;
var _local4:*;
var _local5:int;
var _local6:int;
var _local7:String;
_local2 = [];
_local5 = fields.length;
_local6 = 0;
for (;_local6 < _local5;_local6++) {
_local3 = fields[_local6];
_local4 = this[_local3];
if ((_local4 is String)){
_local2.push((((_local3 + ": \"") + _local4) + "\""));
} else {
if (_local4 == 0){
_local2.push(((_local3 + ": ") + _local4));
} else {
if (isNaN(_local4)){
continue;
} else {
_local2.push(((_local3 + ": ") + _local4));
};
};
};
};
_local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}");
if (_arg1){
_local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration));
};
return (_local7);
}
public function set creation(_arg1:Date):void{
_creation = _arg1;
}
}
}//package com.google.analytics.data
Section 29
//UTMK (com.google.analytics.data.UTMK)
package com.google.analytics.data {
public class UTMK extends UTMCookie {
private var _hash:Number;
public function UTMK(_arg1:Number=NaN){
super("utmk", "__utmk", ["hash"]);
this.hash = _arg1;
}
public function set hash(_arg1:Number):void{
_hash = _arg1;
update();
}
public function get hash():Number{
return (_hash);
}
}
}//package com.google.analytics.data
Section 30
//UTMV (com.google.analytics.data.UTMV)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMV extends UTMCookie {
private var _domainHash:Number;
private var _value:String;
public function UTMV(_arg1:Number=NaN, _arg2:String=""){
super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.value = _arg2;
}
override public function toURLString():String{
return (((inURL + "=") + encodeURI(valueOf())));
}
public function get value():String{
return (_value);
}
public function get domainHash():Number{
return (_domainHash);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set value(_arg1:String):void{
_value = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 31
//UTMZ (com.google.analytics.data.UTMZ)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMZ extends UTMCookie {
private var _campaignTracking:String;
private var _campaignCreation:Number;
private var _responseCount:Number;
private var _domainHash:Number;
private var _campaignSessions:Number;
public static var defaultTimespan:Number = Timespan.sixmonths;
public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){
super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.campaignCreation = _arg2;
this.campaignSessions = _arg3;
this.responseCount = _arg4;
this.campaignTracking = _arg5;
}
public function set responseCount(_arg1:Number):void{
_responseCount = _arg1;
update();
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set campaignCreation(_arg1:Number):void{
_campaignCreation = _arg1;
update();
}
public function get campaignTracking():String{
return (_campaignTracking);
}
public function get campaignSessions():Number{
return (_campaignSessions);
}
public function get domainHash():Number{
return (_domainHash);
}
public function get responseCount():Number{
return (_responseCount);
}
public function get campaignCreation():Number{
return (_campaignCreation);
}
public function set campaignSessions(_arg1:Number):void{
_campaignSessions = _arg1;
update();
}
public function set campaignTracking(_arg1:String):void{
_campaignTracking = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 32
//X10 (com.google.analytics.data.X10)
package com.google.analytics.data {
public class X10 {
private var _delimEnd:String;// = ")"
private var _delimSet:String;// = "*"
private var _escapeChar:String;// = "'"
private var _delimBegin:String;// = "("
private var _delimNumValue:String;// = "!"
private var _key:String;// = "k"
private var _set:Array;
private var _projectData:Object;
private var _hasData:int;
private var _escapeCharMap:Object;
private var _minimum:int;
private var _value:String;// = "v"
public function X10(){
_key = "k";
_value = "v";
_set = [_key, _value];
_delimBegin = "(";
_delimEnd = ")";
_delimSet = "*";
_delimNumValue = "!";
_escapeChar = "'";
super();
_projectData = {};
_escapeCharMap = {};
_escapeCharMap[_escapeChar] = "'0";
_escapeCharMap[_delimEnd] = "'1";
_escapeCharMap[_delimSet] = "'2";
_escapeCharMap[_delimNumValue] = "'3";
_minimum = 1;
}
private function _clearInternal(_arg1:Number, _arg2:String):void{
var _local3:Boolean;
var _local4:int;
var _local5:int;
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
_projectData[_arg1][_arg2] = undefined;
_local3 = true;
_local5 = _set.length;
_local4 = 0;
while (_local4 < _local5) {
if (_projectData[_arg1][_set[_local4]] != undefined){
_local3 = false;
break;
};
_local4++;
};
if (_local3){
_projectData[_arg1] = undefined;
_hasData = (_hasData - 1);
};
};
}
public function hasData():Boolean{
return ((_hasData > 0));
}
private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{
if (!hasProject(_arg1)){
_projectData[_arg1] = {};
};
if (_projectData[_arg1][_arg2] == undefined){
_projectData[_arg1][_arg2] = [];
};
_projectData[_arg1][_arg2][_arg3] = _arg4;
_hasData = (_hasData + 1);
}
public function hasProject(_arg1:Number):Boolean{
return (_projectData[_arg1]);
}
public function clearKey(_arg1:Number):void{
_clearInternal(_arg1, _key);
}
private function _renderDataType(_arg1:Array):String{
var _local2:Array;
var _local3:String;
var _local4:int;
_local2 = [];
_local4 = 0;
while (_local4 < _arg1.length) {
if (_arg1[_local4] != undefined){
_local3 = "";
if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){
_local3 = (_local3 + _local4.toString());
_local3 = (_local3 + _delimNumValue);
};
_local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4]));
_local2.push(_local3);
};
_local4++;
};
return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd));
}
public function getKey(_arg1:Number, _arg2:Number):String{
return ((_getInternal(_arg1, _key, _arg2) as String));
}
public function clearValue(_arg1:Number):void{
_clearInternal(_arg1, _value);
}
public function renderMergedUrlString(_arg1:X10=null):String{
var _local2:Array;
var _local3:String;
if (!_arg1){
return (renderUrlString());
};
_local2 = [_arg1.renderUrlString()];
for (_local3 in _projectData) {
if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){
_local2.push((_local3 + _renderProject(_projectData[_local3])));
};
};
return (_local2.join(""));
}
public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){
return (false);
};
_setInternal(_arg1, _value, _arg2, _arg3.toString());
return (true);
}
public function renderUrlString():String{
var _local1:Array;
var _local2:String;
_local1 = [];
for (_local2 in _projectData) {
if (hasProject(Number(_local2))){
_local1.push((_local2 + _renderProject(_projectData[_local2])));
};
};
return (_local1.join(""));
}
private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
return (_projectData[_arg1][_arg2][_arg3]);
};
return (undefined);
}
public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{
_setInternal(_arg1, _key, _arg2, _arg3);
return (true);
}
public function getValue(_arg1:Number, _arg2:Number){
var _local3:*;
_local3 = _getInternal(_arg1, _value, _arg2);
if (_local3 == null){
return (null);
};
return (Number(_local3));
}
private function _renderProject(_arg1:Object):String{
var _local2:String;
var _local3:Boolean;
var _local4:int;
var _local5:Array;
var _local6:int;
_local2 = "";
_local3 = false;
_local6 = _set.length;
_local4 = 0;
while (_local4 < _local6) {
_local5 = _arg1[_set[_local4]];
if (_local5){
if (_local3){
_local2 = (_local2 + _set[_local4]);
};
_local2 = (_local2 + _renderDataType(_local5));
_local3 = false;
} else {
_local3 = true;
};
_local4++;
};
return (_local2);
}
private function _escapeExtensibleValue(_arg1:String):String{
var _local2:String;
var _local3:int;
var _local4:String;
var _local5:String;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _arg1.charAt(_local3);
_local5 = _escapeCharMap[_local4];
if (_local5){
_local2 = (_local2 + _local5);
} else {
_local2 = (_local2 + _local4);
};
_local3++;
};
return (_local2);
}
}
}//package com.google.analytics.data
Section 33
//_Style (com.google.analytics.debug._Style)
package com.google.analytics.debug {
import flash.net.*;
import flash.text.*;
public class _Style {
public var borderColor:uint;
public var backgroundColor:uint;
private var _sheet:StyleSheet;
public var roundedCorner:uint;
public var alertColor:uint;
public var infoColor:uint;
public var successColor:uint;
private var _loader:URLLoader;
public var failureColor:uint;
private var _defaultSheet:String;
public var warningColor:uint;
public function _Style(){
_sheet = new StyleSheet();
_loader = new URLLoader();
_init();
}
private function _parseSheet(_arg1:String):void{
_sheet.parseCSS(_arg1);
}
public function get sheet():StyleSheet{
return (_sheet);
}
private function _init():void{
_defaultSheet = "";
_defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n");
_defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n");
_defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + "\n");
roundedCorner = 6;
backgroundColor = 0xCCCCCC;
borderColor = 0x555555;
infoColor = 16777113;
alertColor = 0xFFCC00;
warningColor = 0xCC0000;
successColor = 0xFF00;
failureColor = 0xFF0000;
_parseSheet(_defaultSheet);
}
}
}//package com.google.analytics.debug
Section 34
//Alert (com.google.analytics.debug.Alert)
package com.google.analytics.debug {
import flash.events.*;
public class Alert extends Label {
public var actionOnNextLine:Boolean;// = true
public var autoClose:Boolean;// = true
private var _actions:Array;
public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){
var _local8:int;
autoClose = true;
actionOnNextLine = true;
if (_arg4 == 0){
_arg4 = Style.alertColor;
};
if (_arg5 == null){
_arg5 = Align.center;
};
super(_arg1, _arg3, _arg4, _arg5, _arg6);
this.selectable = true;
super.mouseChildren = true;
this.buttonMode = true;
this.mouseEnabled = true;
this.useHandCursor = true;
this.actionOnNextLine = _arg7;
_actions = [];
_local8 = 0;
while (_local8 < _arg2.length) {
_arg2[_local8].container = this;
_actions.push(_arg2[_local8]);
_local8++;
};
}
protected function getAction(_arg1:String):AlertAction{
var _local2:int;
_local2 = 0;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (_actions[_local2]);
};
_local2++;
};
return (null);
}
override protected function layout():void{
super.layout();
_defineActions();
}
protected function spaces(_arg1:int):String{
var _local2:String;
var _local3:String;
var _local4:int;
_local2 = "";
_local3 = " ";
_local4 = 0;
while (_local4 < (_arg1 + 1)) {
_local2 = (_local2 + _local3);
_local4++;
};
return (_local2);
}
override public function onLink(_arg1:TextEvent):void{
var _local2:AlertAction;
if (isValidAction(_arg1.text)){
_local2 = getAction(_arg1.text);
if (_local2){
_local2.execute();
};
};
if (autoClose){
close();
};
}
protected function isValidAction(_arg1:String):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (true);
};
_local2++;
};
return (false);
}
private function _defineActions():void{
var _local1:String;
var _local2:Array;
var _local3:AlertAction;
var _local4:int;
_local1 = "";
if (actionOnNextLine){
_local1 = (_local1 + "\n");
} else {
_local1 = (_local1 + " |");
};
_local1 = (_local1 + " ");
_local2 = [];
_local4 = 0;
while (_local4 < _actions.length) {
_local3 = _actions[_local4];
_local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>"));
_local4++;
};
_local1 = (_local1 + _local2.join(" | "));
appendText(_local1, "uiAlertAction");
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 35
//AlertAction (com.google.analytics.debug.AlertAction)
package com.google.analytics.debug {
public class AlertAction {
public var container:Alert;
private var _callback;
public var name:String;
public var activator:String;
public function AlertAction(_arg1:String, _arg2:String, _arg3){
this.name = _arg1;
this.activator = _arg2;
_callback = _arg3;
}
public function execute():void{
if (_callback){
if ((_callback is Function)){
(_callback as Function)();
} else {
if ((_callback is String)){
var _local1 = container;
_local1[_callback]();
};
};
};
}
}
}//package com.google.analytics.debug
Section 36
//Align (com.google.analytics.debug.Align)
package com.google.analytics.debug {
public class Align {
private var _value:int;
private var _name:String;
public static const bottomRight:Align = new Align(18, "bottomRight");
;
public static const right:Align = new Align(16, "right");
;
public static const left:Align = new Align(32, "left");
;
public static const topRight:Align = new Align(17, "topRight");
;
public static const bottom:Align = new Align(2, "bottom");
;
public static const bottomLeft:Align = new Align(34, "bottomLeft");
;
public static const topLeft:Align = new Align(33, "topLeft");
;
public static const center:Align = new Align(0x0100, "center");
;
public static const none:Align = new Align(0, "none");
;
public static const top:Align = new Align(1, "top");
;
public function Align(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 37
//Background (com.google.analytics.debug.Background)
package com.google.analytics.debug {
import flash.display.*;
public class Background {
public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{
var _local5:uint;
var _local6:uint;
var _local7:uint;
_local7 = Style.roundedCorner;
if ((((_arg3 > 0)) && ((_arg4 > 0)))){
_local5 = _arg3;
_local6 = _arg4;
} else {
_local5 = _arg1.width;
_local6 = _arg1.height;
};
if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){
switch (_arg1.alignement){
case Align.top:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7);
break;
case Align.topLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7);
break;
case Align.topRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0);
break;
case Align.bottom:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0);
break;
case Align.bottomLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0);
break;
case Align.bottomRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0);
break;
case Align.left:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7);
break;
case Align.right:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0);
break;
case Align.center:
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
break;
};
} else {
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
};
}
}
}//package com.google.analytics.debug
Section 38
//Debug (com.google.analytics.debug.Debug)
package com.google.analytics.debug {
import flash.events.*;
import flash.ui.*;
public class Debug extends Label {
private var _lines:Array;
private var _preferredForcedWidth:uint;// = 540
private var _linediff:int;// = 0
public var maxLines:uint;// = 16
public static var count:uint = 0;
public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){
if (_arg2 == null){
_arg2 = Align.bottom;
};
super("", "uiLabel", _arg1, _arg2, _arg3);
this.name = ("Debug" + count++);
_lines = [];
selectable = true;
addEventListener(KeyboardEvent.KEY_DOWN, onKey);
}
public function writeBold(_arg1:String):void{
write(_arg1, true);
}
private function _getLinesToDisplay(_arg1:int=0):Array{
var _local2:Array;
var _local3:uint;
var _local4:uint;
if ((_lines.length - 1) > maxLines){
if ((_linediff <= 0)){
_linediff = (_linediff + _arg1);
} else {
if ((((_linediff > 0)) && ((_arg1 < 0)))){
_linediff = (_linediff + _arg1);
};
};
_local3 = ((_lines.length - maxLines) + _linediff);
_local4 = (_local3 + maxLines);
_local2 = _lines.slice(_local3, _local4);
} else {
_local2 = _lines;
};
return (_local2);
}
private function onKey(_arg1:KeyboardEvent=null):void{
var _local2:Array;
switch (_arg1.keyCode){
case Keyboard.DOWN:
_local2 = _getLinesToDisplay(1);
break;
case Keyboard.UP:
_local2 = _getLinesToDisplay(-1);
break;
default:
_local2 = null;
};
if (_local2 == null){
return;
};
text = _local2.join("\n");
}
override public function get forcedWidth():uint{
if (this.parent){
if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){
return (_preferredForcedWidth);
};
return (UISprite(this.parent).forcedWidth);
//unresolved jump
};
return (super.forcedWidth);
}
public function write(_arg1:String, _arg2:Boolean=false):void{
var _local3:Array;
if (_arg1.indexOf("") > -1){
_local3 = _arg1.split("\n");
} else {
_local3 = [_arg1];
};
var _local4 = "";
var _local5 = "";
if (_arg2){
_local4 = "<b>";
_local5 = "</b>";
};
var _local6:int;
while (_local6 < _local3.length) {
_lines.push(((_local4 + _local3[_local6]) + _local5));
_local6++;
};
var _local7:Array = _getLinesToDisplay();
text = _local7.join("\n");
}
public function close():void{
dispose();
}
override protected function dispose():void{
removeEventListener(KeyboardEvent.KEY_DOWN, onKey);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 39
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.utils.*;
import flash.ui.*;
public class DebugConfiguration {
public var showHideKey:Number;
private var _mode:VisualDebugMode;
private var _verbose:Boolean;// = false
public var destroyKey:Number;
public var GIFRequests:Boolean;// = false
public var showInfos:Boolean;// = true
public var infoTimeout:Number;// = 1000
public var minimizedOnStart:Boolean;// = false
private var _active:Boolean;// = false
public var traceOutput:Boolean;// = false
public var layout:ILayout;
public var warningTimeout:Number;// = 1500
public var javascript:Boolean;// = false
public var showWarnings:Boolean;// = true
private var _visualInitialized:Boolean;// = false
public function DebugConfiguration(){
_mode = VisualDebugMode.basic;
showHideKey = Keyboard.SPACE;
destroyKey = Keyboard.BACKSPACE;
super();
}
public function get verbose():Boolean{
return (_verbose);
}
public function set verbose(_arg1:Boolean):void{
_verbose = _arg1;
}
public function set mode(_arg1):void{
if ((_arg1 is String)){
switch (_arg1){
case "geek":
_arg1 = VisualDebugMode.geek;
break;
case "advanced":
_arg1 = VisualDebugMode.advanced;
break;
case "basic":
default:
_arg1 = VisualDebugMode.basic;
};
};
_mode = _arg1;
}
public function success(_arg1:String):void{
if (layout){
layout.createSuccessAlert(_arg1);
};
if (traceOutput){
trace((("[+] " + _arg1) + " !!"));
};
}
public function get active():Boolean{
return (_active);
}
private function _initializeVisual():void{
if (layout){
layout.init();
_visualInitialized = true;
};
}
private function _destroyVisual():void{
if (((layout) && (_visualInitialized))){
layout.destroy();
};
}
public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showWarnings))){
layout.createWarning(_arg1);
};
if (traceOutput){
trace((("## " + _arg1) + " ##"));
};
}
private function _filter(_arg1:VisualDebugMode=null):Boolean{
return (((_arg1) && ((int(_arg1) >= int(this.mode)))));
}
public function failure(_arg1:String):void{
if (layout){
layout.createFailureAlert(_arg1);
};
if (traceOutput){
trace((("[-] " + _arg1) + " !!"));
};
}
public function get mode(){
return (_mode);
}
public function set active(_arg1:Boolean):void{
_active = _arg1;
if (_active){
_initializeVisual();
} else {
_destroyVisual();
};
}
protected function trace(_arg1:String):void{
var _local7:Array;
var _local8:int;
var _local2:Array = [];
var _local3 = "";
var _local4 = "";
if (this.mode == VisualDebugMode.geek){
_local3 = (getTimer() + " - ");
_local4 = (new Array(_local3.length).join(" ") + " ");
};
if (_arg1.indexOf("\n") > -1){
_local7 = _arg1.split("\n");
_local8 = 0;
while (_local8 < _local7.length) {
if (_local7[_local8] == ""){
} else {
if (_local8 == 0){
_local2.push((_local3 + _local7[_local8]));
} else {
_local2.push((_local4 + _local7[_local8]));
};
};
_local8++;
};
} else {
_local2.push((_local3 + _arg1));
};
var _local5:int = _local2.length;
var _local6:int;
while (_local6 < _local5) {
trace(_local2[_local6]);
_local6++;
};
}
public function alert(_arg1:String):void{
if (layout){
layout.createAlert(_arg1);
};
if (traceOutput){
trace((("!! " + _arg1) + " !!"));
};
}
public function info(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showInfos))){
layout.createInfo(_arg1);
};
if (traceOutput){
trace(_arg1);
};
}
public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
if (layout){
layout.createGIFRequestAlert(_arg1, _arg2, _arg3);
};
if (traceOutput){
trace(((">> " + _arg1) + " <<"));
};
}
}
}//package com.google.analytics.debug
Section 40
//FailureAlert (com.google.analytics.debug.FailureAlert)
package com.google.analytics.debug {
public class FailureAlert extends Alert {
public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align;
var _local5:Boolean;
var _local6:Boolean;
_local4 = Align.bottomLeft;
_local5 = true;
_local6 = false;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 41
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert)
package com.google.analytics.debug {
public class GIFRequestAlert extends Alert {
public function GIFRequestAlert(_arg1:String, _arg2:Array){
super(_arg1, _arg2);
}
}
}//package com.google.analytics.debug
Section 42
//ILayout (com.google.analytics.debug.ILayout)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.display.*;
public interface ILayout {
function createWarning(_arg1:String):void;
function addToStage(_arg1:DisplayObject):void;
function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void;
function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void;
function createInfo(_arg1:String):void;
function createFailureAlert(_arg1:String):void;
function addToPanel(_arg1:String, _arg2:DisplayObject):void;
function init():void;
function createSuccessAlert(_arg1:String):void;
function createVisualDebug():void;
function createAlert(_arg1:String):void;
function destroy():void;
function bringToFront(_arg1:DisplayObject):void;
function isAvailable():Boolean;
}
}//package com.google.analytics.debug
Section 43
//Info (com.google.analytics.debug.Info)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Info extends Label {
private var _timer:Timer;
public function Info(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiInfo", Style.infoColor, Align.top, true);
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 44
//Label (com.google.analytics.debug.Label)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class Label extends UISprite {
private var _color:uint;
private var _background:Shape;
private var _textField:TextField;
public var stickToEdge:Boolean;
private var _text:String;
protected var selectable:Boolean;
private var _tag:String;
public static var count:uint = 0;
public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){
this.name = ("Label" + count++);
selectable = false;
_background = new Shape();
_textField = new TextField();
_text = _arg1;
_tag = _arg2;
if (_arg4 == null){
_arg4 = Align.none;
};
this.alignement = _arg4;
this.stickToEdge = _arg5;
if (_arg3 == 0){
_arg3 = Style.backgroundColor;
};
_color = _arg3;
_textField.addEventListener(TextEvent.LINK, onLink);
}
public function get tag():String{
return (_tag);
}
private function _draw():void{
var _local1:Graphics = _background.graphics;
_local1.clear();
_local1.beginFill(_color);
var _local2:uint = _textField.width;
var _local3:uint = _textField.height;
if (forcedWidth > 0){
_local2 = forcedWidth;
};
Background.drawRounded(this, _local1, _local2, _local3);
_local1.endFill();
}
public function get text():String{
return (_textField.text);
}
public function appendText(_arg1:String, _arg2:String=""):void{
if (_arg1 == ""){
return;
};
if (_arg2 == ""){
_arg2 = tag;
};
_textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>"));
_text = (_text + _arg1);
_draw();
resize();
}
public function set text(_arg1:String):void{
if (_arg1 == ""){
_arg1 = _text;
};
_textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>");
_text = _arg1;
_draw();
resize();
}
override protected function layout():void{
_textField.type = TextFieldType.DYNAMIC;
_textField.autoSize = TextFieldAutoSize.LEFT;
_textField.background = false;
_textField.selectable = selectable;
_textField.multiline = true;
_textField.styleSheet = Style.sheet;
this.text = _text;
addChild(_background);
addChild(_textField);
}
public function set tag(_arg1:String):void{
_tag = _arg1;
text = "";
}
public function onLink(_arg1:TextEvent):void{
}
override protected function dispose():void{
_textField.removeEventListener(TextEvent.LINK, onLink);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 45
//Layout (com.google.analytics.debug.Layout)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.events.*;
import flash.display.*;
import com.google.analytics.*;
public class Layout implements ILayout {
private var _display:DisplayObject;
private var _infoQueue:Array;
private var _maxCharPerLine:int;// = 85
private var _hasInfo:Boolean;
private var _warningQueue:Array;
private var _hasDebug:Boolean;
private var _hasWarning:Boolean;
private var _mainPanel:Panel;
private var _GRAlertQueue:Array;
private var _debug:DebugConfiguration;
public var visualDebug:Debug;
private var _hasGRAlert:Boolean;
public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){
_display = _arg2;
_debug = _arg1;
_hasWarning = false;
_hasInfo = false;
_hasDebug = false;
_hasGRAlert = false;
_warningQueue = [];
_infoQueue = [];
_GRAlertQueue = [];
}
private function onKey(_arg1:KeyboardEvent=null):void{
switch (_arg1.keyCode){
case _debug.showHideKey:
_mainPanel.visible = !(_mainPanel.visible);
break;
case _debug.destroyKey:
destroy();
break;
};
}
public function createWarning(_arg1:String):void{
if (((_hasWarning) || (!(isAvailable())))){
_warningQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasWarning = true;
var _local2:Warning = new Warning(_arg1, _debug.warningTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function bringToFront(_arg1:DisplayObject):void{
_display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1));
}
public function createFailureAlert(_arg1:String):void{
var _local2:AlertAction;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
var _local3:Alert = new FailureAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function init():void{
var _local1 = 10;
var _local2:uint = (_display.stage.stageWidth - (_local1 * 2));
var _local3:uint = (_display.stage.stageHeight - (_local1 * 2));
var _local4:Panel = new Panel("analytics", _local2, _local3);
_local4.alignement = Align.top;
_local4.stickToEdge = false;
_local4.title = ("Google Analytics v" + GATracker.version);
_mainPanel = _local4;
addToStage(_local4);
bringToFront(_local4);
if (_debug.minimizedOnStart){
_mainPanel.onToggle();
};
createVisualDebug();
_display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true);
}
public function addToPanel(_arg1:String, _arg2:DisplayObject):void{
var _local4:Panel;
var _local3:DisplayObject = _display.stage.getChildByName(_arg1);
if (_local3){
_local4 = (_local3 as Panel);
_local4.addData(_arg2);
} else {
trace((("panel \"" + _arg1) + "\" not found"));
};
}
private function _clearInfo(_arg1:Event):void{
_hasInfo = false;
if (_infoQueue.length > 0){
createInfo(_infoQueue.shift());
};
}
private function _filterMaxChars(_arg1:String, _arg2:int=0):String{
var _local6:String;
var _local3 = "\n";
var _local4:Array = [];
var _local5:Array = _arg1.split(_local3);
if (_arg2 == 0){
_arg2 = _maxCharPerLine;
};
var _local7:int;
while (_local7 < _local5.length) {
_local6 = _local5[_local7];
while (_local6.length > _arg2) {
_local4.push(_local6.substr(0, _arg2));
_local6 = _local6.substring(_arg2);
};
_local4.push(_local6);
_local7++;
};
return (_local4.join(_local3));
}
private function _clearGRAlert(_arg1:Event):void{
_hasGRAlert = false;
if (_GRAlertQueue.length > 0){
createGIFRequestAlert.apply(this, _GRAlertQueue.shift());
};
}
public function createSuccessAlert(_arg1:String):void{
var _local2:AlertAction;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
var _local3:Alert = new SuccessAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function isAvailable():Boolean{
return (!((_display.stage == null)));
}
public function createAlert(_arg1:String):void{
_arg1 = _filterMaxChars(_arg1);
var _local2:Alert = new Alert(_arg1, [new AlertAction("Close", "close", "close")]);
addToPanel("analytics", _local2);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function createInfo(_arg1:String):void{
if (((_hasInfo) || (!(isAvailable())))){
_infoQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasInfo = true;
var _local2:Info = new Info(_arg1, _debug.infoTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true);
if (_hasDebug){
visualDebug.write(_arg1);
};
}
public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
var message = _arg1;
var request = _arg2;
var ref = _arg3;
if (_hasGRAlert){
_GRAlertQueue.push([message, request, ref]);
return;
};
_hasGRAlert = true;
var f:Function = function ():void{
ref.sendRequest(request);
};
message = _filterMaxChars(message);
var gra:GIFRequestAlert = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]);
addToPanel("analytics", gra);
gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true);
if (_hasDebug){
if (_debug.verbose){
message = message.split("\n").join("");
message = _filterMaxChars(message, 66);
};
visualDebug.write(message);
};
}
public function createVisualDebug():void{
if (!visualDebug){
visualDebug = new Debug();
visualDebug.alignement = Align.bottom;
visualDebug.stickToEdge = true;
addToPanel("analytics", visualDebug);
_hasDebug = true;
};
}
public function addToStage(_arg1:DisplayObject):void{
_display.stage.addChild(_arg1);
}
private function _clearWarning(_arg1:Event):void{
_hasWarning = false;
if (_warningQueue.length > 0){
createWarning(_warningQueue.shift());
};
}
public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{
var _local4:Panel = new Panel(_arg1, _arg2, _arg3);
_local4.alignement = Align.center;
_local4.stickToEdge = false;
addToStage(_local4);
bringToFront(_local4);
}
public function destroy():void{
_mainPanel.close();
_debug.layout = null;
}
}
}//package com.google.analytics.debug
Section 46
//Margin (com.google.analytics.debug.Margin)
package com.google.analytics.debug {
public class Margin {
public var bottom:int;
public var top:int;
public var right:int;
public var left:int;
public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){
this.top = _arg1;
this.bottom = _arg2;
this.left = _arg3;
this.right = _arg4;
}
}
}//package com.google.analytics.debug
Section 47
//Panel (com.google.analytics.debug.Panel)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class Panel extends UISprite {
private var _savedH:uint;
private var _data:UISprite;
private var _mask:Sprite;
private var _background:Shape;
private var _savedW:uint;
private var _stickToEdge:Boolean;
private var _border:Shape;
private var _borderColor:uint;
protected var baseAlpha:Number;
private var _backgroundColor:uint;
private var _title:Label;
private var _colapsed:Boolean;
private var _name:String;
public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){
_name = _arg1;
this.name = _arg1;
this.mouseEnabled = false;
_colapsed = false;
forcedWidth = _arg2;
forcedHeight = _arg3;
this.baseAlpha = _arg6;
_background = new Shape();
_data = new UISprite();
_data.forcedWidth = _arg2;
_data.forcedHeight = _arg3;
_data.mouseEnabled = false;
_title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8);
_title.buttonMode = true;
_title.margin.top = 0.6;
_title.margin.left = 0.6;
_title.addEventListener(MouseEvent.CLICK, onToggle);
_title.mouseChildren = false;
_border = new Shape();
_mask = new Sprite();
_mask.useHandCursor = false;
_mask.mouseEnabled = false;
_mask.mouseChildren = false;
if (_arg7 == null){
_arg7 = Align.none;
};
this.alignement = _arg7;
this.stickToEdge = _arg8;
if (_arg4 == 0){
_arg4 = Style.backgroundColor;
};
_backgroundColor = _arg4;
if (_arg5 == 0){
_arg5 = Style.borderColor;
};
_borderColor = _arg5;
}
public function get stickToEdge():Boolean{
return (_stickToEdge);
}
public function onToggle(_arg1:MouseEvent=null):void{
if (_colapsed){
_data.visible = true;
} else {
_data.visible = false;
};
_colapsed = !(_colapsed);
_update();
resize();
}
public function set stickToEdge(_arg1:Boolean):void{
_stickToEdge = _arg1;
_title.stickToEdge = _arg1;
}
override protected function dispose():void{
_title.removeEventListener(MouseEvent.CLICK, onToggle);
super.dispose();
}
private function _draw():void{
var _local1:uint;
var _local2:uint;
if (((_savedW) && (_savedH))){
forcedWidth = _savedW;
forcedHeight = _savedH;
};
if (!_colapsed){
_local1 = forcedWidth;
_local2 = forcedHeight;
} else {
_local1 = _title.width;
_local2 = _title.height;
_savedW = forcedWidth;
_savedH = forcedHeight;
forcedWidth = _local1;
forcedHeight = _local2;
};
var _local3:Graphics = _background.graphics;
_local3.clear();
_local3.beginFill(_backgroundColor);
Background.drawRounded(this, _local3, _local1, _local2);
_local3.endFill();
var _local4:Graphics = _data.graphics;
_local4.clear();
_local4.beginFill(_backgroundColor, 0);
Background.drawRounded(this, _local4, _local1, _local2);
_local4.endFill();
var _local5:Graphics = _border.graphics;
_local5.clear();
_local5.lineStyle(0.1, _borderColor);
Background.drawRounded(this, _local5, _local1, _local2);
_local5.endFill();
var _local6:Graphics = _mask.graphics;
_local6.clear();
_local6.beginFill(_backgroundColor);
Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1));
_local6.endFill();
}
public function get title():String{
return (_title.text);
}
private function _update():void{
_draw();
if (baseAlpha < 1){
_background.alpha = baseAlpha;
_border.alpha = baseAlpha;
};
}
public function addData(_arg1:DisplayObject):void{
_data.addChild(_arg1);
}
override protected function layout():void{
_update();
addChild(_background);
addChild(_data);
addChild(_title);
addChild(_border);
addChild(_mask);
mask = _mask;
}
public function set title(_arg1:String):void{
_title.text = _arg1;
}
public function close():void{
dispose();
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 48
//Style (com.google.analytics.debug.Style)
package com.google.analytics.debug {
public const Style:_Style = new _Style();
}//package com.google.analytics.debug
Section 49
//SuccessAlert (com.google.analytics.debug.SuccessAlert)
package com.google.analytics.debug {
public class SuccessAlert extends Alert {
public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align;
var _local5:Boolean;
var _local6:Boolean;
_local4 = Align.bottomLeft;
_local5 = true;
_local6 = false;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 50
//UISprite (com.google.analytics.debug.UISprite)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class UISprite extends Sprite {
private var _forcedHeight:uint;
protected var listenResize:Boolean;
public var alignement:Align;
private var _forcedWidth:uint;
public var margin:Margin;
protected var alignTarget:DisplayObject;
public function UISprite(_arg1:DisplayObject=null){
listenResize = false;
alignement = Align.none;
this.alignTarget = _arg1;
margin = new Margin();
addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
}
protected function dispose():void{
var _local1:DisplayObject;
var _local2:int;
_local2 = 0;
while (_local2 < numChildren) {
_local1 = getChildAt(_local2);
if (_local1){
removeChild(_local1);
};
_local2++;
};
}
protected function layout():void{
}
public function get forcedHeight():uint{
if (_forcedHeight){
return (_forcedHeight);
};
return (height);
}
public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:UISprite;
if (_arg2 == null){
if ((parent is Stage)){
_arg2 = this.stage;
} else {
_arg2 = parent;
};
};
if (_arg2 == this.stage){
if (this.stage == null){
return;
};
_local3 = this.stage.stageHeight;
_local4 = this.stage.stageWidth;
_local5 = 0;
_local6 = 0;
} else {
_local7 = (_arg2 as UISprite);
if (_local7.forcedHeight){
_local3 = _local7.forcedHeight;
} else {
_local3 = _local7.height;
};
if (_local7.forcedWidth){
_local4 = _local7.forcedWidth;
} else {
_local4 = _local7.width;
};
_local5 = 0;
_local6 = 0;
};
switch (_arg1){
case Align.top:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (_local6 + margin.top);
break;
case Align.bottom:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.left:
x = (_local5 + margin.left);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.right:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.center:
x = ((_local4 / 2) - (forcedWidth / 2));
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.topLeft:
x = (_local5 + margin.left);
y = (_local6 + margin.top);
break;
case Align.topRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (_local6 + margin.top);
break;
case Align.bottomLeft:
x = (_local5 + margin.left);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.bottomRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
};
if (((!(listenResize)) && (!((_arg1 == Align.none))))){
_arg2.addEventListener(Event.RESIZE, onResize, false, 0, true);
listenResize = true;
};
this.alignement = _arg1;
this.alignTarget = _arg2;
}
public function get forcedWidth():uint{
if (_forcedWidth){
return (_forcedWidth);
};
return (width);
}
protected function onResize(_arg1:Event):void{
resize();
}
private function _onRemovedFromStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
dispose();
}
public function resize():void{
if (alignement != Align.none){
alignTo(alignement, alignTarget);
};
}
private function _onAddedToStage(_arg1:Event):void{
layout();
resize();
}
public function set forcedHeight(_arg1:uint):void{
_forcedHeight = _arg1;
}
public function set forcedWidth(_arg1:uint):void{
_forcedWidth = _arg1;
}
}
}//package com.google.analytics.debug
Section 51
//Warning (com.google.analytics.debug.Warning)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Warning extends Label {
private var _timer:Timer;
public function Warning(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiWarning", Style.warningColor, Align.top, false);
margin.top = 32;
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 52
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode)
package com.google.analytics.debug {
public class VisualDebugMode {
private var _value:int;
private var _name:String;
public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced");
;
public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek");
;
public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic");
;
public function VisualDebugMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 53
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent)
package com.google.analytics.events {
import flash.events.*;
import com.google.analytics.*;
public class AnalyticsEvent extends Event {
public var tracker:AnalyticsTracker;
public static const READY:String = "ready";
public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.tracker = _arg2;
}
override public function clone():Event{
return (new AnalyticsEvent(type, tracker, bubbles, cancelable));
}
}
}//package com.google.analytics.events
Section 54
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class AdSenseGlobals extends JavascriptProxy {
private var _gaGlobalVerified:Boolean;// = false
public static var gaGlobal_js:XML = <script>
<![CDATA[
function()
{
try
{
gaGlobal
}
catch(e)
{
gaGlobal = {} ;
}
}
]]>
</script>
;
public function AdSenseGlobals(_arg1:DebugConfiguration){
_gaGlobalVerified = false;
super(_arg1);
}
public function set vid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.vid", _arg1);
}
public function get hid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.hid"));
}
public function get dh():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.dh"));
}
public function get gaGlobal():Object{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal"));
}
public function set hid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.hid", _arg1);
}
public function get sid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.sid"));
}
private function _verify():void{
if (!_gaGlobalVerified){
executeBlock(gaGlobal_js);
_gaGlobalVerified = true;
};
}
public function get vid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.vid"));
}
public function set sid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.sid", _arg1);
}
}
}//package com.google.analytics.external
Section 55
//HTMLDOM (com.google.analytics.external.HTMLDOM)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class HTMLDOM extends JavascriptProxy {
private var _referrer:String;
private var _protocol:String;
private var _host:String;
private var _location:String;
private var _pathname:String;
private var _title:String;
private var _characterSet:String;
private var _search:String;
private var _language:String;
private var _colorDepth:String;
public static var cache_properties_js:XML = <script>
<![CDATA[
function()
{
var obj = {};
obj.host = document.location.host;
obj.language = navigator.language ? navigator.language : navigator.browserLanguage;
obj.characterSet = document.characterSet ? document.characterSet : document.charset;
obj.colorDepth = window.screen.colorDepth;
obj.location = document.location.toString();
obj.pathname = document.location.pathname;
obj.protocol = document.location.protocol;
obj.search = document.location.search;
obj.referrer = document.referrer;
obj.title = document.title;
return obj;
}
]]>
</script>
;
public function HTMLDOM(_arg1:DebugConfiguration){
super(_arg1);
}
public function get search():String{
if (_search){
return (_search);
};
if (!isAvailable()){
return (null);
};
_search = getProperty("document.location.search");
return (_search);
}
public function get location():String{
if (_location){
return (_location);
};
if (!isAvailable()){
return (null);
};
_location = getPropertyString("document.location");
return (_location);
}
public function get pathname():String{
if (_pathname){
return (_pathname);
};
if (!isAvailable()){
return (null);
};
_pathname = getProperty("document.location.pathname");
return (_pathname);
}
public function get referrer():String{
if (_referrer){
return (_referrer);
};
if (!isAvailable()){
return (null);
};
_referrer = getProperty("document.referrer");
return (_referrer);
}
public function get protocol():String{
if (_protocol){
return (_protocol);
};
if (!isAvailable()){
return (null);
};
_protocol = getProperty("document.location.protocol");
return (_protocol);
}
public function cacheProperties():void{
var _local1:Object;
if (!isAvailable()){
return;
};
_local1 = call(cache_properties_js);
if (_local1){
_host = _local1.host;
_language = _local1.language;
_characterSet = _local1.characterSet;
_colorDepth = _local1.colorDepth;
_location = _local1.location;
_pathname = _local1.pathname;
_protocol = _local1.protocol;
_search = _local1.search;
_referrer = _local1.referrer;
_title = _local1.title;
};
}
public function get colorDepth():String{
if (_colorDepth){
return (_colorDepth);
};
if (!isAvailable()){
return (null);
};
_colorDepth = getProperty("window.screen.colorDepth");
return (_colorDepth);
}
public function get title():String{
if (_title){
return (_title);
};
if (!isAvailable()){
return (null);
};
_title = getProperty("document.title");
return (_title);
}
public function get host():String{
if (_host){
return (_host);
};
if (!isAvailable()){
return (null);
};
_host = getProperty("document.location.host");
return (_host);
}
public function get characterSet():String{
var _local1:String;
if (_characterSet){
return (_characterSet);
};
if (!isAvailable()){
return (null);
};
_local1 = getProperty("document.characterSet");
if (_local1 == null){
_local1 = getProperty("document.charset");
};
_characterSet = _local1;
return (_characterSet);
}
public function get language():String{
var _local1:String;
if (_language){
return (_language);
};
if (!isAvailable()){
return (null);
};
_local1 = getProperty("navigator.language");
if (_local1 == null){
_local1 = getProperty("navigator.browserLanguage");
};
_language = _local1;
return (_language);
}
}
}//package com.google.analytics.external
Section 56
//JavascriptProxy (com.google.analytics.external.JavascriptProxy)
package com.google.analytics.external {
import com.google.analytics.debug.*;
import flash.external.*;
import flash.system.*;
public class JavascriptProxy {
private var _notAvailableWarning:Boolean;// = true
private var _debug:DebugConfiguration;
public static var setProperty_js:XML = <script>
<![CDATA[
function( path , value )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
target[ prop ] = value ;
}
]]>
</script>
;
public static var hasProperty_js:XML = <script>
<![CDATA[
function( path )
{
var paths;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
}
else
{
paths = [path];
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
if( target )
{
return true;
}
else
{
return false;
}
}
]]>
</script>
;
public static var setPropertyRef_js:XML = <script>
<![CDATA[
function( path , target )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
alert( "paths:"+paths.length+", prop:"+prop );
var targets;
var name;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
alert( "targets:"+targets.length+", name:"+name );
var root = window;
var len = paths.length;
for( var i = 0 ; i < len ; i++ )
{
root = root[ paths[i] ] ;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
root[ prop ] = ref[name] ;
}
]]>
</script>
;
public function JavascriptProxy(_arg1:DebugConfiguration){
_notAvailableWarning = true;
super();
_debug = _arg1;
}
public function getProperty(_arg1:String){
return (call((_arg1 + ".valueOf")));
}
public function hasProperty(_arg1:String):Boolean{
return (call(hasProperty_js, _arg1));
}
public function setProperty(_arg1:String, _arg2):void{
call(setProperty_js, _arg1, _arg2);
}
public function executeBlock(_arg1:String):void{
var data = _arg1;
if (isAvailable()){
try {
ExternalInterface.call(data);
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
}
public function getPropertyString(_arg1:String):String{
return (call((_arg1 + ".toString")));
}
public function setPropertyByReference(_arg1:String, _arg2:String):void{
call(setPropertyRef_js, _arg1, _arg2);
}
public function call(_arg1:String, ... _args){
var output:String;
var functionName = _arg1;
var args = _args;
if (isAvailable()){
try {
if (((_debug.javascript) && (_debug.verbose))){
output = "";
output = ("Flash->JS: " + functionName);
output = (output + "( ");
if (args.length > 0){
output = (output + args.join(","));
};
output = (output + " )");
_debug.info(output);
};
args.unshift(functionName);
return (ExternalInterface.call.apply(ExternalInterface, args));
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
return (null);
}
public function isAvailable():Boolean{
var _local1:Boolean;
_local1 = ExternalInterface.available;
if (((_local1) && ((Capabilities.playerType == "External")))){
_local1 = false;
};
if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){
_debug.warning("ExternalInterface is not available.");
_notAvailableWarning = false;
};
return (_local1);
}
}
}//package com.google.analytics.external
Section 57
//Environment (com.google.analytics.utils.Environment)
package com.google.analytics.utils {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
import flash.system.*;
public class Environment {
private var _dom:HTMLDOM;
private var _appName:String;
private var _debug:DebugConfiguration;
private var _appVersion:Version;
private var _url:String;
private var _protocol:Protocols;
private var _userAgent:UserAgent;
public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){
var _local6:Version;
super();
if (_arg2 == ""){
if (isAIR()){
_arg2 = "AIR";
} else {
_arg2 = "Flash";
};
};
if (_arg3 == ""){
_local6 = flashVersion;
} else {
_local6 = Version.fromString(_arg3);
};
_url = _arg1;
_appName = _arg2;
_appVersion = _local6;
_debug = _arg4;
_dom = _arg5;
}
public function isAIR():Boolean{
return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application"))));
}
public function get playerType():String{
return (Capabilities.playerType);
}
public function get locationSearch():String{
var _local1:String;
_local1 = _dom.search;
if (_local1){
return (_local1);
};
return ("");
}
public function get protocol():Protocols{
if (!_protocol){
_findProtocol();
};
return (_protocol);
}
public function get flashVersion():Version{
var _local1:Version;
_local1 = Version.fromString(Capabilities.version.split(" ")[1], ",");
return (_local1);
}
public function get screenWidth():Number{
return (Capabilities.screenResolutionX);
}
public function get languageEncoding():String{
var _local1:String;
if (System.useCodePage){
_local1 = _dom.characterSet;
if (_local1){
return (_local1);
};
return ("-");
};
return ("UTF-8");
}
public function get appName():String{
return (_appName);
}
public function get screenColorDepth():String{
var _local1:String;
var _local2:String;
switch (Capabilities.screenColor){
case "bw":
_local1 = "1";
break;
case "gray":
_local1 = "2";
break;
case "color":
default:
_local1 = "24";
};
_local2 = _dom.colorDepth;
if (_local2){
_local1 = _local2;
};
return (_local1);
}
private function _findProtocol():void{
var _local1:Protocols;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
_local1 = Protocols.none;
if (_url != ""){
_local4 = _url.toLowerCase();
_local5 = _local4.substr(0, 5);
switch (_local5){
case "file:":
_local1 = Protocols.file;
break;
case "http:":
_local1 = Protocols.HTTP;
break;
case "https":
if (_local4.charAt(5) == ":"){
_local1 = Protocols.HTTPS;
};
break;
default:
_protocol = Protocols.none;
};
};
_local2 = _dom.protocol;
_local3 = (_local1.toString() + ":").toLowerCase();
if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){
_debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2));
};
_protocol = _local1;
}
public function get locationSWFPath():String{
return (_url);
}
public function get platform():String{
var _local1:String;
_local1 = Capabilities.manufacturer;
return (_local1.split("Adobe ")[1]);
}
public function get operatingSystem():String{
return (Capabilities.os);
}
public function set appName(_arg1:String):void{
_appName = _arg1;
userAgent.applicationProduct = _arg1;
}
public function get userAgent():UserAgent{
if (!_userAgent){
_userAgent = new UserAgent(this, appName, appVersion.toString(4));
};
return (_userAgent);
}
ga_internal function set url(_arg1:String):void{
_url = _arg1;
}
public function get referrer():String{
var _local1:String;
_local1 = _dom.referrer;
if (_local1){
return (_local1);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function isInHTML():Boolean{
return ((Capabilities.playerType == "PlugIn"));
}
public function get language():String{
var _local1:String;
var _local2:String;
_local1 = _dom.language;
_local2 = Capabilities.language;
if (_local1){
if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){
_local2 = _local1;
};
};
return (_local2);
}
public function get domainName():String{
var _local1:String;
var _local2:String;
var _local3:int;
if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){
_local1 = _url.toLowerCase();
if (protocol == Protocols.HTTP){
_local2 = _local1.split("http://").join("");
} else {
if (protocol == Protocols.HTTPS){
_local2 = _local1.split("https://").join("");
};
};
_local3 = _local2.indexOf("/");
if (_local3 > -1){
_local2 = _local2.substring(0, _local3);
};
return (_local2);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function set userAgent(_arg1:UserAgent):void{
_userAgent = _arg1;
}
public function set appVersion(_arg1:Version):void{
_appVersion = _arg1;
userAgent.applicationVersion = _arg1.toString(4);
}
public function get screenHeight():Number{
return (Capabilities.screenResolutionY);
}
public function get locationPath():String{
var _local1:String;
_local1 = _dom.pathname;
if (_local1){
return (_local1);
};
return ("");
}
public function get documentTitle():String{
var _local1:String;
_local1 = _dom.title;
if (_local1){
return (_local1);
};
return ("");
}
public function get appVersion():Version{
return (_appVersion);
}
}
}//package com.google.analytics.utils
Section 58
//Protocols (com.google.analytics.utils.Protocols)
package com.google.analytics.utils {
public class Protocols {
private var _value:int;
private var _name:String;
public static const none:Protocols = new Protocols(0, "none");
;
public static const HTTPS:Protocols = new Protocols(3, "HTTPS");
;
public static const file:Protocols = new Protocols(1, "file");
;
public static const HTTP:Protocols = new Protocols(2, "HTTP");
;
public function Protocols(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.utils
Section 59
//Timespan (com.google.analytics.utils.Timespan)
package com.google.analytics.utils {
public class Timespan {
public static var sixmonths:Number = 15768000;
public static var twoyears:Number = 63072000;
public static var thirtyminutes:Number = 1800;
}
}//package com.google.analytics.utils
Section 60
//URL (com.google.analytics.utils.URL)
package com.google.analytics.utils {
public class URL {
private var _url:String;
public function URL(_arg1:String=""){
_url = _arg1.toLowerCase();
}
public function get domain():String{
var _local1:Array;
if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){
_local1 = hostName.split(".");
switch (_local1.length){
case 2:
return (hostName);
case 3:
if (_local1[1] == "co"){
return (hostName);
};
_local1.shift();
return (_local1.join("."));
case 4:
_local1.shift();
return (_local1.join("."));
};
};
return ("");
}
public function get path():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if (_local1.charAt(0) != "/"){
_local1 = ("/" + _local1);
};
return (_local1);
}
public function get protocol():Protocols{
var _local1:String = _url.split("://")[0];
switch (_local1){
case "file":
return (Protocols.file);
case "http":
return (Protocols.HTTP);
case "https":
return (Protocols.HTTPS);
default:
return (Protocols.none);
};
}
public function get hostName():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf("/") > -1){
_local1 = _local1.split("/")[0];
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){
return ("");
};
return (_local1);
}
public function get subDomain():String{
if (((!((domain == ""))) && (!((domain == hostName))))){
return (hostName.split(("." + domain)).join(""));
};
return ("");
}
public function get search():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[1];
} else {
_local1 = "";
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 61
//UserAgent (com.google.analytics.utils.UserAgent)
package com.google.analytics.utils {
import com.google.analytics.core.*;
import flash.system.*;
public class UserAgent {
private var _version:Version;
private var _localInfo:Environment;
private var _applicationProduct:String;
public static var minimal:Boolean = false;
public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){
_localInfo = _arg1;
applicationProduct = _arg2;
_version = Version.fromString(_arg3);
}
public function get tamarinProductToken():String{
if (UserAgent.minimal){
return ("");
};
if (System.vmVersion){
return (("Tamarin/" + Utils.trim(System.vmVersion, true)));
};
return ("");
}
public function set applicationProduct(_arg1:String):void{
_applicationProduct = _arg1;
}
public function get applicationVersion():String{
return (_version.toString(2));
}
public function get applicationProductToken():String{
var _local1:String;
_local1 = applicationProduct;
if (applicationVersion != ""){
_local1 = (_local1 + ("/" + applicationVersion));
};
return (_local1);
}
public function get vendorProductToken():String{
var _local1:String;
_local1 = "";
if (_localInfo.isAIR()){
_local1 = (_local1 + "AIR");
} else {
_local1 = (_local1 + "FlashPlayer");
};
_local1 = (_local1 + "/");
_local1 = (_local1 + _version.toString(3));
return (_local1);
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + applicationProductToken);
if (applicationComment != ""){
_local1 = (_local1 + (" " + applicationComment));
};
if (tamarinProductToken != ""){
_local1 = (_local1 + (" " + tamarinProductToken));
};
if (vendorProductToken != ""){
_local1 = (_local1 + (" " + vendorProductToken));
};
return (_local1);
}
public function get applicationComment():String{
var _local1:Array;
_local1 = [];
_local1.push(_localInfo.platform);
_local1.push(_localInfo.playerType);
if (!UserAgent.minimal){
_local1.push(_localInfo.operatingSystem);
_local1.push(_localInfo.language);
};
if (Capabilities.isDebugger){
_local1.push("DEBUG");
};
if (_local1.length > 0){
return ((("(" + _local1.join("; ")) + ")"));
};
return ("");
}
public function set applicationVersion(_arg1:String):void{
_version = Version.fromString(_arg1);
}
public function get applicationProduct():String{
return (_applicationProduct);
}
}
}//package com.google.analytics.utils
Section 62
//Variables (com.google.analytics.utils.Variables)
package com.google.analytics.utils {
import flash.net.*;
public dynamic class Variables {
public var post:Array;
public var URIencode:Boolean;
public var pre:Array;
public var sort:Boolean;// = true
public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){
pre = [];
post = [];
super();
if (_arg1){
decode(_arg1);
};
if (_arg2){
this.pre = _arg2;
};
if (_arg3){
this.post = _arg3;
};
}
private function _join(_arg1:Variables):void{
var _local2:String;
if (!_arg1){
return;
};
for (_local2 in _arg1) {
this[_local2] = _arg1[_local2];
};
}
public function join(... _args):void{
var _local2:int = _args.length;
var _local3:int;
while (_local3 < _local2) {
if (!(_args[_local3] is Variables)){
} else {
_join(_args[_local3]);
};
_local3++;
};
}
public function toString():String{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:String;
var _local8:String;
var _local1:Array = [];
for (_local3 in this) {
_local2 = this[_local3];
if (URIencode){
_local2 = encodeURI(_local2);
};
_local1.push(((_local3 + "=") + _local2));
};
if (sort){
_local1.sort();
};
if (pre.length > 0){
pre.reverse();
_local5 = 0;
while (_local5 < pre.length) {
_local7 = pre[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local7) == 0){
_local1.unshift(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
pre.reverse();
};
if (post.length > 0){
_local5 = 0;
while (_local5 < post.length) {
_local8 = post[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local8) == 0){
_local1.push(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
};
return (_local1.join("&"));
}
public function decode(_arg1:String):void{
var _local2:Array;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:Array;
if (_arg1 == ""){
return;
};
if (_arg1.indexOf("&") > -1){
_local2 = _arg1.split("&");
} else {
_local2 = [_arg1];
};
var _local7:int;
while (_local7 < _local2.length) {
_local3 = _local2[_local7];
if (_local3.indexOf("=") > -1){
_local6 = _local3.split("=");
_local4 = _local6[0];
_local5 = decodeURI(_local6[1]);
this[_local4] = _local5;
};
_local7++;
};
}
public function toURLVariables():URLVariables{
var _local2:String;
var _local1:URLVariables = new URLVariables();
for (_local2 in this) {
_local1[_local2] = this[_local2];
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 63
//Version (com.google.analytics.utils.Version)
package com.google.analytics.utils {
public class Version {
private var _maxBuild:uint;// = 0xFF
private var _maxMinor:uint;// = 15
private var _maxMajor:uint;// = 15
private var _revision:uint;
private var _separator:String;// = "."
private var _maxRevision:uint;// = 0xFFFF
private var _build:uint;
private var _minor:uint;
private var _major:uint;
public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){
var _local5:Version;
_maxMajor = 15;
_maxMinor = 15;
_maxBuild = 0xFF;
_maxRevision = 0xFFFF;
_separator = ".";
super();
if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){
_local5 = Version.fromNumber(_arg1);
_arg1 = _local5.major;
_arg2 = _local5.minor;
_arg3 = _local5.build;
_arg4 = _local5.revision;
};
this.major = _arg1;
this.minor = _arg2;
this.build = _arg3;
this.revision = _arg4;
}
public function toString(_arg1:int=0):String{
var _local2:Array;
if ((((_arg1 <= 0)) || ((_arg1 > 4)))){
_arg1 = getFields();
};
switch (_arg1){
case 1:
_local2 = [major];
break;
case 2:
_local2 = [major, minor];
break;
case 3:
_local2 = [major, minor, build];
break;
case 4:
default:
_local2 = [major, minor, build, revision];
};
return (_local2.join(_separator));
}
public function get revision():uint{
return (_revision);
}
public function set build(_arg1:uint):void{
_build = Math.min(_arg1, _maxBuild);
}
public function set minor(_arg1:uint):void{
_minor = Math.min(_arg1, _maxMinor);
}
public function get build():uint{
return (_build);
}
public function set major(_arg1:uint):void{
_major = Math.min(_arg1, _maxMajor);
}
public function get minor():uint{
return (_minor);
}
public function valueOf():uint{
return (((((major << 28) | (minor << 24)) | (build << 16)) | revision));
}
public function get major():uint{
return (_major);
}
public function set revision(_arg1:uint):void{
_revision = Math.min(_arg1, _maxRevision);
}
private function getFields():int{
var _local1:int;
_local1 = 4;
if (revision == 0){
_local1--;
};
if ((((_local1 == 3)) && ((build == 0)))){
_local1--;
};
if ((((_local1 == 2)) && ((minor == 0)))){
_local1--;
};
return (_local1);
}
public function equals(_arg1):Boolean{
if (!(_arg1 is Version)){
return (false);
};
if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){
return (true);
};
return (false);
}
public static function fromString(_arg1:String="", _arg2:String="."):Version{
var _local3:Version;
var _local4:Array;
_local3 = new (Version);
if ((((_arg1 == "")) || ((_arg1 == null)))){
return (_local3);
};
if (_arg1.indexOf(_arg2) > -1){
_local4 = _arg1.split(_arg2);
_local3.major = parseInt(_local4[0]);
_local3.minor = parseInt(_local4[1]);
_local3.build = parseInt(_local4[2]);
_local3.revision = parseInt(_local4[3]);
} else {
_local3.major = parseInt(_arg1);
};
return (_local3);
}
public static function fromNumber(_arg1:Number=0):Version{
var _local2:Version;
_local2 = new (Version);
if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){
return (_local2);
};
_local2.major = (_arg1 >>> 28);
_local2.minor = ((_arg1 & 251658240) >>> 24);
_local2.build = ((_arg1 & 0xFF0000) >>> 16);
_local2.revision = (_arg1 & 0xFFFF);
return (_local2);
}
}
}//package com.google.analytics.utils
Section 64
//Bridge (com.google.analytics.v4.Bridge)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
public class Bridge implements GoogleAnalyticsAPI {
private var _debug:DebugConfiguration;
private var _proxy:JavascriptProxy;
private var _jsContainer:String;// = "_GATracker"
private var _hasGATracker:Boolean;// = false
private var _account:String;
private static var _linkTrackingObject_js:XML = <script>
<![CDATA[
function( container , target )
{
var targets ;
var name ;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
window[container][target] = ref[name] ;
}
]]>
</script>
;
private static var _createTrackingObject_js:XML = <script>
<![CDATA[
function( acct )
{
_GATracker[acct] = _gat._getTracker(acct);
}
]]>
</script>
;
private static var _injectTrackingObject_js:XML = <script>
<![CDATA[
function()
{
try
{
_GATracker
}
catch(e)
{
_GATracker = {};
}
}
]]>
</script>
;
private static var _checkGAJS_js:XML = <script>
<![CDATA[
function()
{
if( _gat && _gat._getTracker )
{
return true;
}
return false;
}
]]>
</script>
;
private static var _checkValidTrackingObject_js:XML = <script>
<![CDATA[
function(acct)
{
if( _GATracker[acct] && (_GATracker[acct]._getAccount) )
{
return true ;
}
else
{
return false;
}
}
]]>
</script>
;
public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){
var _local4:String;
var _local5:String;
var _local6:String;
super();
_account = _arg1;
_debug = _arg2;
_proxy = _arg3;
if (!_checkGAJS()){
_local4 = "";
_local4 = (_local4 + "ga.js not found, be sure to check if\n");
_local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n");
_local4 = (_local4 + "is included in the HTML.");
_debug.warning(_local4);
throw (new Error(_local4));
};
if (!_hasGATracker){
if (((_debug.javascript) && (_debug.verbose))){
_local5 = "";
_local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n");
_local5 = (_local5 + "we create it");
_debug.info(_local5, VisualDebugMode.advanced);
};
_injectTrackingObject();
};
if (Utils.validateAccount(_arg1)){
_createTrackingObject(_arg1);
} else {
if (_checkTrackingObject(_arg1)){
_linkTrackingObject(_arg1);
} else {
_local6 = "";
_local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n"));
_local6 = (_local6 + "Bridge object not created.");
_debug.warning(_local6);
throw (new Error(_local6));
};
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )"));
_call("_link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_call("_addOrganic", _arg1);
}
public function setAllowLinker(_arg1:Boolean):void{
_debug.info((("setAllowLinker( " + _arg1) + " )"));
_call("_setAllowLinker", _arg1);
}
private function _linkTrackingObject(_arg1:String):void{
_proxy.call(_linkTrackingObject_js, _jsContainer, _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5 = 2;
if (((_arg3) && (!((_arg3 == ""))))){
_local5 = 3;
};
if ((((_local5 == 3)) && (!(isNaN(_arg4))))){
_local5 = 4;
};
switch (_local5){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4));
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3));
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2));
};
}
public function setClientInfo(_arg1:Boolean):void{
_debug.info((("setClientInfo( " + _arg1) + " )"));
_call("_setClientInfo", _arg1);
}
public function trackTrans():void{
_debug.info("trackTrans()");
_call("_trackTrans");
}
public function setCookieTimeout(_arg1:int):void{
_debug.info((("setCookieTimeout( " + _arg1) + " )"));
_call("_setCookieTimeout", _arg1);
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
_call("_trackPageview", _arg1);
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_call("_getClientInfo"));
}
private function _checkValidTrackingObject(_arg1:String):Boolean{
return (_proxy.call(_checkValidTrackingObject_js, _arg1));
}
private function _checkGAJS():Boolean{
return (_proxy.call(_checkGAJS_js));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented"));
}
private function _call(_arg1:String, ... _args){
_args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1));
return (_proxy.call.apply(_proxy, _args));
}
public function hasGAJS():Boolean{
return (_checkGAJS());
}
private function _checkTrackingObject(_arg1:String):Boolean{
var _local2:Boolean = _proxy.hasProperty(_arg1);
var _local3:Boolean = _proxy.hasProperty((_arg1 + "._getAccount"));
return (((_local2) && (_local3)));
}
public function resetSession():void{
_debug.warning("resetSession() not implemented");
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_call("_getDetectTitle"));
}
public function setCampNameKey(_arg1:String):void{
_debug.info((("setCampNameKey( " + _arg1) + " )"));
_call("_setCampNameKey", _arg1);
}
public function setDetectFlash(_arg1:Boolean):void{
_debug.info((("setDetectFlash( " + _arg1) + " )"));
_call("_setDetectFlash", _arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )"));
_call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_call("_clearIgnoreOrganic");
}
public function setVar(_arg1:String):void{
_debug.info((("setVar( " + _arg1) + " )"));
_call("_setVar", _arg1);
}
public function setDomainName(_arg1:String):void{
_debug.info((("setDomainName( " + _arg1) + " )"));
_call("_setDomainName", _arg1);
}
public function hasTrackingAccount(_arg1:String):Boolean{
if (Utils.validateAccount(_arg1)){
return (_checkValidTrackingObject(_arg1));
};
return (_checkTrackingObject(_arg1));
}
public function setCampSourceKey(_arg1:String):void{
_debug.info((("setCampSourceKey( " + _arg1) + " )"));
_call("_setCampSourceKey", _arg1);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
_debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )"));
_call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
return (null);
}
public function setCampContentKey(_arg1:String):void{
_debug.info((("setCampContentKey( " + _arg1) + " )"));
_call("_setCampContentKey", _arg1);
}
public function setLocalServerMode():void{
_debug.info("setLocalServerMode()");
_call("_setLocalServerMode");
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_call("_getLocalGifPath"));
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_call("_clearIgnoreRef");
}
public function setAllowAnchor(_arg1:Boolean):void{
_debug.info((("setAllowAnchor( " + _arg1) + " )"));
_call("_setAllowAnchor", _arg1);
}
public function setLocalGifPath(_arg1:String):void{
_debug.info((("setLocalGifPath( " + _arg1) + " )"));
_call("_setLocalGifPath", _arg1);
}
public function getVersion():String{
_debug.info("getVersion()");
return (_call("_getVersion"));
}
private function _injectTrackingObject():void{
_proxy.executeBlock(_injectTrackingObject_js);
_hasGATracker = true;
}
public function setCookiePath(_arg1:String):void{
_debug.info((("setCookiePath( " + _arg1) + " )"));
_call("_setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
_debug.info((("setSampleRate( " + _arg1) + " )"));
_call("_setSampleRate", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_debug.info((("setAllowHash( " + _arg1) + " )"));
_call("_setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_call("_addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
_debug.info((("setCampNOKey( " + _arg1) + " )"));
_call("_setCampNOKey", _arg1);
}
public function cookiePathCopy(_arg1:String):void{
_debug.info((("cookiePathCopy( " + _arg1) + " )"));
_call("_cookiePathCopy", _arg1);
}
public function setLocalRemoteServerMode():void{
_debug.info("setLocalRemoteServerMode()");
_call("_setLocalRemoteServerMode");
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_call("_getServiceMode"));
}
public function setDetectTitle(_arg1:Boolean):void{
_debug.info((("setDetectTitle( " + _arg1) + " )"));
_call("_setDetectTitle", _arg1);
}
private function _createTrackingObject(_arg1:String):void{
_proxy.call(_createTrackingObject_js, _arg1);
}
public function setCampaignTrack(_arg1:Boolean):void{
_debug.info((("setCampaignTrack( " + _arg1) + " )"));
_call("_setCampaignTrack", _arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_call("_clearOrganic");
}
public function setCampTermKey(_arg1:String):void{
_debug.info((("setCampTermKey( " + _arg1) + " )"));
_call("_setCampTermKey", _arg1);
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_call("_getDetectFlash"));
}
public function setCampMediumKey(_arg1:String):void{
_debug.info((("setCampMediumKey( " + _arg1) + " )"));
_call("_setCampMediumKey", _arg1);
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_call("_addIgnoredRef", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
_debug.info((("setSessionTimeout( " + _arg1) + " )"));
_call("_setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
_debug.info("setRemoteServerMode()");
_call("_setRemoteServerMode");
}
public function getAccount():String{
_debug.info("getAccount()");
return (_call("_getAccount"));
}
}
}//package com.google.analytics.v4
Section 65
//Configuration (com.google.analytics.v4.Configuration)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.utils.*;
import com.google.analytics.campaign.*;
public class Configuration {
public var serverMode:ServerOperationMode;
public var detectFlash:Boolean;// = true
public var allowLocalTracking:Boolean;// = true
public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif"
public var hasSiteOverlay:Boolean;// = false
private var _version:String;// = "4.3as"
public var allowDomainHash:Boolean;// = true
public var detectClientInfo:Boolean;// = true
public var idleLoop:Number;// = 30
public var isTrackOutboundSubdomains:Boolean;// = false
public var cookiePath:String;// = "/"
public var transactionFieldDelim:String;// = "|"
private var _organic:Organic;
private var _cookieName:String;// = "analytics"
public var campaignKey:CampaignKey;
public var google:String;// = "google"
public var googleCsePath:String;// = "cse"
public var bucketCapacity:Number;// = 10
private var _sampleRate:Number;// = 1
public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif"
public var googleSearchParam:String;// = "q"
public var allowLinker:Boolean;// = false
public var maxOutboundLinkExamined:Number;// = 1000
private var _debug:DebugConfiguration;
private var _trackingLimitPerSession:int;// = 500
private var _domain:Domain;
public var allowAnchor:Boolean;// = false
public var tokenCliff:int;// = 10
public var sessionTimeout:Number;
public var idleTimeout:Number;// = 60
public var campaignTracking:Boolean;// = true
public var domainName:String;// = ""
public var detectTitle:Boolean;// = true
public var tokenRate:Number;// = 0.2
public var conversionTimeout:Number;
public var localGIFpath:String;// = "/__utm.gif"
public function Configuration(_arg1:DebugConfiguration=null){
_version = "4.3as";
_sampleRate = 1;
_trackingLimitPerSession = 500;
_organic = new Organic();
googleCsePath = "cse";
googleSearchParam = "q";
google = "google";
_cookieName = "analytics";
allowDomainHash = true;
allowAnchor = false;
allowLinker = false;
hasSiteOverlay = false;
tokenRate = 0.2;
conversionTimeout = Timespan.sixmonths;
sessionTimeout = Timespan.thirtyminutes;
idleLoop = 30;
idleTimeout = 60;
maxOutboundLinkExamined = 1000;
tokenCliff = 10;
bucketCapacity = 10;
detectClientInfo = true;
detectFlash = true;
detectTitle = true;
campaignKey = new CampaignKey();
campaignTracking = true;
isTrackOutboundSubdomains = false;
serverMode = ServerOperationMode.remote;
localGIFpath = "/__utm.gif";
remoteGIFpath = "http://www.google-analytics.com/__utm.gif";
secureRemoteGIFpath = "https://ssl.google-analytics.com/__utm.gif";
cookiePath = "/";
transactionFieldDelim = "|";
domainName = "";
allowLocalTracking = true;
super();
_debug = _arg1;
_domain = new Domain(DomainNameMode.auto, "", _debug);
serverMode = ServerOperationMode.remote;
_initOrganicSources();
}
public function get organic():Organic{
return (_organic);
}
public function get trackingLimitPerSession():int{
return (_trackingLimitPerSession);
}
private function _initOrganicSources():void{
addOrganicSource(google, googleSearchParam);
addOrganicSource("yahoo", "p");
addOrganicSource("msn", "q");
addOrganicSource("aol", "query");
addOrganicSource("aol", "encquery");
addOrganicSource("lycos", "query");
addOrganicSource("ask", "q");
addOrganicSource("altavista", "q");
addOrganicSource("netscape", "query");
addOrganicSource("cnn", "query");
addOrganicSource("looksmart", "qt");
addOrganicSource("about", "terms");
addOrganicSource("mamma", "query");
addOrganicSource("alltheweb", "q");
addOrganicSource("gigablast", "q");
addOrganicSource("voila", "rdata");
addOrganicSource("virgilio", "qs");
addOrganicSource("live", "q");
addOrganicSource("baidu", "wd");
addOrganicSource("alice", "qs");
addOrganicSource("yandex", "text");
addOrganicSource("najdi", "q");
addOrganicSource("aol", "q");
addOrganicSource("club-internet", "q");
addOrganicSource("mama", "query");
addOrganicSource("seznam", "q");
addOrganicSource("search", "q");
addOrganicSource("wp", "szukaj");
addOrganicSource("onet", "qt");
addOrganicSource("netsprint", "q");
addOrganicSource("google.interia", "q");
addOrganicSource("szukacz", "q");
addOrganicSource("yam", "k");
addOrganicSource("pchome", "q");
addOrganicSource("kvasir", "searchExpr");
addOrganicSource("sesam", "q");
addOrganicSource("ozu", "q");
addOrganicSource("terra", "query");
addOrganicSource("nostrum", "query");
addOrganicSource("mynet", "q");
addOrganicSource("ekolay", "q");
addOrganicSource("search.ilse", "search_for");
}
public function get sampleRate():Number{
return (_sampleRate);
}
public function get cookieName():String{
return (_cookieName);
}
public function addOrganicSource(_arg1:String, _arg2:String):void{
var engine = _arg1;
var keyword = _arg2;
try {
_organic.addSource(engine, keyword);
} catch(e:Error) {
if (((_debug) && (_debug.active))){
_debug.warning(e.message);
};
};
}
public function get domain():Domain{
return (_domain);
}
public function set sampleRate(_arg1:Number):void{
if (_arg1 <= 0){
_arg1 = 0.1;
};
if (_arg1 > 1){
_arg1 = 1;
};
_arg1 = Number(_arg1.toFixed(2));
_sampleRate = _arg1;
}
public function get version():String{
return (_version);
}
}
}//package com.google.analytics.v4
Section 66
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
public interface GoogleAnalyticsAPI {
function setCampSourceKey(_arg1:String):void;
function getServiceMode():ServerOperationMode;
function resetSession():void;
function setLocalServerMode():void;
function setCampContentKey(_arg1:String):void;
function addOrganic(_arg1:String, _arg2:String):void;
function setDetectFlash(_arg1:Boolean):void;
function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object;
function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean;
function setCampTermKey(_arg1:String):void;
function setCampNameKey(_arg1:String):void;
function addIgnoredOrganic(_arg1:String):void;
function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void;
function setAllowLinker(_arg1:Boolean):void;
function getClientInfo():Boolean;
function getDetectFlash():Boolean;
function setCampaignTrack(_arg1:Boolean):void;
function createEventTracker(_arg1:String):EventTracker;
function setCookieTimeout(_arg1:int):void;
function setAllowAnchor(_arg1:Boolean):void;
function trackTrans():void;
function clearOrganic():void;
function trackPageview(_arg1:String=""):void;
function setLocalGifPath(_arg1:String):void;
function getVersion():String;
function getLocalGifPath():String;
function setVar(_arg1:String):void;
function clearIgnoredOrganic():void;
function setCampMediumKey(_arg1:String):void;
function addIgnoredRef(_arg1:String):void;
function setClientInfo(_arg1:Boolean):void;
function setCookiePath(_arg1:String):void;
function setSampleRate(_arg1:Number):void;
function setSessionTimeout(_arg1:int):void;
function setRemoteServerMode():void;
function clearIgnoredRef():void;
function setDomainName(_arg1:String):void;
function setDetectTitle(_arg1:Boolean):void;
function setAllowHash(_arg1:Boolean):void;
function getAccount():String;
function linkByPost(_arg1:Object, _arg2:Boolean=false):void;
function link(_arg1:String, _arg2:Boolean=false):void;
function setCampNOKey(_arg1:String):void;
function setLocalRemoteServerMode():void;
function cookiePathCopy(_arg1:String):void;
function getDetectTitle():Boolean;
}
}//package com.google.analytics.v4
Section 67
//Tracker (com.google.analytics.v4.Tracker)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.data.*;
import com.google.analytics.utils.*;
import com.google.analytics.external.*;
import com.google.analytics.campaign.*;
public class Tracker implements GoogleAnalyticsAPI {
private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3;
private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1;
private const EVENT_TRACKER_PROJECT_ID:int = 5;
private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1;
private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2;
private var _adSense:AdSenseGlobals;
private var _eventTracker:X10;
private var _noSessionInformation:Boolean;// = false
private var _browserInfo:BrowserInfo;
private var _debug:DebugConfiguration;
private var _isNewVisitor:Boolean;// = false
private var _buffer:Buffer;
private var _config:Configuration;
private var _x10Module:X10;
private var _campaign:CampaignManager;
private var _formatedReferrer:String;
private var _timeStamp:Number;
private var _info:Environment;
private var _domainHash:Number;
private var _campaignInfo:CampaignInfo;
private var _gifRequest:GIFRequest;
private var _hasInitData:Boolean;// = false
private var _account:String;
public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals){
var _local8:String;
super();
_account = _arg1;
_config = _arg2;
_debug = _arg3;
_info = _arg4;
_buffer = _arg5;
_gifRequest = _arg6;
_adSense = _arg7;
if (!Utils.validateAccount(_arg1)){
_local8 = (("Account \"" + _arg1) + "\" is not valid.");
_debug.warning(_local8);
throw (new Error(_local8));
};
_initData();
}
private function _doTracking():Boolean{
if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){
return (true);
};
if (_config.allowLocalTracking){
return (true);
};
return (false);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_config.organic.addSource(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_config.allowLinker = _arg1;
_debug.info((("setAllowLinker( " + _config.allowLinker) + " )"));
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5:Boolean;
var _local6 = 2;
if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){
_eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID);
_eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2);
if (((_arg3) && (!((_arg3 == ""))))){
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3);
_local6 = 3;
if (!isNaN(_arg4)){
_local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4);
_local6 = 4;
};
};
if (_local5){
_debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_sendXEvent(_eventTracker);
};
} else {
_debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_local5 = false;
};
switch (_local6){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
break;
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
break;
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
};
return (_local5);
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
if (_doTracking()){
_initData();
_trackMetrics(_arg1);
_noSessionInformation = false;
} else {
_debug.warning((("trackPageview( " + _arg1) + " ) failed"));
};
}
public function setCookieTimeout(_arg1:int):void{
_config.conversionTimeout = _arg1;
_debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )"));
}
public function trackTrans():void{
_debug.warning("trackTrans() not implemented");
}
public function setClientInfo(_arg1:Boolean):void{
_config.detectClientInfo = _arg1;
_debug.info((("setClientInfo( " + _config.detectClientInfo) + " )"));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning((("linkByPost( " + [_arg1, _arg2].join(", ")) + " ) not implemented"));
}
private function _initData():void{
var _local1:String;
var _local2:String;
if (!_hasInitData){
_updateDomainName();
_domainHash = _getDomainHash();
_timeStamp = Math.round((new Date().getTime() / 1000));
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "_initData 0");
_local1 = (_local1 + ("\ndomain name: " + _config.domainName));
_local1 = (_local1 + ("\ndomain hash: " + _domainHash));
_local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_doTracking()){
_handleCookie();
};
if (!_hasInitData){
if (_doTracking()){
_formatedReferrer = _formatReferrer();
_browserInfo = new BrowserInfo(_config, _info);
_debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced);
if (_config.campaignTracking){
_campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp);
_campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation);
_debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced);
};
};
_x10Module = new X10();
_eventTracker = new X10();
_hasInitData = true;
};
if (_config.hasSiteOverlay){
_debug.warning("Site Overlay is not supported");
};
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "_initData (misc)");
_local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4)));
_local2 = (_local2 + ("\nprotocol: " + _info.protocol));
_local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\""));
_local2 = (_local2 + ("\nlanguage: " + _info.language));
_local2 = (_local2 + ("\ndomain hash: " + _getDomainHash()));
_local2 = (_local2 + ("\nuser-agent: " + _info.userAgent));
_debug.info(_local2, VisualDebugMode.geek);
};
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_config.detectTitle);
}
public function resetSession():void{
_debug.info("resetSession()");
_buffer.resetCurrentSession();
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_config.detectClientInfo);
}
private function _sendXEvent(_arg1:X10=null):void{
var _local2:Variables;
var _local3:EventInfo;
var _local4:Variables;
var _local5:Variables;
_initData();
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
_local3 = new EventInfo(true, _x10Module, _arg1);
_local4 = _local3.toVariables();
_local5 = _renderMetricsSearchVariables();
_local2.join(_local4, _local5);
_gifRequest.send(_account, _local2, false, true);
};
}
public function setDetectFlash(_arg1:Boolean):void{
_config.detectFlash = _arg1;
_debug.info((("setDetectFlash( " + _config.detectFlash) + " )"));
}
public function setCampNameKey(_arg1:String):void{
_config.campaignKey.UCCN = _arg1;
var _local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCN]"));
} else {
_debug.info(_local2);
};
}
private function _formatReferrer():String{
var _local2:String;
var _local3:URL;
var _local4:URL;
var _local1:String = _info.referrer;
if ((((_local1 == "")) || ((_local1 == "localhost")))){
_local1 = "-";
} else {
_local2 = _info.domainName;
_local3 = new URL(_local1);
_local4 = new URL(("http://" + _local2));
if (_local3.hostName == _local2){
return ("-");
};
if (_local4.domain == _local3.domain){
if (_local4.subDomain != _local3.subDomain){
_local1 = "0";
};
};
if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){
_local1 = "-";
};
};
_debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced);
return (_local1);
}
private function _visitCode():Number{
if (_debug.verbose){
_debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek);
};
return (_buffer.utma.sessionId);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_debug.warning((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " ) not implemented"));
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_config.organic.clearIgnoredKeywords();
}
public function setVar(_arg1:String):void{
var _local2:Variables;
if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){
_initData();
_buffer.utmv.domainHash = _domainHash;
_buffer.utmv.value = _arg1;
if (_debug.verbose){
_debug.info(_buffer.utmv.toString(), VisualDebugMode.geek);
};
_debug.info((("setVar( " + _arg1) + " )"));
if (_takeSample()){
_local2 = new Variables();
_local2.utmt = "var";
_gifRequest.send(_account, _local2);
};
} else {
_debug.warning((("setVar \"" + _arg1) + "\" is ignored"));
};
}
public function setDomainName(_arg1:String):void{
if (_arg1 == "auto"){
_config.domain.mode = DomainNameMode.auto;
} else {
if (_arg1 == "none"){
_config.domain.mode = DomainNameMode.none;
} else {
_config.domain.mode = DomainNameMode.custom;
_config.domain.name = _arg1;
};
};
_updateDomainName();
_debug.info((("setDomainName( " + _config.domainName) + " )"));
}
private function _updateDomainName():void{
var _local1:String;
if (_config.domain.mode == DomainNameMode.auto){
_local1 = _info.domainName;
if (_local1.substring(0, 4) == "www."){
_local1 = _local1.substring(4);
};
_config.domain.name = _local1;
};
_config.domainName = _config.domain.name.toLowerCase();
_debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
_debug.warning((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " ) not implemented"));
return (null);
}
private function _renderMetricsSearchVariables(_arg1:String=""):Variables{
var _local4:Variables;
var _local2:Variables = new Variables();
_local2.URIencode = true;
var _local3:DocumentInfo = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense);
_debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek);
if (_config.campaignTracking){
_local4 = _campaignInfo.toVariables();
};
var _local5:Variables = _browserInfo.toVariables();
_local2.join(_local3.toVariables(), _local5, _local4);
return (_local2);
}
public function setCampContentKey(_arg1:String):void{
_config.campaignKey.UCCT = _arg1;
var _local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCT]"));
} else {
_debug.info(_local2);
};
}
private function _handleCookie():void{
var _local1:String;
var _local2:String;
var _local3:Array;
var _local4:String;
if (_config.allowLinker){
};
if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){
if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){
_buffer.updateUTMA(_timeStamp);
_noSessionInformation = true;
};
if (_debug.verbose){
_debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek);
};
} else {
_debug.info("create a new utma", VisualDebugMode.advanced);
_buffer.utma.domainHash = _domainHash;
_buffer.utma.sessionId = _getUniqueSessionId();
_buffer.utma.firstTime = _timeStamp;
_buffer.utma.lastTime = _timeStamp;
_buffer.utma.currentTime = _timeStamp;
_buffer.utma.sessionCount = 1;
if (_debug.verbose){
_debug.info(_buffer.utma.toString(), VisualDebugMode.geek);
};
_noSessionInformation = true;
_isNewVisitor = true;
};
if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){
if (_adSense.sid){
_buffer.utma.currentTime = Number(_adSense.sid);
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "AdSense sid found\n");
_local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_isNewVisitor){
if (_adSense.sid){
_buffer.utma.lastTime = Number(_adSense.sid);
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "AdSense sid found (new visitor)\n");
_local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local2, VisualDebugMode.geek);
};
};
if (_adSense.vid){
_local3 = _adSense.vid.split(".");
_buffer.utma.sessionId = Number(_local3[0]);
_buffer.utma.firstTime = Number(_local3[1]);
if (_debug.verbose){
_local4 = "";
_local4 = (_local4 + "AdSense vid found (new visitor)\n");
_local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n"));
_local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")"));
_debug.info(_local4, VisualDebugMode.geek);
};
};
if (_debug.verbose){
_debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek);
};
};
};
_buffer.utmb.domainHash = _domainHash;
if (isNaN(_buffer.utmb.trackCount)){
_buffer.utmb.trackCount = 0;
};
if (isNaN(_buffer.utmb.token)){
_buffer.utmb.token = _config.tokenCliff;
};
if (isNaN(_buffer.utmb.lastTime)){
_buffer.utmb.lastTime = _buffer.utma.currentTime;
};
_buffer.utmc.domainHash = _domainHash;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced);
};
}
public function setLocalServerMode():void{
_config.serverMode = ServerOperationMode.local;
_debug.info("setLocalServerMode()");
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_config.organic.clearIgnoredReferrals();
}
public function setCampSourceKey(_arg1:String):void{
_config.campaignKey.UCSR = _arg1;
var _local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCSR]"));
} else {
_debug.info(_local2);
};
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_config.localGIFpath);
}
public function setLocalGifPath(_arg1:String):void{
_config.localGIFpath = _arg1;
_debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )"));
}
public function getVersion():String{
_debug.info("getVersion()");
return (_config.version);
}
public function setAllowAnchor(_arg1:Boolean):void{
_config.allowAnchor = _arg1;
_debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )"));
}
private function _isNotGoogleSearch():Boolean{
var _local1:String = _config.domainName;
var _local2 = (_local1.indexOf("www.google.") < 0);
var _local3 = (_local1.indexOf(".google.") < 0);
var _local4 = (_local1.indexOf("google.") < 0);
var _local5 = (_local1.indexOf("google.org") > -1);
return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5)));
}
public function setSampleRate(_arg1:Number):void{
if (_arg1 < 0){
_debug.warning("sample rate can not be negative, ignoring value.");
} else {
_config.sampleRate = _arg1;
};
_debug.info((("setSampleRate( " + _config.sampleRate) + " )"));
}
private function _takeSample():Boolean{
if (_debug.verbose){
_debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek);
};
return (((_visitCode() % 10000) < (_config.sampleRate * 10000)));
}
public function setCookiePath(_arg1:String):void{
_config.cookiePath = _arg1;
_debug.info((("setCookiePath( " + _config.cookiePath) + " )"));
}
public function setAllowHash(_arg1:Boolean):void{
_config.allowDomainHash = _arg1;
_debug.info((("setAllowHash( " + _config.allowDomainHash) + " )"));
}
private function _generateUserDataHash():Number{
var _local1 = "";
_local1 = (_local1 + _info.appName);
_local1 = (_local1 + _info.appVersion);
_local1 = (_local1 + _info.language);
_local1 = (_local1 + _info.platform);
_local1 = (_local1 + _info.userAgent.toString());
_local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth));
_local1 = (_local1 + _info.referrer);
return (Utils.generateHash(_local1));
}
public function setCampNOKey(_arg1:String):void{
_config.campaignKey.UCNO = _arg1;
var _local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCNO]"));
} else {
_debug.info(_local2);
};
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_config.organic.addIgnoredKeyword(_arg1);
}
public function setLocalRemoteServerMode():void{
_config.serverMode = ServerOperationMode.both;
_debug.info("setLocalRemoteServerMode()");
}
public function cookiePathCopy(_arg1:String):void{
_debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented"));
}
public function setDetectTitle(_arg1:Boolean):void{
_config.detectTitle = _arg1;
_debug.info((("setDetectTitle( " + _config.detectTitle) + " )"));
}
public function setCampTermKey(_arg1:String):void{
_config.campaignKey.UCTR = _arg1;
var _local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCTR]"));
} else {
_debug.info(_local2);
};
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_config.serverMode);
}
private function _trackMetrics(_arg1:String=""):void{
var _local2:Variables;
var _local3:Variables;
var _local4:Variables;
var _local5:EventInfo;
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
if (((_x10Module) && (_x10Module.hasData()))){
_local5 = new EventInfo(false, _x10Module);
_local3 = _local5.toVariables();
};
_local4 = _renderMetricsSearchVariables(_arg1);
_local2.join(_local3, _local4);
_gifRequest.send(_account, _local2);
};
}
public function setCampaignTrack(_arg1:Boolean):void{
_config.campaignTracking = _arg1;
_debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )"));
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_config.organic.addIgnoredReferral(_arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_config.organic.clearEngines();
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_config.detectFlash);
}
public function setCampMediumKey(_arg1:String):void{
_config.campaignKey.UCMD = _arg1;
var _local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCMD]"));
} else {
_debug.info(_local2);
};
}
private function _getUniqueSessionId():Number{
var _local1:Number = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647);
_debug.info(("Session ID: " + _local1), VisualDebugMode.geek);
return (_local1);
}
private function _getDomainHash():Number{
if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){
_config.domainName = "";
return (1);
};
_updateDomainName();
if (_config.allowDomainHash){
return (Utils.generateHash(_config.domainName));
};
return (1);
}
public function setSessionTimeout(_arg1:int):void{
_config.sessionTimeout = _arg1;
_debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )"));
}
public function getAccount():String{
_debug.info("getAccount()");
return (_account);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_debug.warning((("link( " + [_arg1, _arg2].join(", ")) + " ) not implemented"));
}
public function setRemoteServerMode():void{
_config.serverMode = ServerOperationMode.remote;
_debug.info("setRemoteServerMode()");
}
}
}//package com.google.analytics.v4
Section 68
//AnalyticsTracker (com.google.analytics.AnalyticsTracker)
package com.google.analytics {
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.events.*;
public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher {
function set config(_arg1:Configuration):void;
function isReady():Boolean;
function get mode():String;
function set debug(_arg1:DebugConfiguration):void;
function get account():String;
function set mode(_arg1:String):void;
function get config():Configuration;
function get debug():DebugConfiguration;
function set account(_arg1:String):void;
function get visualDebug():Boolean;
function set visualDebug(_arg1:Boolean):void;
}
}//package com.google.analytics
Section 69
//API (com.google.analytics.API)
package com.google.analytics {
import com.google.analytics.utils.*;
public class API {
public static var version:Version = new Version();
version.major = 1;
version.minor = 0;
version.build = 1;
version.revision = "$Rev: 319 $ ".split(" ")[1];
}
}//package com.google.analytics
Section 70
//GATracker (com.google.analytics.GATracker)
package com.google.analytics {
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.events.*;
import flash.display.*;
import com.google.analytics.utils.*;
import com.google.analytics.external.*;
import com.google.analytics.events.*;
public class GATracker implements AnalyticsTracker {
private var _adSense:AdSenseGlobals;
private var _env:Environment;
private var _visualDebug:Boolean;
private var _idleTimer:IdleTimer;
private var _debug:DebugConfiguration;
private var _buffer:Buffer;
private var _config:Configuration;
private var _mode:String;
private var _display:DisplayObject;
private var _jsproxy:JavascriptProxy;
private var _dom:HTMLDOM;
private var _eventDispatcher:EventDispatcher;
private var _ready:Boolean;// = false
private var _gifRequest:GIFRequest;
private var _account:String;
private var _tracker:GoogleAnalyticsAPI;
public static var version:Version = API.version;
public static var autobuild:Boolean = true;
public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){
_ready = false;
super();
_display = _arg1;
_eventDispatcher = new EventDispatcher(this);
_tracker = new TrackerCache();
this.account = _arg2;
this.mode = _arg3;
this.visualDebug = _arg4;
if (!_arg6){
this.debug = new DebugConfiguration();
};
if (!_arg5){
this.config = new Configuration(_arg6);
};
if (autobuild){
_factory();
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_tracker.link(_arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_tracker.addOrganic(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_tracker.setAllowLinker(_arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4));
}
public function setCookieTimeout(_arg1:int):void{
_tracker.setCookieTimeout(_arg1);
}
public function trackTrans():void{
_tracker.trackTrans();
}
public function trackPageview(_arg1:String=""):void{
_tracker.trackPageview(_arg1);
}
public function getClientInfo():Boolean{
return (_tracker.getClientInfo());
}
public function setClientInfo(_arg1:Boolean):void{
_tracker.setClientInfo(_arg1);
}
public function get account():String{
return (_account);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_tracker.linkByPost(_arg1, _arg2);
}
public function getDetectTitle():Boolean{
return (_tracker.getDetectTitle());
}
public function dispatchEvent(_arg1:Event):Boolean{
return (_eventDispatcher.dispatchEvent(_arg1));
}
public function get config():Configuration{
return (_config);
}
public function set mode(_arg1:String):void{
_mode = _arg1;
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
public function setDetectFlash(_arg1:Boolean):void{
_tracker.setDetectFlash(_arg1);
}
public function resetSession():void{
_tracker.resetSession();
}
public function setCampNameKey(_arg1:String):void{
_tracker.setCampNameKey(_arg1);
}
public function get debug():DebugConfiguration{
return (_debug);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
private function _bridgeFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account));
return (new Bridge(account, _debug, _jsproxy));
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function clearIgnoredOrganic():void{
_tracker.clearIgnoredOrganic();
}
public function set account(_arg1:String):void{
_account = _arg1;
}
public function setVar(_arg1:String):void{
_tracker.setVar(_arg1);
}
public function build():void{
if (!isReady()){
_factory();
};
}
public function setDomainName(_arg1:String):void{
_tracker.setDomainName(_arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
return (_tracker.createEventTracker(_arg1));
}
public function set config(_arg1:Configuration):void{
_config = _arg1;
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8));
}
public function setCampSourceKey(_arg1:String):void{
_tracker.setCampSourceKey(_arg1);
}
public function setCampContentKey(_arg1:String):void{
_tracker.setCampContentKey(_arg1);
}
public function willTrigger(_arg1:String):Boolean{
return (_eventDispatcher.willTrigger(_arg1));
}
public function setLocalServerMode():void{
_tracker.setLocalServerMode();
}
public function isReady():Boolean{
return (_ready);
}
public function getLocalGifPath():String{
return (_tracker.getLocalGifPath());
}
public function setAllowAnchor(_arg1:Boolean):void{
_tracker.setAllowAnchor(_arg1);
}
public function clearIgnoredRef():void{
_tracker.clearIgnoredRef();
}
public function get mode():String{
return (_mode);
}
public function set debug(_arg1:DebugConfiguration):void{
_debug = _arg1;
}
public function setLocalGifPath(_arg1:String):void{
_tracker.setLocalGifPath(_arg1);
}
public function getVersion():String{
return (_tracker.getVersion());
}
public function setSampleRate(_arg1:Number):void{
_tracker.setSampleRate(_arg1);
}
public function setCookiePath(_arg1:String):void{
_tracker.setCookiePath(_arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_tracker.setAllowHash(_arg1);
}
public function setCampNOKey(_arg1:String):void{
_tracker.setCampNOKey(_arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_tracker.addIgnoredOrganic(_arg1);
}
public function setLocalRemoteServerMode():void{
_tracker.setLocalRemoteServerMode();
}
public function cookiePathCopy(_arg1:String):void{
_tracker.cookiePathCopy(_arg1);
}
private function _factory():void{
var _local1:GoogleAnalyticsAPI;
var _local2:TrackerCache;
_jsproxy = new JavascriptProxy(debug);
if (visualDebug){
debug.layout = new Layout(debug, _display);
debug.active = visualDebug;
};
_local2 = (_tracker as TrackerCache);
switch (mode){
case TrackerMode.BRIDGE:
_local1 = _bridgeFactory();
break;
case TrackerMode.AS3:
default:
_local1 = _trackerFactory();
};
if (!_local2.isEmpty()){
_local2.tracker = _local1;
_local2.flush();
};
_tracker = _local1;
_ready = true;
dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this));
}
public function setCampTermKey(_arg1:String):void{
_tracker.setCampTermKey(_arg1);
}
private function _trackerFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account));
_adSense = new AdSenseGlobals(debug);
_dom = new HTMLDOM(debug);
_dom.cacheProperties();
_env = new Environment("", "", "", debug, _dom);
_buffer = new Buffer(config, debug, false);
_gifRequest = new GIFRequest(config, debug, _buffer, _env);
_idleTimer = new IdleTimer(config, debug, _display, _buffer);
_env.url = _display.stage.loaderInfo.url;
return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense));
}
public function setDetectTitle(_arg1:Boolean):void{
_tracker.setDetectTitle(_arg1);
}
public function getServiceMode():ServerOperationMode{
return (_tracker.getServiceMode());
}
public function clearOrganic():void{
_tracker.clearOrganic();
}
public function setCampaignTrack(_arg1:Boolean):void{
_tracker.setCampaignTrack(_arg1);
}
public function addIgnoredRef(_arg1:String):void{
_tracker.addIgnoredRef(_arg1);
}
public function set visualDebug(_arg1:Boolean):void{
_visualDebug = _arg1;
}
public function setCampMediumKey(_arg1:String):void{
_tracker.setCampMediumKey(_arg1);
}
public function setSessionTimeout(_arg1:int):void{
_tracker.setSessionTimeout(_arg1);
}
public function getDetectFlash():Boolean{
return (_tracker.getDetectFlash());
}
public function get visualDebug():Boolean{
return (_visualDebug);
}
public function getAccount():String{
return (_tracker.getAccount());
}
public function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public function setRemoteServerMode():void{
_tracker.setRemoteServerMode();
}
}
var _local1:* = ServerOperationMode;
return (_local1);
}//package com.google.analytics
Section 71
//Booger (core.actors.boogers.Booger)
package core.actors.boogers {
import flash.events.*;
import flash.display.*;
import events.*;
import media.*;
import utils.*;
import data.*;
import core.engine.particles.*;
import core.controls.*;
import core.actors.commuters.*;
public class Booger {
private var _container:MovieClip;
private var _animation:MovieClip;
private var _min:Number;
private var _max:Number;
private var _isClose:Boolean;
private var _isOpen:Boolean;
private var _run:Boolean;
private var _skill:Boolean;
private var _motion:Boolean;
private var _particle:BoogerParticle;
public function Booger(){
_motion = false;
}
public function get particle():BoogerParticle{
return (_particle);
}
private function startHandler(_arg1:GameEvent):void{
var _local2:Controller;
_local2 = (_arg1.data as Controller);
_particle.fixed = true;
_particle.position = _local2.position;
Data.sPoint = _particle.position;
Data.ePoint = _particle.position;
}
private function keydownHandler(_arg1:KeyboardEvent):void{
if (Data.skill == 0){
return;
};
if (_arg1.keyCode != 32){
return;
};
if (py < _min){
return;
};
if (py > _max){
return;
};
if (_skill){
return;
};
_run = true;
_skill = true;
_particle.launch(Config.Skill);
_animation.x = _particle.position.x;
_animation.y = _particle.position.y;
_animation.play();
Data.skill--;
SoundPlayer.instance.playSound("foot", Config.SoundVolume);
}
public function del():void{
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initParticle();
initEvent();
}
public function init():void{
initData();
initDisplayObject();
initLogicObject();
}
private function beginMotionHandler(_arg1:GameEvent):void{
_motion = true;
_container.gotoAndStop(2);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.SLOW));
}
public function get px():Number{
return (_particle.position.x);
}
public function get container():Sprite{
return (_container);
}
public function get py():Number{
return (_particle.position.y);
}
private function readyHandler(_arg1:GameEvent):void{
var _local2:DirtySetter;
_local2 = (_arg1.data as DirtySetter);
_particle.fixed = true;
_particle.velocity = new Vector2D();
_particle.position = _local2.target;
_container.visible = false;
}
private function checkSkill():void{
if (!_run){
return;
};
_run = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.SLOW));
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BEGIN_SKILL));
}
private function addedHandler(_arg1:Event):void{
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_BOOGER, this));
_container.stage.addEventListener(KeyboardEvent.KEY_DOWN, keydownHandler);
}
public function addParent(_arg1:Sprite):void{
_arg1.addChild(_container);
_arg1.addChild(_animation);
}
private function finishEffectHandler(_arg1:GameEvent):void{
var _local2:AbstractCommuter;
var _local3:Vector2D;
var _local4:Vector2D;
_local2 = (_arg1.data as AbstractCommuter);
_local3 = _local2.reaction;
_local4 = _local2.force;
_motion = false;
_particle.fixed = false;
if (speed > Config.Booger_Speed){
_particle.modify(_local3);
} else {
_particle.launch(_local4);
};
_container.gotoAndStop(1);
}
private function delLogicObject():void{
delEvent();
delParticle();
}
private function delContainer():void{
_container.stop();
_container = null;
}
private function delParticle():void{
_particle = null;
}
private function delAnimation():void{
_animation.stop();
_animation = null;
}
private function initParticle():void{
_particle = new BoogerParticle(0, 0, 10, true, true);
}
private function finishLaunchHandler(_arg1:GameEvent):void{
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FAST));
}
public function get motion():Boolean{
return (_motion);
}
public function get speed():Number{
return (_particle.velocity.magnitude());
}
public function update():void{
_container.x = _particle.position.x;
_container.y = _particle.position.y;
_container.rotation = direction();
Data.position = _particle.position;
}
private function finishSettingHandler(_arg1:GameEvent):void{
var _local2:DirtySetter;
var _local3:Vector2D;
_local2 = (_arg1.data as DirtySetter);
_local3 = _local2.force;
_particle.fixed = false;
_particle.launch(_local3);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FAST));
}
public function removeParent(_arg1:Sprite):void{
_arg1.removeChild(_container);
_arg1.removeChild(_animation);
}
private function delEvent():void{
_container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
Broadcast.instance.removeEventListener(GameEvent.START, startHandler);
Broadcast.instance.removeEventListener(GameEvent.READY, readyHandler);
Broadcast.instance.removeEventListener(GameEvent.BEGIN_LAUNCH, beginLaunchHandler);
Broadcast.instance.removeEventListener(GameEvent.FINISH_LAUNCH, finishLaunchHandler);
Broadcast.instance.removeEventListener(GameEvent.BEGIN_MOTION, beginMotionHandler);
Broadcast.instance.removeEventListener(GameEvent.FINISH_MOTION, finishMotionHandler);
Broadcast.instance.removeEventListener(GameEvent.BEGIN_EFFECT, beginEffectHandler);
Broadcast.instance.removeEventListener(GameEvent.FINISH_EFFECT, finishEffectHandler);
Broadcast.instance.removeEventListener(GameEvent.BEGIN_SETTING, beginSettingHandler);
Broadcast.instance.removeEventListener(GameEvent.FINISH_SETTING, finishSettingHandler);
Broadcast.instance.removeEventListener(GameEvent.BEGIN_GETTING, beginGettingHandler);
Broadcast.instance.removeEventListener(GameEvent.FINISH_GETTING, finishGettingHandler);
}
private function beginEffectHandler(_arg1:GameEvent):void{
var _local2:AbstractCommuter;
_local2 = (_arg1.data as AbstractCommuter);
_motion = true;
_particle.fixed = true;
_particle.position = _local2.target;
_container.gotoAndStop(2);
}
private function initAnimation():void{
_animation = Library.getMovieClip("Player_Skill");
_animation.stop();
}
private function delDisplayObject():void{
delAnimation();
delContainer();
}
private function initContainer():void{
_container = Library.getMovieClip("Booger_mc");
_container.visible = false;
_container.stop();
}
private function removedHandler(_arg1:Event):void{
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_BOOGER, this));
_container.stage.removeEventListener(KeyboardEvent.KEY_DOWN, keydownHandler);
}
private function initData():void{
_min = Config.Skill_Extension[0];
_max = Config.Skill_Extension[1];
}
public function refresh():void{
checkState();
checkSkill();
checkAnimation();
checkCondition();
}
private function delData():void{
_min = 0;
_max = 0;
}
private function finishGettingHandler(_arg1:GameEvent):void{
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.OVER));
}
private function finishMotionHandler(_arg1:GameEvent):void{
var _local2:AbstractCommuter;
var _local3:Vector2D;
var _local4:Vector2D;
_local2 = (_arg1.data as AbstractCommuter);
_local3 = _local2.reaction;
_local4 = _local2.force;
_motion = false;
_particle.fixed = false;
if (speed > Config.Booger_Speed){
_particle.modify(_local3);
} else {
_particle.launch(_local4);
};
_container.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FAST));
}
private function beginSettingHandler(_arg1:GameEvent):void{
_isOpen = true;
_particle.velocity = new Vector2D();
_container.visible = true;
_container.scaleX = 0;
_container.scaleY = 0;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.SLOW));
}
private function checkState():void{
if (_isOpen){
if (_container.scaleX < 1){
_container.scaleX = (_container.scaleX + 0.1);
_container.scaleY = (_container.scaleY + 0.1);
} else {
_isOpen = false;
_container.scaleX = 1;
_container.scaleY = 1;
};
};
if (_isClose){
if (_container.scaleX > 0){
_container.scaleX = (_container.scaleX - 0.05);
_container.scaleY = (_container.scaleY - 0.05);
} else {
_isClose = false;
_container.scaleX = 0;
_container.scaleY = 0;
};
};
}
private function initEvent():void{
_container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
Broadcast.instance.addEventListener(GameEvent.START, startHandler);
Broadcast.instance.addEventListener(GameEvent.READY, readyHandler);
Broadcast.instance.addEventListener(GameEvent.BEGIN_LAUNCH, beginLaunchHandler);
Broadcast.instance.addEventListener(GameEvent.FINISH_LAUNCH, finishLaunchHandler);
Broadcast.instance.addEventListener(GameEvent.BEGIN_MOTION, beginMotionHandler);
Broadcast.instance.addEventListener(GameEvent.FINISH_MOTION, finishMotionHandler);
Broadcast.instance.addEventListener(GameEvent.BEGIN_EFFECT, beginEffectHandler);
Broadcast.instance.addEventListener(GameEvent.FINISH_EFFECT, finishEffectHandler);
Broadcast.instance.addEventListener(GameEvent.BEGIN_SETTING, beginSettingHandler);
Broadcast.instance.addEventListener(GameEvent.FINISH_SETTING, finishSettingHandler);
Broadcast.instance.addEventListener(GameEvent.BEGIN_GETTING, beginGettingHandler);
Broadcast.instance.addEventListener(GameEvent.FINISH_GETTING, finishGettingHandler);
}
private function checkAnimation():void{
if (_animation.currentFrame == (_animation.totalFrames - 1)){
_skill = false;
_animation.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FAST));
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FINISH_SKILL));
};
}
private function beginLaunchHandler(_arg1:GameEvent):void{
var _local2:Launcher;
var _local3:Vector2D;
_local2 = (_arg1.data as Launcher);
_local3 = _local2.force;
_isOpen = true;
_particle.fixed = false;
_particle.launch(_local3);
_container.visible = true;
_container.scaleX = 0;
_container.scaleY = 0;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.SLOW));
}
private function beginGettingHandler(_arg1:GameEvent):void{
var _local2:DirtyGetter;
_local2 = (_arg1.data as DirtyGetter);
_isClose = true;
_particle.fixed = true;
_particle.velocity = new Vector2D();
_particle.position = _local2.target;
}
private function initDisplayObject():void{
initContainer();
initAnimation();
}
private function checkCondition():void{
if (_container.y < -55){
return;
};
if (_particle.fixed){
return;
};
if (_particle.velocity.magnitude() > 2){
return;
};
Data.over = true;
}
public function direction():Number{
return (((_particle.velocity.magnitude())<10) ? 0 : _particle.direction);
}
}
}//package core.actors.boogers
Section 72
//AbstractCommuter (core.actors.commuters.AbstractCommuter)
package core.actors.commuters {
import flash.display.*;
import utils.*;
import core.engine.particles.*;
public class AbstractCommuter {
private var _collidable:Boolean;
private var _container:MovieClip;
private var _reaction:Vector2D;
private var _point:Sprite;
private var _control:Boolean;
private var _px:Number;
private var _py:Number;
private var _enable:Boolean;
private var _height:Number;
private var _width:Number;
private var _particle:CommuterParticle;
private var _name:String;
private var _force:Vector2D;
private var _sprite:Sprite;
public function AbstractCommuter(_arg1:String, _arg2:Number=0, _arg3:Number=0){
_name = _arg1;
_px = _arg2;
_py = _arg3;
}
public function get enable():Boolean{
return (_enable);
}
public function get particle():CommuterParticle{
return (_particle);
}
public function set container(_arg1:MovieClip):void{
_container = _arg1;
}
public function del():void{
}
public function set enable(_arg1:Boolean):void{
_enable = _arg1;
}
public function get name():String{
return (_name);
}
public function set particle(_arg1:CommuterParticle):void{
_particle = _arg1;
}
public function set name(_arg1:String):void{
_name = _arg1;
}
public function init():void{
}
public function get py():Number{
return (_py);
}
public function get container():MovieClip{
return (_container);
}
public function set width(_arg1:Number):void{
_width = _arg1;
}
public function get point():Sprite{
return (_point);
}
public function set point(_arg1:Sprite):void{
_point = _arg1;
}
public function set py(_arg1:Number):void{
_py = _arg1;
}
public function get px():Number{
return (_px);
}
public function addParent(_arg1:Sprite):void{
_arg1.addChildAt(_container, 0);
}
public function get height():Number{
return (_height);
}
public function get reaction():Vector2D{
return (_reaction);
}
public function set px(_arg1:Number):void{
_px = _arg1;
}
public function set control(_arg1:Boolean):void{
_control = _arg1;
}
protected function addPaint():void{
_sprite = Painter.drawRectangle(px, py, width, height);
}
public function get target():Vector2D{
return (new Vector2D((container.x + point.x), (container.y + point.y)));
}
protected function removePaint():void{
_sprite = null;
}
public function set collidable(_arg1:Boolean):void{
_collidable = _arg1;
}
public function get width():Number{
return (_width);
}
public function set reaction(_arg1:Vector2D):void{
_reaction = _arg1;
}
public function removeParent(_arg1:Sprite):void{
_arg1.removeChild(_container);
}
public function set force(_arg1:Vector2D):void{
_force = _arg1;
}
public function set height(_arg1:Number):void{
_height = _arg1;
}
public function get collidable():Boolean{
return (_collidable);
}
public function get control():Boolean{
return (_control);
}
public function get force():Vector2D{
return (_force);
}
public function resolve():void{
}
}
}//package core.actors.commuters
Section 73
//BusinessMan (core.actors.commuters.BusinessMan)
package core.actors.commuters {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.engine.particles.*;
public class BusinessMan extends AbstractCommuter {
private const NAME:String = "BusinessMan";
public function BusinessMan(_arg1:Number, _arg2:Number){
super(NAME, _arg1, _arg2);
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initParticle();
initEvent();
}
private function frameHandler(_arg1:Event):void{
if (container.currentFrame == (container.totalFrames - 1)){
container.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FINISH_MOTION, this));
};
}
private function addedHandler(_arg1:Event):void{
if (enable){
return;
};
enable = true;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_COMMUTER, this));
}
private function delParticle():void{
particle = null;
}
private function delLogicObject():void{
delEvent();
delParticle();
}
private function initParticle():void{
particle = new CommuterParticle(px, py, width, height);
particle.name = name;
}
private function collisionHandler(_arg1:GameEvent):void{
var _local2:CommuterParticle;
_local2 = (_arg1.data as CommuterParticle);
if (collidable){
return;
};
if (particle != _local2){
return;
};
collidable = true;
container.play();
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BEGIN_MOTION, this));
}
private function delContainer():void{
container.stop();
container = null;
}
private function delPoint():void{
point = null;
}
private function removedHandler(_arg1:Event):void{
if (!enable){
return;
};
enable = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_COMMUTER, this));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.removeEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initContainer():void{
container = Library.getMovieClip((name + "_mc"));
container.x = px;
container.y = py;
container.stop();
}
private function initData():void{
width = Config.Business_Man["width"];
height = Config.Business_Man["height"];
force = Config.Business_Man["force"];
reaction = Config.Business_Man["reaction"];
}
private function delData():void{
width = 0;
height = 0;
force = null;
reaction = null;
}
private function initPoint():void{
point = (container.getChildByName("point") as Sprite);
}
private function delDisplayObject():void{
delPoint();
delContainer();
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.addEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initDisplayObject():void{
initContainer();
initPoint();
}
}
}//package core.actors.commuters
Section 74
//BusinessWoman (core.actors.commuters.BusinessWoman)
package core.actors.commuters {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.engine.particles.*;
public class BusinessWoman extends AbstractCommuter {
private const NAME:String = "BusinessWoman";
public function BusinessWoman(_arg1:Number, _arg2:Number){
super(NAME, _arg1, _arg2);
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initParticle();
initEvent();
}
private function frameHandler(_arg1:Event):void{
if (container.currentFrame == (container.totalFrames - 1)){
container.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FINISH_MOTION, this));
};
}
private function addedHandler(_arg1:Event):void{
if (enable){
return;
};
enable = true;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_COMMUTER, this));
}
private function delParticle():void{
particle = null;
}
private function delLogicObject():void{
delEvent();
delParticle();
}
private function initParticle():void{
particle = new CommuterParticle(px, py, width, height);
particle.name = name;
}
private function collisionHandler(_arg1:GameEvent):void{
var _local2:CommuterParticle;
_local2 = (_arg1.data as CommuterParticle);
if (collidable){
return;
};
if (particle != _local2){
return;
};
collidable = true;
container.play();
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BEGIN_MOTION, this));
}
private function delContainer():void{
container.stop();
container = null;
}
private function delPoint():void{
point = null;
}
private function removedHandler(_arg1:Event):void{
if (!enable){
return;
};
enable = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_COMMUTER, this));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.removeEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initContainer():void{
container = Library.getMovieClip((name + "_mc"));
container.x = px;
container.y = py;
container.stop();
}
private function initData():void{
width = Config.Business_Woman["width"];
height = Config.Business_Woman["height"];
force = Config.Business_Woman["force"];
reaction = Config.Business_Woman["reaction"];
}
private function delData():void{
width = 0;
height = 0;
force = null;
reaction = null;
}
private function initPoint():void{
point = (container.getChildByName("point") as Sprite);
}
private function delDisplayObject():void{
delPoint();
delContainer();
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.addEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initDisplayObject():void{
initContainer();
initPoint();
}
}
}//package core.actors.commuters
Section 75
//DirtyGetter (core.actors.commuters.DirtyGetter)
package core.actors.commuters {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.engine.particles.*;
public class DirtyGetter extends AbstractCommuter {
private const NAME:String = "DirtyGetter";
public function DirtyGetter(_arg1:Number, _arg2:Number){
super(NAME, _arg1, _arg2);
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initParticle();
initEvent();
}
private function frameHandler(_arg1:Event):void{
if (container.currentFrame == (container.totalFrames - 1)){
container.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FINISH_GETTING));
};
}
private function addedHandler(_arg1:Event):void{
if (enable){
return;
};
enable = true;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_COMMUTER, this));
}
private function delParticle():void{
particle = null;
}
private function delLogicObject():void{
delEvent();
delParticle();
}
private function initParticle():void{
particle = new CommuterParticle(px, py, width, height);
particle.name = name;
}
private function collisionHandler(_arg1:GameEvent):void{
var _local2:CommuterParticle;
_local2 = (_arg1.data as CommuterParticle);
if (collidable){
return;
};
if (particle != _local2){
return;
};
collidable = true;
container.play();
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BEGIN_GETTING, this));
}
private function delContainer():void{
container.stop();
container = null;
}
private function delPoint():void{
point = null;
}
private function removedHandler(_arg1:Event):void{
if (!enable){
return;
};
enable = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_COMMUTER, this));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.removeEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initContainer():void{
container = Library.getMovieClip((name + "_mc"));
container.x = px;
container.y = py;
container.stop();
}
private function initData():void{
width = Config.Dirty_Getter["width"];
height = Config.Dirty_Getter["height"];
force = Config.Dirty_Getter["force"];
reaction = Config.Dirty_Getter["reaction"];
}
private function delData():void{
width = 0;
height = 0;
force = null;
reaction = null;
}
private function initPoint():void{
point = (container.getChildByName("point") as Sprite);
}
private function delDisplayObject():void{
delPoint();
delContainer();
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.addEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initDisplayObject():void{
initContainer();
initPoint();
}
}
}//package core.actors.commuters
Section 76
//DirtySetter (core.actors.commuters.DirtySetter)
package core.actors.commuters {
import flash.events.*;
import flash.display.*;
import events.*;
import media.*;
import utils.*;
import data.*;
import core.engine.particles.*;
public class DirtySetter extends AbstractCommuter {
private const NAME:String = "DirtySetter";
private var _strength:Number;
private var _angle:Number;
public function DirtySetter(_arg1:Number, _arg2:Number){
super(NAME, _arg1, _arg2);
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initParticle();
initEvent();
}
private function frameHandler(_arg1:Event):void{
if (container.currentFrame == (container.totalFrames - 5)){
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BEGIN_SETTING, this));
SoundPlayer.instance.playSound("launch", Config.SoundVolume);
};
if (container.currentFrame == (container.totalFrames - 1)){
control = false;
container.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FINISH_SETTING, this));
};
}
private function addedHandler(_arg1:Event):void{
if (enable){
return;
};
enable = true;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_COMMUTER, this));
}
private function delParticle():void{
particle = null;
}
private function delLogicObject():void{
delEvent();
delParticle();
}
private function delContainer():void{
container.stop();
container = null;
}
private function collisionHandler(_arg1:GameEvent):void{
var _local2:CommuterParticle;
_local2 = (_arg1.data as CommuterParticle);
if (collidable){
return;
};
if (particle != _local2){
return;
};
control = true;
collidable = true;
container.stop();
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.CONTROL, this));
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.READY, this));
}
private function delPoint():void{
point = null;
}
private function strengthHandler(_arg1:GameEvent):void{
var _local2:Number;
var _local3:Vector2D;
if (!control){
return;
};
_local2 = (_arg1.data as Number);
_local3 = force.clone();
force = _local3.mult(_local2);
_strength = _local2;
container.play();
SoundPlayer.instance.playSound("ready", Config.SoundVolume);
}
private function removedHandler(_arg1:Event):void{
if (!enable){
return;
};
enable = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_COMMUTER, this));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.removeEventListener(GameEvent.COLLISION, collisionHandler);
Broadcast.instance.removeEventListener(GameEvent.ADJUST_ANGLE, angleHandler);
Broadcast.instance.removeEventListener(GameEvent.ADJUST_STRENGTH, strengthHandler);
}
private function initContainer():void{
container = Library.getMovieClip((name + "_mc"));
container.x = px;
container.y = py;
container.stop();
}
private function initParticle():void{
particle = new CommuterParticle(px, py, width, height);
particle.name = name;
}
private function initData():void{
width = Config.Dirty_Setter["width"];
height = Config.Dirty_Setter["height"];
force = Config.Dirty_Setter["force"];
reaction = Config.Dirty_Setter["reaction"];
}
private function delData():void{
width = 0;
height = 0;
force = null;
reaction = null;
}
private function initPoint():void{
point = (container.getChildByName("point") as Sprite);
}
private function delDisplayObject():void{
delPoint();
delContainer();
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.addEventListener(GameEvent.COLLISION, collisionHandler);
Broadcast.instance.addEventListener(GameEvent.ADJUST_ANGLE, angleHandler);
Broadcast.instance.addEventListener(GameEvent.ADJUST_STRENGTH, strengthHandler);
}
private function initDisplayObject():void{
initContainer();
initPoint();
}
private function angleHandler(_arg1:GameEvent):void{
var _local2:Number;
var _local3:Vector2D;
if (!control){
return;
};
_local2 = (_arg1.data as Number);
_local3 = force.clone();
force = _local3.rotateByAngle(_local2);
_angle = _local2;
}
}
}//package core.actors.commuters
Section 77
//Grandma (core.actors.commuters.Grandma)
package core.actors.commuters {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.engine.particles.*;
public class Grandma extends AbstractCommuter {
private const NAME:String = "Grandma";
public function Grandma(_arg1:Number, _arg2:Number){
super(NAME, _arg1, _arg2);
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initParticle();
initEvent();
}
private function frameHandler(_arg1:Event):void{
}
private function addedHandler(_arg1:Event):void{
if (enable){
return;
};
enable = true;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_COMMUTER, this));
}
private function delParticle():void{
particle = null;
}
private function delLogicObject():void{
delEvent();
delParticle();
}
private function initParticle():void{
particle = new CommuterParticle(px, py, width, height);
particle.name = name;
}
private function collisionHandler(_arg1:GameEvent):void{
var _local2:CommuterParticle;
_local2 = (_arg1.data as CommuterParticle);
if (collidable){
return;
};
if (particle != _local2){
return;
};
collidable = true;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.OPEN, this));
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BEGIN_EFFECT, this));
}
private function closeHandler(_arg1:GameEvent):void{
container.gotoAndStop(2);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FINISH_EFFECT, this));
}
private function delContainer():void{
container.stop();
container = null;
}
private function delPoint():void{
point = null;
}
private function removedHandler(_arg1:Event):void{
if (!enable){
return;
};
enable = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_COMMUTER, this));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.removeEventListener(GameEvent.CLOSE, closeHandler);
Broadcast.instance.removeEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initContainer():void{
container = Library.getMovieClip((name + "_mc"));
container.x = px;
container.y = py;
container.stop();
}
private function initData():void{
width = Config.Grandma["width"];
height = Config.Grandma["height"];
force = Config.Grandma["force"];
reaction = Config.Grandma["reaction"];
}
private function delData():void{
width = 0;
height = 0;
force = null;
reaction = null;
}
private function initPoint():void{
point = (container.getChildByName("point") as Sprite);
}
private function delDisplayObject():void{
delPoint();
delContainer();
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.addEventListener(GameEvent.CLOSE, closeHandler);
Broadcast.instance.addEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initDisplayObject():void{
initContainer();
initPoint();
}
}
}//package core.actors.commuters
Section 78
//Launcher (core.actors.commuters.Launcher)
package core.actors.commuters {
import flash.events.*;
import flash.display.*;
import events.*;
import media.*;
import utils.*;
import data.*;
import core.engine.particles.*;
public class Launcher extends AbstractCommuter {
private const NAME:String = "Launcher";
private var _strength:Number;
private var _angle:Number;
public function Launcher(_arg1:Number, _arg2:Number){
super(NAME, _arg1, _arg2);
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initParticle();
initEvent();
}
private function frameHandler(_arg1:Event):void{
if (container.currentFrame == (container.totalFrames - 5)){
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BEGIN_LAUNCH, this));
SoundPlayer.instance.playSound("launch", Config.SoundVolume);
};
if (container.currentFrame == (container.totalFrames - 1)){
control = false;
container.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FINISH_LAUNCH, this));
};
}
private function addedHandler(_arg1:Event):void{
if (enable){
return;
};
enable = true;
control = true;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_LAUNCHER, this));
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_COMMUTER, this));
}
private function delParticle():void{
particle = null;
}
private function delLogicObject():void{
delEvent();
delParticle();
}
private function delContainer():void{
container.stop();
container = null;
}
private function delPoint():void{
point = null;
}
private function strengthHandler(_arg1:GameEvent):void{
var _local2:Number;
var _local3:Vector2D;
if (!control){
return;
};
_local2 = (_arg1.data as Number);
_local3 = force.clone();
force = _local3.mult(_local2);
_strength = _local2;
container.play();
SoundPlayer.instance.playSound("ready", Config.SoundVolume);
}
private function removedHandler(_arg1:Event):void{
if (!enable){
return;
};
enable = false;
control = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_LAUNCHER, this));
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_COMMUTER, this));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.removeEventListener(GameEvent.ADJUST_ANGLE, angleHandler);
Broadcast.instance.removeEventListener(GameEvent.ADJUST_STRENGTH, strengthHandler);
}
private function initContainer():void{
container = Library.getMovieClip((name + "_mc"));
container.x = px;
container.y = py;
container.stop();
}
private function initParticle():void{
particle = new CommuterParticle(px, py, width, height, true, false);
particle.name = name;
}
private function initData():void{
width = Config.Launcher["width"];
height = Config.Launcher["height"];
force = Config.Launcher["force"];
reaction = Config.Launcher["reaction"];
}
private function delData():void{
width = 0;
height = 0;
force = null;
reaction = null;
}
private function initPoint():void{
point = (container.getChildByName("point") as Sprite);
}
private function delDisplayObject():void{
delPoint();
delContainer();
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.addEventListener(GameEvent.ADJUST_ANGLE, angleHandler);
Broadcast.instance.addEventListener(GameEvent.ADJUST_STRENGTH, strengthHandler);
}
private function initDisplayObject():void{
initContainer();
initPoint();
}
private function angleHandler(_arg1:GameEvent):void{
var _local2:Number;
var _local3:Vector2D;
if (!control){
return;
};
_local2 = (_arg1.data as Number);
_local3 = force.clone();
force = _local3.rotateByAngle(_local2);
_angle = _local2;
}
}
}//package core.actors.commuters
Section 79
//SchoolBoy (core.actors.commuters.SchoolBoy)
package core.actors.commuters {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.engine.particles.*;
public class SchoolBoy extends AbstractCommuter {
private const NAME:String = "SchoolBoy";
public function SchoolBoy(_arg1:Number, _arg2:Number){
super(NAME, _arg1, _arg2);
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initParticle();
initEvent();
}
private function frameHandler(_arg1:Event):void{
if (container.currentFrame == (container.totalFrames - 1)){
container.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FINISH_MOTION, this));
};
}
private function addedHandler(_arg1:Event):void{
if (enable){
return;
};
enable = true;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_COMMUTER, this));
}
private function delParticle():void{
particle = null;
}
private function delLogicObject():void{
delEvent();
delParticle();
}
private function initParticle():void{
particle = new CommuterParticle(px, py, width, height);
particle.name = name;
}
private function collisionHandler(_arg1:GameEvent):void{
var _local2:CommuterParticle;
_local2 = (_arg1.data as CommuterParticle);
if (collidable){
return;
};
if (particle != _local2){
return;
};
collidable = true;
container.play();
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BEGIN_MOTION, this));
}
private function delContainer():void{
container.stop();
container = null;
}
private function delPoint():void{
point = null;
}
private function removedHandler(_arg1:Event):void{
if (!enable){
return;
};
enable = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_COMMUTER, this));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.removeEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initContainer():void{
container = Library.getMovieClip((name + "_mc"));
container.x = px;
container.y = py;
container.stop();
}
private function initData():void{
width = Config.School_Boy["width"];
height = Config.School_Boy["height"];
force = Config.School_Boy["force"];
reaction = Config.School_Boy["reaction"];
}
private function delData():void{
width = 0;
height = 0;
force = null;
reaction = null;
}
private function initPoint():void{
point = (container.getChildByName("point") as Sprite);
}
private function delDisplayObject():void{
delPoint();
delContainer();
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.addEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initDisplayObject():void{
initContainer();
initPoint();
}
}
}//package core.actors.commuters
Section 80
//SchoolGirl (core.actors.commuters.SchoolGirl)
package core.actors.commuters {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.engine.particles.*;
public class SchoolGirl extends AbstractCommuter {
private const NAME:String = "SchoolGirl";
public function SchoolGirl(_arg1:Number, _arg2:Number){
super(NAME, _arg1, _arg2);
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initParticle();
initEvent();
}
private function frameHandler(_arg1:Event):void{
if (container.currentFrame == (container.totalFrames - 1)){
container.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FINISH_MOTION, this));
};
}
private function addedHandler(_arg1:Event):void{
if (enable){
return;
};
enable = true;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADD_COMMUTER, this));
}
private function delParticle():void{
particle = null;
}
private function delLogicObject():void{
delEvent();
delParticle();
}
private function initParticle():void{
particle = new CommuterParticle(px, py, width, height);
particle.name = name;
}
private function collisionHandler(_arg1:GameEvent):void{
var _local2:CommuterParticle;
_local2 = (_arg1.data as CommuterParticle);
if (collidable){
return;
};
if (particle != _local2){
return;
};
collidable = true;
container.play();
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BEGIN_MOTION, this));
}
private function delContainer():void{
container.stop();
container = null;
}
private function delPoint():void{
point = null;
}
private function removedHandler(_arg1:Event):void{
if (!enable){
return;
};
enable = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REMOVE_COMMUTER, this));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.removeEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initContainer():void{
container = Library.getMovieClip((name + "_mc"));
container.x = px;
container.y = py;
container.stop();
}
private function initData():void{
width = Config.School_Girl["width"];
height = Config.School_Girl["height"];
force = Config.School_Girl["force"];
reaction = Config.School_Girl["reaction"];
}
private function delData():void{
width = 0;
height = 0;
force = null;
reaction = null;
}
private function initPoint():void{
point = (container.getChildByName("point") as Sprite);
}
private function delDisplayObject():void{
delPoint();
delContainer();
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, frameHandler);
Broadcast.instance.addEventListener(GameEvent.COLLISION, collisionHandler);
}
private function initDisplayObject():void{
initContainer();
initPoint();
}
}
}//package core.actors.commuters
Section 81
//Stain (core.actors.stains.Stain)
package core.actors.stains {
import flash.display.*;
import events.*;
import media.*;
import utils.*;
import data.*;
import core.actors.boogers.*;
import core.engine.particles.*;
public class Stain {
private var _container:Sprite;
private var _collisions:Array;
private var _enable:Boolean;
private var _bounces:Array;
private var _booger:Booger;
private function initDisplayObject():void{
initContainer();
}
private function initLogicObject():void{
initBounces();
initCollisions();
initEvent();
}
private function delCollisions():void{
var _local1:int;
var _local2:int;
_local1 = _collisions.length;
_local2 = 0;
while (_local2 < _local1) {
removeCollision();
_local2++;
};
_collisions = null;
}
public function init():void{
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
_container = new Sprite();
}
public function del():void{
delLogicObject();
delDisplayObject();
}
public function removeParent(_arg1:Sprite):void{
_arg1.removeChild(_container);
}
private function delDisplayObject():void{
delContainer();
}
private function removeBounce():void{
var _local1:MovieClip;
_local1 = _bounces[0];
_local1.stop();
_local1.addFrameScript((_local1.totalFrames - 1), null);
_container.removeChild(_local1);
_bounces.shift();
}
private function collisionComplete():void{
removeCollision();
}
private function addBounce():void{
var _local1:MovieClip;
_local1 = getBounceEffect();
_local1.x = _booger.particle.position.x;
_local1.y = -25;
_local1.play();
_local1.addFrameScript((_local1.totalFrames - 1), bounceComplete);
_container.addChild(_local1);
_bounces.push(_local1);
}
private function delEvent():void{
Broadcast.instance.removeEventListener(GameEvent.ADD_BOOGER, addBoogerHandler);
Broadcast.instance.removeEventListener(GameEvent.REMOVE_BOOGER, removeBoogerHandler);
Broadcast.instance.removeEventListener(GameEvent.BOUNCE, bounceHandler);
Broadcast.instance.removeEventListener(GameEvent.COLLISION, collisionHandler);
}
private function delBounces():void{
var _local1:int;
var _local2:int;
_local1 = _bounces.length;
_local2 = 0;
while (_local2 < _local1) {
removeBounce();
_local2++;
};
_bounces = null;
}
private function bounceComplete():void{
removeBounce();
}
private function receiveSound():void{
SoundPlayer.instance.playSound("receive", Config.SoundVolume);
}
private function removeCollision():void{
var _local1:MovieClip;
_local1 = _collisions[0];
_local1.stop();
_local1.addFrameScript((_local1.totalFrames - 1), null);
_container.removeChild(_local1);
_collisions.shift();
}
private function initEvent():void{
Broadcast.instance.addEventListener(GameEvent.ADD_BOOGER, addBoogerHandler);
Broadcast.instance.addEventListener(GameEvent.REMOVE_BOOGER, removeBoogerHandler);
Broadcast.instance.addEventListener(GameEvent.BOUNCE, bounceHandler);
Broadcast.instance.addEventListener(GameEvent.COLLISION, collisionHandler);
}
public function addParent(_arg1:Sprite):void{
_arg1.addChildAt(_container, (_arg1.numChildren - 2));
}
private function getCollisionEffect():MovieClip{
return (Library.getMovieClip("Collision_mc"));
}
private function bounceSound():void{
SoundPlayer.instance.playSound("bounce", Config.SoundVolume);
}
private function getBounceEffect():MovieClip{
return (Library.getMovieClip("Bounce_mc"));
}
private function delLogicObject():void{
delEvent();
delCollisions();
delBounces();
}
private function removeBoogerHandler(_arg1:GameEvent):void{
_booger = null;
_enable = false;
}
private function delContainer():void{
_container = null;
}
private function addBoogerHandler(_arg1:GameEvent):void{
_booger = (_arg1.data as Booger);
_enable = true;
}
private function initCollisions():void{
_collisions = new Array();
}
private function bounceHandler(_arg1:GameEvent):void{
addBounce();
bounceSound();
}
private function initBounces():void{
_bounces = new Array();
}
private function collisionSound():void{
SoundPlayer.instance.playSound("collision", Config.SoundVolume);
}
private function addCollision():void{
var _local1:MovieClip;
_local1 = getCollisionEffect();
_local1.x = _booger.particle.position.x;
_local1.y = _booger.particle.position.y;
_local1.play();
_local1.addFrameScript((_local1.totalFrames - 1), collisionComplete);
_container.addChild(_local1);
_collisions.push(_local1);
}
private function collisionHandler(_arg1:GameEvent):void{
var _local2:CommuterParticle;
_local2 = (_arg1.data as CommuterParticle);
if (_local2.name == "DirtyGetter"){
receiveSound();
return;
};
if (_local2.name == "Grandma"){
collisionSound();
return;
};
addCollision();
collisionSound();
}
}
}//package core.actors.stains
Section 82
//Actor (core.actors.Actor)
package core.actors {
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.scenes.tiles.*;
import core.actors.boogers.*;
import core.actors.stains.*;
import core.actors.commuters.*;
public class Actor {
private var _booger:Booger;
private var _container:Sprite;
private var _tiles:Array;
private var _stain:Stain;
private var _commuters:Array;
public function get container():Sprite{
return (_container);
}
private function initBooger():void{
_booger = new Booger();
_booger.init();
_booger.addParent(_container);
}
public function del():void{
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initBooger();
initCommuters();
initStain();
initTiles();
initEvent();
}
public function init():void{
initDisplayObject();
initLogicObject();
}
private function initStain():void{
_stain = new Stain();
_stain.init();
_stain.addParent(_container);
}
private function delCommuters():void{
_commuters = null;
}
private function commuter():String{
return (Data.randomCommuter());
}
private function buildDirtySetter(_arg1:Vector2D):void{
var _local2:DirtySetter;
_local2 = new DirtySetter(_arg1.x, _arg1.y);
_local2.init();
_local2.addParent(_container);
_commuters.push(_local2);
}
public function addParent(_arg1:Sprite):void{
_arg1.addChildAt(_container, 0);
}
private function buildBusinessMan(_arg1:Vector2D):void{
var _local2:BusinessMan;
_local2 = new BusinessMan(_arg1.x, _arg1.y);
_local2.init();
_local2.addParent(_container);
_commuters.push(_local2);
}
private function buildLauncher(_arg1:Vector2D):void{
var _local2:Launcher;
_local2 = new Launcher(_arg1.x, _arg1.y);
_local2.init();
_local2.addParent(_container);
_commuters.push(_local2);
}
private function buildDirtyGetter(_arg1:Vector2D):void{
var _local2:DirtyGetter;
_local2 = new DirtyGetter(_arg1.x, _arg1.y);
_local2.init();
_local2.addParent(_container);
_commuters.push(_local2);
}
private function initCommuters():void{
_commuters = new Array();
}
private function createCommuter(_arg1:String, _arg2:Tile):void{
switch (_arg1){
case "Launcher":
buildLauncher(_arg2.target);
break;
case "Grandma":
buildGrandma(_arg2.target);
break;
case "School_Boy":
buildSchoolBoy(_arg2.target);
break;
case "School_Girl":
buildSchoolGirl(_arg2.target);
break;
case "Business_Man":
buildBusinessMan(_arg2.target);
break;
case "Business_Woman":
buildBusinessWoman(_arg2.target);
break;
case "Dirty_Setter":
buildDirtySetter(_arg2.target);
break;
case "Dirty_Getter":
buildDirtyGetter(_arg2.target);
break;
default:
trace("error commuter");
break;
};
}
private function delContainer():void{
_container = null;
}
private function delLogicObject():void{
delEvent();
delTiles();
delStain();
delCommuters();
delBooger();
}
private function delTiles():void{
_tiles = null;
}
private function unloadTileHandler(_arg1:GameEvent):void{
var _local2:Tile;
var _local3:int;
_local2 = (_arg1.data as Tile);
_local3 = _tiles.indexOf(_local2);
destroyTile(_local3);
destroyCommuter(_local3);
}
private function buildSchoolGirl(_arg1:Vector2D):void{
var _local2:SchoolGirl;
_local2 = new SchoolGirl(_arg1.x, _arg1.y);
_local2.init();
_local2.addParent(_container);
_commuters.push(_local2);
}
private function destroyCommuter(_arg1:int):void{
var _local2:AbstractCommuter;
_local2 = _commuters[_arg1];
_local2.removeParent(_container);
_local2.del();
_local2 = null;
_commuters.splice(_arg1, 1);
}
private function delBooger():void{
_booger.removeParent(_container);
_booger.del();
_booger = null;
}
private function destroyTile(_arg1:int):void{
_tiles.splice(_arg1, 1);
}
public function update():void{
_booger.update();
}
private function createTile(_arg1:Tile):void{
_tiles.push(_arg1);
}
public function removeParent(_arg1:Sprite):void{
_arg1.removeChild(_container);
}
private function delEvent():void{
Broadcast.instance.removeEventListener(GameEvent.LOAD_TILE, loadTileHandler);
Broadcast.instance.removeEventListener(GameEvent.UNLOAD_TILE, unloadTileHandler);
}
private function initContainer():void{
_container = new Sprite();
}
private function buildGrandma(_arg1:Vector2D):void{
var _local2:Grandma;
_local2 = new Grandma(_arg1.x, _arg1.y);
_local2.init();
_local2.addParent(_container);
_commuters.push(_local2);
}
private function buildBusinessWoman(_arg1:Vector2D):void{
var _local2:BusinessWoman;
_local2 = new BusinessWoman(_arg1.x, _arg1.y);
_local2.init();
_local2.addParent(_container);
_commuters.push(_local2);
}
private function initTiles():void{
_tiles = new Array();
}
private function delDisplayObject():void{
delContainer();
}
public function get booger():Booger{
return (_booger);
}
public function refresh():void{
_booger.refresh();
}
private function buildSchoolBoy(_arg1:Vector2D):void{
var _local2:SchoolBoy;
_local2 = new SchoolBoy(_arg1.x, _arg1.y);
_local2.init();
_local2.addParent(_container);
_commuters.push(_local2);
}
private function initEvent():void{
Broadcast.instance.addEventListener(GameEvent.LOAD_TILE, loadTileHandler);
Broadcast.instance.addEventListener(GameEvent.UNLOAD_TILE, unloadTileHandler);
}
private function loadTileHandler(_arg1:GameEvent):void{
var _local2:Tile;
var _local3:String;
_local2 = (_arg1.data as Tile);
_local3 = (_local2.random) ? commuter() : _local2.source;
createTile(_local2);
createCommuter(_local3, _local2);
}
private function initDisplayObject():void{
initContainer();
}
private function delStain():void{
_stain.removeParent(_container);
_stain.del();
_stain = null;
}
}
}//package core.actors
Section 83
//Controller (core.controls.Controller)
package core.controls {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.actors.commuters.*;
public class Controller {
private const NAME:String = "Control";
private var _container:Sprite;
private var _minusAngleSpeed:Number;
private var _plusAngleSpeed:Number;
private var _strengthSpeed:Number;
private var _count:int;
private var _status:String;
private var _maxStrengthValue:Number;
private var _plusStrengthSpeed:Number;
private var _state:Boolean;
private var _minusStrengthSpeed:Number;
private var _strength:Sprite;
private var _strengthValue:Number;
private var _strengthEnable:Boolean;
private var _enable:Boolean;
private var _minAngleValue:Number;
private var _angleSpeed:Number;
private var _angle:Sprite;
private var _minStrengthValue:Number;
private var _maxAngleValue:Number;
private var _angleEnable:Boolean;
private var _angleValue:Number;
private function delAngle():void{
_angle = null;
}
public function init():void{
initData();
initDisplayObject();
initLogicObject();
}
public function del():void{
delData();
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initEvent();
}
public function addParent(_arg1:Sprite):void{
_arg1.addChildAt(_container, 1);
}
private function mouseUpHandler(_arg1:MouseEvent):void{
}
private function enterframe(_arg1:Event):void{
if (_state){
if (_count == 60){
_count = 0;
_state = false;
_container.visible = false;
} else {
_count++;
};
};
}
public function get container():Sprite{
return (_container);
}
private function addLauncherHandler(_arg1:GameEvent):void{
var _local2:Launcher;
_local2 = (_arg1.data as Launcher);
_state = false;
_enable = true;
_angleEnable = true;
_strengthEnable = false;
_container.visible = true;
_container.x = _local2.target.x;
_container.y = _local2.target.y;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.START, this));
}
private function delLogicObject():void{
delEvent();
}
private function controlHandler(_arg1:GameEvent):void{
var _local2:DirtySetter;
_local2 = (_arg1.data as DirtySetter);
_state = false;
_enable = true;
_angleEnable = true;
_strengthEnable = false;
_angleValue = _minAngleValue;
_angleSpeed = _plusAngleSpeed;
_strengthValue = _minStrengthValue;
_strengthSpeed = _plusStrengthSpeed;
_angle.rotation = angleValue();
_strength.scaleX = strengthValue();
_strength.scaleY = strengthValue();
_container.visible = true;
_container.x = _local2.target.x;
_container.y = _local2.target.y;
}
private function runAngle():void{
_angleValue = (_angleValue + _angleSpeed);
}
private function delStrengthData():void{
_strengthValue = 0;
_minStrengthValue = 0;
_maxStrengthValue = 0;
_strengthSpeed = 0;
_plusStrengthSpeed = 0;
_minusStrengthSpeed = 0;
}
private function updateAngle():void{
if (!_angleEnable){
return;
};
runAngle();
checkAngle();
refreshAngle();
}
private function refreshAngle():void{
_angle.rotation = angleValue();
}
private function addedHandler(_arg1:Event):void{
_container.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
_container.stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
_container.parent.parent.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function initStrengthData():void{
_strengthValue = Config.Strength[0];
_minStrengthValue = Config.Strength[0];
_maxStrengthValue = Config.Strength[1];
_strengthSpeed = Config.Strength_Speed[0];
_plusStrengthSpeed = Config.Strength_Speed[0];
_minusStrengthSpeed = Config.Strength_Speed[1];
}
private function refreshStrength():void{
_strength.scaleX = strengthValue();
_strength.scaleY = strengthValue();
}
private function delContainer():void{
_container = null;
}
private function strengthValue():Number{
return ((delta() / total()));
}
public function get position():Vector2D{
return (new Vector2D(_container.x, _container.y));
}
private function updateStrength():void{
if (!_strengthEnable){
return;
};
runStrength();
checkStrength();
refreshStrength();
}
private function initAngle():void{
_angle = (_container.getChildByName("angle_mc") as Sprite);
_angle.rotation = 0;
}
private function delta():Number{
return ((_strengthValue - _minStrengthValue));
}
public function get strength():Number{
return (_strengthValue);
}
public function update():void{
if (!_enable){
return;
};
updateAngle();
updateStrength();
}
private function removedHandler(_arg1:Event):void{
_container.stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
_container.stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
_container.parent.parent.removeEventListener(MouseEvent.CLICK, clickHandler);
}
private function total():Number{
return ((_maxStrengthValue - _minStrengthValue));
}
private function delState():void{
_enable = false;
_angleEnable = false;
_strengthEnable = false;
_status = null;
}
public function removeParent(_arg1:Sprite):void{
_arg1.removeChild(_container);
}
private function strengthHandler():void{
var _local1:Number;
if (!_enable){
return;
};
_status = "angle";
_state = true;
_enable = false;
_angleEnable = false;
_strengthEnable = false;
_local1 = strength;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADJUST_STRENGTH, _local1));
}
private function delAngleData():void{
_angleValue = 0;
_minAngleValue = 0;
_maxAngleValue = 0;
_angleSpeed = 0;
_plusAngleSpeed = 0;
_minusAngleSpeed = 0;
}
private function delData():void{
delState();
delAngleData();
delStrengthData();
}
private function delDisplayObject():void{
delStrength();
delAngle();
delContainer();
}
private function initContainer():void{
_container = Library.getMovieClip((NAME + "_mc"));
}
private function initData():void{
initState();
initAngleData();
initStrengthData();
}
private function clickHandler(_arg1:MouseEvent):void{
}
private function delEvent():void{
_container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
_container.removeEventListener(Event.ENTER_FRAME, enterframe);
Broadcast.instance.removeEventListener(GameEvent.CONTROL, controlHandler);
Broadcast.instance.removeEventListener(GameEvent.ADD_LAUNCHER, addLauncherHandler);
Broadcast.instance.removeEventListener(GameEvent.REMOVE_LAUNCHER, removeLauncherHandler);
}
private function initState():void{
_enable = false;
_angleEnable = false;
_strengthEnable = false;
_status = "angle";
}
private function checkAngle():void{
if (_angleValue < _minAngleValue){
_angleValue = _minAngleValue;
_angleSpeed = _plusAngleSpeed;
};
if (_angleValue > _maxAngleValue){
_angleValue = _maxAngleValue;
_angleSpeed = _minusAngleSpeed;
};
}
private function angleValue():Number{
return (_angleValue);
}
private function removeLauncherHandler(_arg1:GameEvent):void{
_state = false;
_enable = false;
_angleEnable = false;
_strengthEnable = false;
_container.visible = false;
}
private function checkStrength():void{
if (_strengthValue < _minStrengthValue){
_strengthValue = _minStrengthValue;
_strengthSpeed = _plusStrengthSpeed;
};
if (_strengthValue > _maxStrengthValue){
_strengthValue = _maxStrengthValue;
_strengthSpeed = _minusStrengthSpeed;
};
}
private function initEvent():void{
_container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
_container.addEventListener(Event.ENTER_FRAME, enterframe);
Broadcast.instance.addEventListener(GameEvent.CONTROL, controlHandler);
Broadcast.instance.addEventListener(GameEvent.ADD_LAUNCHER, addLauncherHandler);
Broadcast.instance.addEventListener(GameEvent.REMOVE_LAUNCHER, removeLauncherHandler);
}
public function get angle():Number{
return (_angleValue);
}
private function delStrength():void{
_strength = null;
}
private function initAngleData():void{
_angleValue = Config.Angle[0];
_minAngleValue = Config.Angle[0];
_maxAngleValue = Config.Angle[1];
_angleSpeed = Config.Angle_Speed[0];
_plusAngleSpeed = Config.Angle_Speed[0];
_minusAngleSpeed = Config.Angle_Speed[1];
}
private function initDisplayObject():void{
initContainer();
initAngle();
initStrength();
}
private function mouseDownHandler(_arg1:MouseEvent):void{
switch (_status){
case "angle":
angleHandler();
break;
case "strength":
strengthHandler();
break;
default:
trace("control error");
break;
};
}
private function runStrength():void{
_strengthValue = (_strengthValue + _strengthSpeed);
}
private function initStrength():void{
_strength = (_container.getChildByName("strength_mc") as Sprite);
_strength.scaleX = 0;
_strength.scaleY = 0;
}
private function angleHandler():void{
var _local1:Number;
if (!_enable){
return;
};
_status = "strength";
_state = false;
_enable = true;
_angleEnable = false;
_strengthEnable = true;
_local1 = angle;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.ADJUST_ANGLE, _local1));
}
}
}//package core.controls
Section 84
//AbstractParticle (core.engine.particles.AbstractParticle)
package core.engine.particles {
import utils.*;
public class AbstractParticle {
private var _isCollidable:Boolean;
private var _curr:Vector2D;
private var _prev:Vector2D;
private var _forces:Vector2D;
private var _isFixed:Boolean;
private var _velocity:Vector2D;
public function AbstractParticle(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Boolean){
_curr = new Vector2D(_arg1, _arg2);
_prev = new Vector2D(_arg1, _arg2);
_forces = new Vector2D(0, 0);
_velocity = new Vector2D(0, 0);
_isFixed = _arg3;
_isCollidable = _arg4;
}
protected function get prev():Vector2D{
return (_prev);
}
public function update(_arg1:Object):void{
var _local2:Number;
var _local3:Number;
var _local4:Vector2D;
var _local5:Vector2D;
var _local6:Vector2D;
if (_isFixed){
return;
};
_local2 = _arg1.step;
_local3 = _arg1.damping;
_local4 = _arg1.gravitation;
addForce(_local4);
addVelocity(_local2, _local3);
_local5 = _curr.clone();
_local6 = _velocity.mult(_local2);
_curr.plusEquals(_local6);
_prev.copy(_local5);
_forces.setTo(0, 0);
}
public function addForce(_arg1:Vector2D):void{
_forces.plusEquals(_arg1);
}
public function set collidable(_arg1:Boolean):void{
_isCollidable = _arg1;
}
public function get velocity():Vector2D{
return (_velocity);
}
private function addVelocity(_arg1:Number, _arg2:Number):void{
_velocity.plusEquals(_forces.multEquals(_arg1));
_velocity.multEquals(_arg2);
}
public function get collidable():Boolean{
return (_isCollidable);
}
protected function set prev(_arg1:Vector2D):void{
_prev.copy(_arg1);
}
public function set fixed(_arg1:Boolean):void{
_isFixed = _arg1;
}
public function get position():Vector2D{
return (curr.clone());
}
public function set position(_arg1:Vector2D):void{
_curr.copy(_arg1);
_prev.copy(_arg1);
}
protected function set curr(_arg1:Vector2D):void{
_curr.copy(_arg1);
}
public function get fixed():Boolean{
return (_isFixed);
}
protected function get curr():Vector2D{
return (_curr);
}
public function set velocity(_arg1:Vector2D):void{
_velocity.copy(_arg1);
}
}
}//package core.engine.particles
Section 85
//BoogerParticle (core.engine.particles.BoogerParticle)
package core.engine.particles {
import utils.*;
import data.*;
public class BoogerParticle extends AbstractParticle {
private var _radius:Number;
public function BoogerParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=true){
super(_arg1, _arg2, _arg4, _arg5);
_radius = _arg3;
}
public function launch(_arg1:Vector2D):void{
velocity.plusEquals(_arg1);
velocity.multEquals(Config.STEP);
}
public function get radius():Number{
return (_radius);
}
public function modify(_arg1:Vector2D):void{
velocity.modify(_arg1);
}
public function set radius(_arg1:Number):void{
_radius = _arg1;
}
public function get direction():Number{
return (((Math.atan2((curr.y - prev.y), (curr.x - prev.x)) * 180) / Math.PI));
}
}
}//package core.engine.particles
Section 86
//CommuterParticle (core.engine.particles.CommuterParticle)
package core.engine.particles {
public class CommuterParticle extends AbstractParticle {
private var _height:Number;
private var _width:Number;
private var _name:String;
public function CommuterParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean=true, _arg6:Boolean=true){
super(_arg1, _arg2, _arg5, _arg6);
_width = _arg3;
_height = _arg4;
}
public function get name():String{
return (_name);
}
public function get width():Number{
return (_width);
}
public function set width(_arg1:Number):void{
_width = _arg1;
}
public function set name(_arg1:String):void{
_name = _arg1;
}
public function get height():Number{
return (_height);
}
public function set height(_arg1:Number):void{
_height = _arg1;
}
}
}//package core.engine.particles
Section 87
//EngineLite (core.engine.EngineLite)
package core.engine {
import events.*;
import utils.*;
import data.*;
import core.actors.boogers.*;
import core.engine.particles.*;
import core.actors.commuters.*;
public class EngineLite {
private var _damping:Number;
private var _gravitation:Vector2D;
private var _friction:Vector2D;
private var _enable:Boolean;
private var _step:Number;
private var _commuterParticles:Array;
private var _boogerParticles:Array;
public function EngineLite(){
_enable = true;
}
private function testCollision(_arg1:BoogerParticle, _arg2:CommuterParticle):void{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Vector2D;
var _local8:Vector2D;
var _local9:Vector2D;
_local3 = Math.abs((_arg1.position.x - _arg2.position.x));
_local4 = Math.abs((_arg1.position.y - _arg2.position.y));
_local5 = (_arg1.radius + (_arg2.width / 2));
_local6 = (_arg1.radius + (_arg2.height / 2));
if (_local3 > _local5){
return;
};
if (_local4 > _local6){
return;
};
_local7 = (signY(_arg1)) ? new Vector2D(1, -1) : new Vector2D(1, 1);
_local8 = _arg1.velocity;
_local9 = _local8.times(_local7);
_arg1.velocity = _local9;
_arg2.collidable = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.COLLISION, _arg2));
}
public function get damping():Number{
return (_damping);
}
private function check():void{
checkBound();
checkCollision();
}
private function slowHandler(_arg1:GameEvent):void{
_step = (1 / 64);
}
private function checkCollision():void{
var _local1:int;
var _local2:int;
var _local3:BoogerParticle;
var _local4:int;
var _local5:int;
var _local6:CommuterParticle;
_local1 = _boogerParticles.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = _boogerParticles[_local2];
if (!_local3.collidable){
} else {
_local4 = _commuterParticles.length;
_local5 = 0;
while (_local5 < _local4) {
_local6 = _commuterParticles[_local5];
if (!_local6.collidable){
} else {
testCollision(_local3, _local6);
};
_local5++;
};
};
_local2++;
};
}
private function testBound(_arg1:AbstractParticle):void{
var _local2:Number;
var _local3:Vector2D;
var _local4:Vector2D;
var _local5:Vector2D;
var _local6:Vector2D;
var _local7:Vector2D;
var _local8:Vector2D;
if (_arg1.position.y > Config.WORLD_BOTTOM){
_local2 = (_arg1.position.y - Config.WORLD_BOTTOM);
_local3 = _arg1.position.clone();
_local4 = _arg1.velocity.times(friction);
_local5 = new Vector2D(0, (2 * _local2));
_local6 = (signY(_arg1)) ? new Vector2D(1, -1) : new Vector2D(1, 1);
_local7 = _local3.minus(_local5);
_local8 = _local4.times(_local6);
_arg1.position = _local7;
_arg1.velocity = _local8;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.BOUNCE, _arg1));
};
}
private function fastHandler(_arg1:GameEvent):void{
_step = (1 / 2);
}
public function init():void{
initData();
initEvent();
}
private function entironment():Object{
return ({step:_step, damping:_damping, gravitation:_gravitation});
}
public function del():void{
delEvent();
delData();
}
public function get step():Number{
return (_step);
}
private function signY(_arg1:AbstractParticle):Boolean{
return (((_arg1.velocity.y)>0) ? true : false);
}
private function delData():void{
_step = 0;
_damping = 0;
_friction = null;
_gravitation = null;
_boogerParticles = null;
_commuterParticles = null;
}
private function update():void{
var _local1:int;
var _local2:int;
var _local3:AbstractParticle;
_local1 = _boogerParticles.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = _boogerParticles[_local2];
_local3.update(entironment());
_local2++;
};
}
private function initData():void{
_step = Config.STEP;
_damping = Config.DAMPING;
_friction = Config.FRICTION;
_gravitation = Config.GRAVITATION;
_boogerParticles = new Array();
_commuterParticles = new Array();
}
public function set gravitation(_arg1:Vector2D):void{
_gravitation.copy(_arg1);
}
public function set damping(_arg1:Number):void{
_damping = _arg1;
}
private function delEvent():void{
Broadcast.instance.removeEventListener(GameEvent.ADD_BOOGER, addBoogerHandler);
Broadcast.instance.removeEventListener(GameEvent.REMOVE_BOOGER, removeBoogerHandler);
Broadcast.instance.removeEventListener(GameEvent.ADD_COMMUTER, addCommuterHandler);
Broadcast.instance.removeEventListener(GameEvent.REMOVE_COMMUTER, removeCommuterHandler);
}
public function set step(_arg1:Number):void{
_step = _arg1;
}
public function set friction(_arg1:Vector2D):void{
_friction.copy(_arg1);
}
public function run():void{
if (!_enable){
return;
};
update();
check();
}
private function checkBound():void{
var _local1:int;
var _local2:int;
var _local3:AbstractParticle;
_local1 = _boogerParticles.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = _boogerParticles[_local2];
testBound(_local3);
_local2++;
};
}
private function initEvent():void{
Broadcast.instance.addEventListener(GameEvent.ADD_BOOGER, addBoogerHandler);
Broadcast.instance.addEventListener(GameEvent.REMOVE_BOOGER, removeBoogerHandler);
Broadcast.instance.addEventListener(GameEvent.ADD_COMMUTER, addCommuterHandler);
Broadcast.instance.addEventListener(GameEvent.REMOVE_COMMUTER, removeCommuterHandler);
Broadcast.instance.addEventListener(GameEvent.SLOW, slowHandler);
Broadcast.instance.addEventListener(GameEvent.FAST, fastHandler);
}
public function get gravitation():Vector2D{
return (_gravitation.clone());
}
private function removeCommuterHandler(_arg1:GameEvent):void{
var _local2:AbstractCommuter;
var _local3:CommuterParticle;
var _local4:int;
_local2 = (_arg1.data as AbstractCommuter);
_local3 = _local2.particle;
_local4 = _commuterParticles.indexOf(_local3);
_commuterParticles.splice(_local4, 1);
}
private function addCommuterHandler(_arg1:GameEvent):void{
var _local2:AbstractCommuter;
var _local3:CommuterParticle;
_local2 = (_arg1.data as AbstractCommuter);
_local3 = _local2.particle;
_commuterParticles.push(_local3);
}
private function removeBoogerHandler(_arg1:GameEvent):void{
var _local2:Booger;
var _local3:BoogerParticle;
var _local4:int;
_local2 = (_arg1.data as Booger);
_local3 = _local2.particle;
_local4 = _boogerParticles.indexOf(_local3);
_boogerParticles.splice(_local4, 1);
}
private function addBoogerHandler(_arg1:GameEvent):void{
var _local2:Booger;
var _local3:BoogerParticle;
_local2 = (_arg1.data as Booger);
_local3 = _local2.particle;
_boogerParticles.push(_local3);
}
public function get friction():Vector2D{
return (_friction.clone());
}
private function signX(_arg1:AbstractParticle):Boolean{
return (((_arg1.velocity.x)>0) ? true : false);
}
}
}//package core.engine
Section 88
//Layer (core.layers.Layer)
package core.layers {
import flash.display.*;
import events.*;
import utils.*;
import core.actors.boogers.*;
import flash.geom.*;
public class Layer {
private var _container:Sprite;
private var _frontLayer:Sprite;
private var _frontGround:Sprite;
private var _backLayer:Sprite;
private var _backGround:Sprite;
private var _booger:Booger;
private var _enable:Boolean;
public function Layer(){
_enable = false;
}
private function delBackGround():void{
_container.removeChild(_backGround);
_backGround = null;
}
public function addParent(_arg1:DisplayObjectContainer):void{
_arg1.addChildAt(_container, 0);
}
private function delFrontGround():void{
_container.removeChild(_frontGround);
_frontGround = null;
}
private function delLayer():void{
delBackLayer();
delFrontLayer();
}
private function initBackLayer():void{
_backLayer = Library.getSprite("layer_mc");
_backLayer.x = (distance - 2);
_backLayer.y = 0;
_frontGround.addChild(_backLayer);
}
public function del():void{
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initEvent();
}
public function init():void{
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
_container = new Sprite();
}
private function addBoogerHandler(_arg1:GameEvent):void{
_booger = (_arg1.data as Booger);
_enable = true;
}
public function refresh():void{
if (_frontGround.x > -(distance)){
return;
};
_frontGround.x = (_frontGround.x + distance);
}
private function delDisplayObject():void{
delLayer();
delGround();
delContainer();
}
private function delEvent():void{
Broadcast.instance.removeEventListener(GameEvent.ADD_BOOGER, addBoogerHandler);
Broadcast.instance.removeEventListener(GameEvent.REMOVE_BOOGER, removeBoogerHandler);
}
private function initFrontLayer():void{
_frontLayer = Library.getSprite("layer_mc");
_frontLayer.x = 0;
_frontLayer.y = 0;
_frontGround.addChild(_frontLayer);
}
private function initFrontGround():void{
_frontGround = Library.getSprite("frontGround_mc");
_container.addChildAt(_frontGround, 0);
}
private function initLayer():void{
initFrontLayer();
initBackLayer();
}
public function get rect():Rectangle{
return (_frontLayer.getBounds(_frontLayer));
}
private function delBackLayer():void{
_frontGround.removeChild(_backLayer);
_backLayer = null;
}
private function initEvent():void{
Broadcast.instance.addEventListener(GameEvent.ADD_BOOGER, addBoogerHandler);
Broadcast.instance.addEventListener(GameEvent.REMOVE_BOOGER, removeBoogerHandler);
}
public function update():void{
if (!_enable){
return;
};
if (_booger.motion){
return;
};
_frontGround.x = (_frontGround.x - (_booger.particle.velocity.x / 60));
}
public function removeParent(_arg1:DisplayObjectContainer):void{
_arg1.removeChild(_container);
}
private function delLogicObject():void{
delEvent();
}
private function removeBoogerHandler(_arg1:GameEvent):void{
_booger = null;
_enable = false;
}
private function delFrontLayer():void{
_frontGround.removeChild(_frontLayer);
_frontLayer = null;
}
private function delContainer():void{
_container = null;
}
private function initGround():void{
initFrontGround();
initBackGround();
}
private function initDisplayObject():void{
initContainer();
initGround();
initLayer();
}
private function delGround():void{
delBackGround();
delFrontGround();
}
public function get distance():Number{
return (rect.width);
}
private function initBackGround():void{
_backGround = Library.getSprite("backGround_mc");
_container.addChildAt(_backGround, 0);
}
}
}//package core.layers
Section 89
//AbstractSubway (core.scenes.subways.AbstractSubway)
package core.scenes.subways {
import flash.display.*;
import utils.*;
import core.scenes.tiles.*;
public class AbstractSubway {
private var _container:Sprite;
private var _total:int;
private var _tiles:Array;
private var _index:int;
private var _min:int;
private var _max:int;
private var _name:String;
public function AbstractSubway(_arg1:String){
_name = _arg1;
}
protected function random():int{
return (MathUtil.random(_min, _max));
}
protected function destroyTile():void{
var _local1:Tile;
_local1 = _tiles[0];
_local1.removeParent(_container);
_local1.del();
_tiles.splice(0, 1);
}
protected function update():void{
var _local1:int;
var _local2:int;
var _local3:int;
_local1 = (index + 1);
_local2 = (_local1 % total);
_local3 = ((_local1)==total) ? random() : total;
index = _local2;
total = _local3;
}
public function del():void{
}
public function init():void{
}
protected function createTile():void{
var _local1:Tile;
_local1 = new Tile(name, oldType);
_local1.init();
_local1.setPosition(next.ex, next.ey);
_local1.addParent(_container);
_tiles.push(_local1);
}
public function get name():String{
return (_name);
}
protected function get prev():Tile{
return (_tiles[0]);
}
public function set name(_arg1:String):void{
_name = _arg1;
}
public function set max(_arg1:int):void{
_max = _arg1;
}
protected function get end():int{
return ((_total - 1));
}
public function get total():int{
return (_total);
}
public function get tiles():Array{
return (_tiles);
}
public function set total(_arg1:int):void{
_total = _arg1;
}
public function get min():int{
return (_min);
}
public function set tiles(_arg1:Array):void{
_tiles = _arg1;
}
public function get container():Sprite{
return (_container);
}
public function set container(_arg1:Sprite):void{
_container = _arg1;
}
protected function get start():int{
return (0);
}
public function set min(_arg1:int):void{
_min = _arg1;
}
protected function get next():Tile{
return (_tiles[2]);
}
public function get oldType():String{
return (getType(_index));
}
private function getType(_arg1:int):String{
switch (_arg1){
case start:
return ("F");
case end:
return ("B");
default:
return ("M");
};
}
protected function get curr():Tile{
return (_tiles[1]);
}
public function get index():int{
return (_index);
}
public function set index(_arg1:int):void{
_index = _arg1;
}
public function get newType():String{
var _local1:int;
var _local2:int;
var _local3:int;
_local1 = _index;
_local2 = ((_index + 1) % _total);
_local3 = (((_index + 1))==total) ? random() : total;
_index = _local2;
_total = _local3;
return (getType(_local1));
}
public function get max():int{
return (_max);
}
}
}//package core.scenes.subways
Section 90
//Station (core.scenes.subways.Station)
package core.scenes.subways {
import flash.display.*;
import events.*;
import utils.*;
import data.*;
public class Station extends AbstractSubway {
private const NAME:String = "Station";
public function Station(){
super(NAME);
}
private function loadSceneHandler(_arg1:GameEvent):void{
container = _arg1.data.container;
tiles = _arg1.data.tiles;
}
private function initEvent():void{
Broadcast.instance.addEventListener(GameEvent.LOAD_SCENE, loadSceneHandler);
Broadcast.instance.addEventListener(GameEvent.UNLOAD_SCENE, unloadSceneHandler);
Broadcast.instance.addEventListener(GameEvent.REFRESH, refreshHandler);
}
private function initLogicObject():void{
initTiles();
initEvent();
}
override public function del():void{
delLogicObject();
delDisplayObject();
delData();
}
override public function init():void{
initData();
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
container = new Sprite();
}
private function delEvent():void{
Broadcast.instance.removeEventListener(GameEvent.LOAD_SCENE, loadSceneHandler);
Broadcast.instance.removeEventListener(GameEvent.UNLOAD_SCENE, unloadSceneHandler);
Broadcast.instance.removeEventListener(GameEvent.REFRESH, refreshHandler);
}
private function delTiles():void{
tiles = null;
}
private function initData():void{
min = Config.Subway_Station[0];
max = Config.Subway_Station[1];
index = 0;
total = random();
}
private function delData():void{
min = 0;
max = 0;
index = 0;
total = 0;
}
private function delDisplayObject():void{
delContainer();
}
private function refreshHandler(_arg1:GameEvent):void{
if (_arg1.data != name){
return;
};
this.createTile();
this.destroyTile();
update();
}
private function initDisplayObject():void{
initContainer();
}
private function delContainer():void{
container = null;
}
private function initTiles():void{
tiles = new Array();
}
private function delLogicObject():void{
delEvent();
delTiles();
}
private function unloadSceneHandler(_arg1:GameEvent):void{
container = null;
tiles = null;
}
}
}//package core.scenes.subways
Section 91
//Train (core.scenes.subways.Train)
package core.scenes.subways {
import flash.display.*;
import events.*;
import utils.*;
import data.*;
public class Train extends AbstractSubway {
private const NAME:String = "Train";
public function Train(){
super(NAME);
}
private function loadSceneHandler(_arg1:GameEvent):void{
container = _arg1.data.container;
tiles = _arg1.data.tiles;
}
private function initEvent():void{
Broadcast.instance.addEventListener(GameEvent.LOAD_SCENE, loadSceneHandler);
Broadcast.instance.addEventListener(GameEvent.UNLOAD_SCENE, unloadSceneHandler);
Broadcast.instance.addEventListener(GameEvent.REFRESH, refreshHandler);
}
private function initLogicObject():void{
initTiles();
initEvent();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
delData();
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
container = new Sprite();
}
private function delEvent():void{
Broadcast.instance.removeEventListener(GameEvent.LOAD_SCENE, loadSceneHandler);
Broadcast.instance.removeEventListener(GameEvent.UNLOAD_SCENE, unloadSceneHandler);
Broadcast.instance.removeEventListener(GameEvent.REFRESH, refreshHandler);
}
private function delTiles():void{
tiles = null;
}
private function initData():void{
min = Config.Subway_Train[0];
max = Config.Subway_Train[1];
index = 0;
total = random();
}
private function delData():void{
min = 0;
max = 0;
index = 0;
total = 0;
}
private function delDisplayObject():void{
delContainer();
}
private function refreshHandler(_arg1:GameEvent):void{
if (_arg1.data != name){
return;
};
this.createTile();
this.destroyTile();
update();
}
private function initDisplayObject():void{
initContainer();
}
private function delContainer():void{
container = null;
}
private function initTiles():void{
tiles = new Array();
}
private function delLogicObject():void{
delEvent();
delTiles();
}
private function unloadSceneHandler(_arg1:GameEvent):void{
container = null;
tiles = null;
}
}
}//package core.scenes.subways
Section 92
//Tunnel (core.scenes.subways.Tunnel)
package core.scenes.subways {
import flash.display.*;
import events.*;
import utils.*;
import data.*;
public class Tunnel extends AbstractSubway {
private const NAME:String = "Tunnel";
public function Tunnel(){
super(NAME);
}
private function loadSceneHandler(_arg1:GameEvent):void{
container = _arg1.data.container;
tiles = _arg1.data.tiles;
}
private function initEvent():void{
Broadcast.instance.addEventListener(GameEvent.LOAD_SCENE, loadSceneHandler);
Broadcast.instance.addEventListener(GameEvent.UNLOAD_SCENE, unloadSceneHandler);
Broadcast.instance.addEventListener(GameEvent.REFRESH, refreshHandler);
}
private function initLogicObject():void{
initTiles();
initEvent();
}
override public function del():void{
delLogicObject();
delDisplayObject();
delData();
}
override public function init():void{
initData();
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
container = new Sprite();
}
private function delEvent():void{
Broadcast.instance.removeEventListener(GameEvent.LOAD_SCENE, loadSceneHandler);
Broadcast.instance.removeEventListener(GameEvent.UNLOAD_SCENE, unloadSceneHandler);
Broadcast.instance.removeEventListener(GameEvent.REFRESH, refreshHandler);
}
private function delTiles():void{
tiles = null;
}
private function initData():void{
min = Config.Subway_Tunnel[0];
max = Config.Subway_Tunnel[1];
index = 0;
total = random();
}
private function delData():void{
min = 0;
max = 0;
index = 0;
total = 0;
}
private function delDisplayObject():void{
delContainer();
}
private function refreshHandler(_arg1:GameEvent):void{
if (_arg1.data != name){
return;
};
this.createTile();
this.destroyTile();
update();
}
private function initDisplayObject():void{
initContainer();
}
private function delContainer():void{
container = null;
}
private function initTiles():void{
tiles = new Array();
}
private function delLogicObject():void{
delEvent();
delTiles();
}
private function unloadSceneHandler(_arg1:GameEvent):void{
container = null;
tiles = null;
}
}
}//package core.scenes.subways
Section 93
//Tile (core.scenes.tiles.Tile)
package core.scenes.tiles {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import flash.geom.*;
public class Tile {
private var _container:Sprite;
private var _height:Number;
private var _width:Number;
private var _point:Sprite;
private var _type:String;
private var _name:String;
private var _source:String;
public function Tile(_arg1:String, _arg2:String, _arg3:String="Random"){
_name = _arg1;
_type = _arg2;
_source = _arg3;
}
public function setPosition(_arg1:Number, _arg2:Number):void{
_container.x = (_arg1 + Config.Tile_OFFX);
_container.y = (_arg2 + Config.Tile_OFFY);
}
private function delPoint():void{
_point = null;
}
public function get type():String{
return (_type);
}
private function removedHandler(_arg1:Event):void{
if (_source == null){
return;
};
if (_name == "Tunnel"){
return;
};
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.UNLOAD_TILE, this));
}
public function del():void{
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initBound();
initEvent();
}
public function init():void{
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
_container = Library.getSprite(((_name + "_") + _type));
}
public function get name():String{
return (_name);
}
public function get goal():Number{
return ((_container.x + _width));
}
private function delDisplayObject():void{
delPoint();
delSurface();
delContainer();
}
private function initEvent():void{
_container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
}
public function get over():Boolean{
return (((_type)=="B") ? true : false);
}
public function get source():String{
return (_source);
}
private function initBound():void{
var _local1:Rectangle;
_local1 = _container.getBounds(_container);
_width = _local1.width;
_height = _local1.height;
}
private function delEvent():void{
_container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
}
private function initPoint():void{
_point = (_container.getChildByName("point") as Sprite);
}
private function addedHandler(_arg1:Event):void{
if (_source == null){
return;
};
if (_name == "Tunnel"){
return;
};
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.LOAD_TILE, this));
}
public function get random():Boolean{
return (((_source)=="Random") ? true : false);
}
public function removeParent(_arg1:Sprite):void{
_arg1.removeChild(_container);
}
private function delSurface():void{
}
public function addParent(_arg1:Sprite):void{
_arg1.addChild(_container);
}
private function delBound():void{
_width = 0;
_height = 0;
}
private function initDisplayObject():void{
initContainer();
initSurface();
initPoint();
}
private function delContainer():void{
_container = null;
}
public function get ex():Number{
return ((_container.x + _width));
}
private function delLogicObject():void{
delEvent();
delBound();
}
public function get ey():Number{
return (_container.y);
}
private function initSurface():void{
}
public function get target():Vector2D{
return (new Vector2D((_container.x + _point.x), (_container.y + _point.y)));
}
}
}//package core.scenes.tiles
Section 94
//Scene (core.scenes.Scene)
package core.scenes {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.scenes.tiles.*;
import core.actors.boogers.*;
import core.scenes.subways.*;
public class Scene {
private var _container:Sprite;
private var _tiles:Array;
private var _train:Train;
private var _tunnel:Tunnel;
private var _enable:Boolean;
private var _minScaleValue:Number;
private var _scaleSpeed:Number;
private var _total:int;
private var _maxScaleValue:Number;
private var _index:int;
private var _scaleValue:Number;
private var _minusScaleSpeed:Number;
private var _station:Station;
private var _plusScaleSpeed:Number;
private var _booger:Booger;
public function Scene(){
_enable = false;
}
public function get tiles():Array{
return (_tiles);
}
private function updateScale():void{
if (_booger.py < Config.WORLD_MIDDLE){
if (_scaleValue > _minScaleValue){
_scaleValue = (_scaleValue + _plusScaleSpeed);
_container.parent.parent.scaleX = _scaleValue;
_container.parent.parent.scaleY = _scaleValue;
};
} else {
if (_scaleValue < _maxScaleValue){
_scaleValue = (_scaleValue + _minusScaleSpeed);
_container.parent.parent.scaleX = _scaleValue;
_container.parent.parent.scaleY = _scaleValue;
};
};
}
public function del():void{
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initSubway();
initTiles();
initEvent();
}
public function init():void{
initData();
initDisplayObject();
initLogicObject();
}
private function initStation():void{
_station = new Station();
_station.init();
}
private function updatePosition():void{
_container.parent.x = Math.round((-(_booger.container.x) + Config.STAGE_FOCUS_X));
}
private function delSubway():void{
delStation();
delTunnel();
delTrain();
}
private function initTunnel():void{
_tunnel = new Tunnel();
_tunnel.init();
}
private function newTheme():String{
_index = (_index + 1);
_index = (_index % _total);
return (Config.Theme[_index]);
}
public function get container():Sprite{
return (_container);
}
private function delStation():void{
_station.del();
_station = null;
}
private function addedHandler(_arg1:Event):void{
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.LOAD_SCENE, this));
}
public function addParent(_arg1:Sprite):void{
_arg1.addChildAt(_container, 0);
}
public function get tile():Tile{
return (_tiles[1]);
}
private function delLogicObject():void{
delEvent();
delTiles();
delSubway();
}
private function delContainer():void{
_container = null;
}
private function delTrain():void{
_train.del();
_train = null;
}
private function delTiles():void{
_tiles[2].removeParent(_container);
_tiles[1].removeParent(_container);
_tiles[0].removeParent(_container);
_tiles[2].del();
_tiles[1].del();
_tiles[0].del();
_tiles = null;
}
public function update():void{
if (!_enable){
return;
};
updatePosition();
updateScale();
}
private function removedHandler(_arg1:Event):void{
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.UNLOAD_SCENE, this));
}
public function removeParent(_arg1:Sprite):void{
_arg1.removeChild(_container);
}
private function delEvent():void{
_container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
Broadcast.instance.removeEventListener(GameEvent.ADD_BOOGER, addBoogerHandler);
Broadcast.instance.removeEventListener(GameEvent.REMOVE_BOOGER, removeBoogerHandler);
}
private function theme():String{
return ((next.over) ? newTheme() : oldTheme());
}
private function initContainer():void{
_container = new Sprite();
}
private function delData():void{
_index = 0;
_total = 0;
_scaleValue = 0;
_minScaleValue = 0;
_maxScaleValue = 0;
}
private function delDisplayObject():void{
delContainer();
}
private function initTrain():void{
_train = new Train();
_train.init();
}
private function scale():Number{
return (Data.randomScale());
}
private function initData():void{
_index = 0;
_total = Config.Theme.length;
_scaleValue = Config.Scene[1];
_minScaleValue = Config.Scene[0];
_maxScaleValue = Config.Scene[1];
_scaleSpeed = Config.Scene_Speed[0];
_plusScaleSpeed = Config.Scene_Speed[0];
_minusScaleSpeed = Config.Scene_Speed[1];
}
private function initSubway():void{
initTrain();
initTunnel();
initStation();
}
private function initTiles():void{
_tiles = new Array();
_tiles[0] = new Tile(_train.name, _train.newType, null);
_tiles[1] = new Tile(_train.name, _train.newType, "Launcher");
_tiles[2] = new Tile(_train.name, _train.newType, "Random");
_tiles[0].init();
_tiles[1].init();
_tiles[2].init();
_tiles[0].setPosition(0, 0);
_tiles[1].setPosition(_tiles[0].ex, _tiles[0].ey);
_tiles[2].setPosition(_tiles[1].ex, _tiles[1].ey);
_tiles[0].addParent(_container);
_tiles[1].addParent(_container);
_tiles[2].addParent(_container);
}
private function oldTheme():String{
return (Config.Theme[_index]);
}
private function delTunnel():void{
_tunnel.del();
_tunnel = null;
}
private function initDisplayObject():void{
initContainer();
}
public function refresh():void{
if (!_enable){
return;
};
if (_booger.px < tile.goal){
return;
};
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.REFRESH, theme()));
}
private function addBoogerHandler(_arg1:GameEvent):void{
_booger = (_arg1.data as Booger);
_enable = true;
}
private function initEvent():void{
_container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
Broadcast.instance.addEventListener(GameEvent.ADD_BOOGER, addBoogerHandler);
Broadcast.instance.addEventListener(GameEvent.REMOVE_BOOGER, removeBoogerHandler);
}
public function get next():Tile{
return (_tiles[2]);
}
private function removeBoogerHandler(_arg1:GameEvent):void{
_booger = null;
_enable = false;
}
}
}//package core.scenes
Section 95
//Game (core.Game)
package core {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import core.scenes.*;
import core.controls.*;
import core.layers.*;
import core.engine.*;
import core.actors.*;
public class Game {
private var _container:Sprite;
private var _view:Sprite;
private var _scene:Scene;
private var _control:Controller;
private var _isPause:Boolean;
private var _layer:Layer;
private var _engine:EngineLite;
private var _actor:Actor;
private function delLayer():void{
_layer.del();
_layer = null;
}
public function stop():void{
_actor.booger.particle.velocity = new Vector2D();
}
public function del():void{
delLogicObject();
delDisplayObject();
delData();
}
public function init():void{
initData();
initDisplayObject();
initLogicObject();
}
private function run():void{
_engine.run();
}
private function initLogicObject():void{
initActor();
initScene();
initLayer();
initEngine();
initControl();
initEvent();
}
private function condition():void{
if (Data.over){
Data.over = false;
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.OVER));
};
}
private function frameHandler(_arg1:Event):void{
if (_isPause){
return;
};
run();
update();
refresh();
condition();
}
private function initLayer():void{
_layer = new Layer();
_layer.init();
}
private function delActor():void{
_actor.removeParent(_view);
_actor.del();
_actor = null;
}
public function addParent(_arg1:Sprite):void{
_arg1.addChildAt(_container, 0);
}
private function initControl():void{
_control = new Controller();
_control.init();
_control.addParent(_view);
}
private function addedHandler(_arg1:Event):void{
_layer.addParent(_container.parent);
}
private function delLogicObject():void{
delEvent();
delControl();
delEngine();
delLayer();
delScene();
delActor();
}
private function delContainer():void{
_container = null;
}
private function delEngine():void{
_engine.del();
_engine = null;
}
private function delScene():void{
_scene.removeParent(_view);
_scene.del();
_scene = null;
}
private function initActor():void{
_actor = new Actor();
_actor.init();
_actor.addParent(_view);
}
private function update():void{
_actor.update();
_scene.update();
_control.update();
_layer.update();
}
private function removedHandler(_arg1:Event):void{
_layer.removeParent(_container.parent);
}
public function removeParent(_arg1:Sprite):void{
_arg1.removeChild(_container);
}
private function delEvent():void{
_container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
_container.removeEventListener(Event.ENTER_FRAME, frameHandler);
}
private function delView():void{
_container.removeChild(_view);
_view = null;
}
private function initContainer():void{
_container = new Sprite();
_container.x = (Config.STAGE_WIDTH / 2);
_container.y = Config.STAGE_HEIGHT;
}
private function delData():void{
}
private function delDisplayObject():void{
delView();
delContainer();
}
private function delControl():void{
_control.removeParent(_view);
_control.del();
_control = null;
}
private function refresh():void{
_actor.refresh();
_scene.refresh();
_layer.refresh();
}
private function initView():void{
_view = new Sprite();
_container.addChild(_view);
}
private function initData():void{
}
private function initScene():void{
_scene = new Scene();
_scene.init();
_scene.addParent(_view);
}
private function initEvent():void{
_container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
_container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
_container.addEventListener(Event.ENTER_FRAME, frameHandler);
}
private function initDisplayObject():void{
initContainer();
initView();
}
private function initEngine():void{
_engine = new EngineLite();
_engine.init();
}
}
}//package core
Section 96
//Config (data.Config)
package data {
import utils.*;
public final class Config {
public static const Actor_Level:Array = [[1, 10, 35, 60, 85, 85, 92, 100], [1, 12, 33, 58, 75, 90, 99, 100], [1, 15, 30, 44, 58, 72, 86, 100], [1, 15, 30, 44, 58, 72, 86, 100]];
public static const WORLD_MIDDLE:int = -400;
public static const STAGE_WIDTH:int = 600;
public static const Grandma:Object = {width:75, height:100, force:new Vector2D(240, -200), reaction:new Vector2D(1.2, 1.2)};
public static const School_Boy:Object = {width:75, height:100, force:new Vector2D(60, -80), reaction:new Vector2D(0.8, 0.8)};
public static const Character:Array = ["Grandma", "School_Boy", "School_Girl", "Business_Man", "Business_Woman", "Dirty_Setter", "Dirty_Getter"];
public static const School_Girl:Object = {width:80, height:180, force:new Vector2D(180, -120), reaction:new Vector2D(1.2, 1.2)};
public static const DAMPING:Number = 1;
public static const Subway_Tunnel:Array = [3, 3];
public static const VERSION_X:int = 10;
public static const VERSION_Y:int = 10;
public static const Scene_Speed:Array = [-0.03, 0.03];
public static const Booger_Speed:int = 250;
public static const Angle_Speed:Array = [6, -6];
public static const WORLD_BOTTOM:int = -50;
public static const Skill_Extension:Array = [-500, -300];
public static const STAGE_HEIGHT:int = 350;
public static const GRAVITATION:Vector2D = new Vector2D(0, 2.8);
public static const Subway_Station:Array = [3, 12];
public static const STAGE_FOCUS_Y:int = -150;
public static const Angle:Array = [-80, 0];
public static const STAGE_FOCUS_X:int = 0;
public static const Skill:Vector2D = new Vector2D(180, -120);
public static const Tile_OFFY:int = 0;
public static const Scene_Value:int = 10;
public static const VERSION:String = "v 1.0";
public static const Launcher:Object = {width:80, height:200, force:new Vector2D(1, 0), reaction:new Vector2D(0, 0)};
public static const Tile_OFFX:int = -4;
public static const Business_Woman:Object = {width:75, height:180, force:new Vector2D(120, -200), reaction:new Vector2D(1, 1.5)};
public static const Strength_Speed:Array = [10, -10];
public static const Theme:Array = ["Train", "Station"];
public static const STEP:Number = 0.5;
public static const Scene_Level:Array = [1, 0.99, 0.98, 0.97, 0.96, 0.95, 0.94, 0.93, 0.92, 0.91, 0.9, 0.89, 0.88, 0.87, 0.86, 0.85, 0.84, 0.83, 0.82, 0.81, 0.8, 0.79, 0.78, 0.77, 0.76, 0.75, 0.74, 0.73, 0.72, 0.71, 0.7, 0.69, 0.68, 0.67, 0.66, 0.65, 0.64, 0.63, 0.62, 0.61, 0.6, 0.59, 0.58, 0.57, 0.56, 0.55, 0.54, 0.53, 0.52, 0.51, 0.5];
public static const Dirty_Setter:Object = {width:80, height:190, force:new Vector2D(1, 0), reaction:new Vector2D(0, 0)};
public static const Dirty_Getter:Object = {width:80, height:190, force:new Vector2D(0, 0), reaction:new Vector2D(0, 0)};
public static const Business_Man:Object = {width:80, height:180, force:new Vector2D(60, -120), reaction:new Vector2D(0.8, 0.5)};
public static const Strength:Array = [100, 230];
public static const Actor_Value:int = 9600;
public static const WORLD_TOP:int = -850;
public static const SoundVolume:Number = 1;
public static const Scene:Array = [0.4, 1];
public static const Subway_Train:Array = [4, 12];
public static const FRICTION:Vector2D = new Vector2D(0.7, 0.7);
public static const MusicVolume:Number = 1;
}
}//package data
Section 97
//Cookie (data.Cookie)
package data {
import flash.net.*;
public final class Cookie {
private const ID:String = "Subway_Sneeze_v1";
private static var _share:SharedObject;
private static var _instance:Cookie;
private static var _data:Object;
public function Cookie():void{
init();
}
public function get system():Object{
return (_data["system"]);
}
public function get rank():Object{
return (_data["rank"]);
}
private function initShare():void{
_share = SharedObject.getLocal(ID, "/");
_data = _share.data;
}
private function init():void{
initShare();
initData();
}
private function initPlayer():void{
var _local1:Object;
if (_data["player"] == null){
_local1 = {name:"", score:0, record:1000};
_data["player"] = _local1;
};
}
public function get player():Object{
return (_data["player"]);
}
private function initData():void{
initSystem();
initPlayer();
initRank();
}
private function initRank():void{
var _local1:Array;
if (_data["rank"] == null){
_local1 = [{name:"Susan D.", score:25000, newRecord:false}, {name:"Tommy L.", score:20000, newRecord:false}, {name:"Isabel R.", score:15000, newRecord:false}, {name:"Mike Strike", score:12000, newRecord:false}, {name:"Gina M.", score:10000, newRecord:false}, {name:"Antonio T.", score:9000, newRecord:false}, {name:"Alain C.", score:8000, newRecord:false}, {name:"Linda M.", score:6000, newRecord:false}, {name:"Santina Z.", score:5000, newRecord:false}, {name:"Richard BB", score:3000, newRecord:false}];
_data["rank"] = _local1;
};
}
private function initSystem():void{
var _local1:Object;
if (_data["system"] == null){
_local1 = {sound:true, music:true, quality:"high"};
_data["system"] = _local1;
};
}
public static function get instance():Cookie{
if (_instance == null){
_instance = new (Cookie);
};
return (_instance);
}
public static function get data():Object{
return (_data);
}
}
}//package data
Section 98
//Data (data.Data)
package data {
import utils.*;
public class Data {
public static var SendToFriend:String = "A";
public static var HighScores:String = "A";
public static var GAME_OVER:String = "A";
public static var time:int = 0;
private static var musicName:String;
public static var skill = 3;
public static var score = 0;
public static var over:Boolean = false;
public static var sPoint:Vector2D = new Vector2D();
public static var HowToPlay:String = "A";
public static var ePoint:Vector2D = new Vector2D();
private static var musicIndex:int = 0;
public static var first:Boolean = true;
private static var musicArray:Array = getMusic();
private static function getActorLevel():int{
var _local1:int;
var _local2:int;
var _local3:int;
_local1 = (Math.abs(position.x) / Config.Actor_Value);
_local2 = 0;
_local3 = (Config.Actor_Level.length - 1);
return (MathUtil.clamp(_local1, _local2, _local3));
}
public static function randomScale():Number{
var _local1:int;
var _local2:Number;
_local1 = getSceneLevel();
_local2 = Config.Scene_Level[_local1];
return (_local2);
}
private static function getSceneLevel():int{
var _local1:int;
var _local2:int;
var _local3:int;
_local1 = (Math.abs(position.y) / Config.Scene_Value);
_local2 = 0;
_local3 = (Config.Scene_Level.length - 1);
return (MathUtil.clamp(_local1, _local2, _local3));
}
public static function reset():void{
time++;
skill = 3;
score = 0;
sPoint = new Vector2D();
ePoint = new Vector2D();
over = false;
}
public static function set position(_arg1:Vector2D):void{
ePoint.copy(_arg1);
}
public static function themeMusic():String{
var _local1:int;
var _local2:int;
_local1 = musicIndex;
_local2 = ((musicIndex)==2) ? 0 : (musicIndex + 1);
musicName = musicArray[_local1];
musicIndex = _local2;
return (musicName);
}
public static function get distance():int{
return (((ePoint.x - sPoint.x) / 100));
}
private static function getMusic():Array{
var _local1:Array;
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local1 = new Array();
_local2 = ["theme_1.mp3", "theme_2.mp3", "theme_3.mp3"];
_local3 = _local2.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = Math.floor((Math.random() * _local2.length));
_local1.push(_local2[_local5]);
_local2.splice(_local5, 1);
_local4++;
};
return (_local1);
}
public static function get position():Vector2D{
return (ePoint.clone());
}
public static function randomCommuter():String{
var _local1:int;
var _local2:Array;
var _local3:int;
_local1 = getActorLevel();
_local2 = Config.Actor_Level[_local1];
_local3 = Math.ceil((Math.random() * 100));
if ((((_local3 >= _local2[0])) && ((_local3 <= _local2[1])))){
return (Config.Character[0]);
};
if ((((_local3 > _local2[1])) && ((_local3 <= _local2[2])))){
return (Config.Character[1]);
};
if ((((_local3 > _local2[2])) && ((_local3 <= _local2[3])))){
return (Config.Character[2]);
};
if ((((_local3 > _local2[3])) && ((_local3 <= _local2[4])))){
return (Config.Character[3]);
};
if ((((_local3 > _local2[4])) && ((_local3 <= _local2[5])))){
return (Config.Character[4]);
};
if ((((_local3 > _local2[5])) && ((_local3 <= _local2[6])))){
return (Config.Character[5]);
};
if ((((_local3 > _local2[6])) && ((_local3 <= _local2[7])))){
return (Config.Character[6]);
};
return ("error");
}
}
}//package data
Section 99
//GameEvent (events.GameEvent)
package events {
import flash.events.*;
public class GameEvent extends Event {
public var data:Object;
public static const BEGIN_SETTING:String = "begin_setting";
public static const BEGIN_SKILL:String = "begin_skill";
public static const READY:String = "_ready";
public static const FINISH_SKILL:String = "finish_skill";
public static const BEGIN_EFFECT:String = "begin_effect";
public static const ADJUST_ANGLE:String = "adjust_angle";
public static const FINISH_SETTING:String = "finish_setting";
public static const BOUNCE:String = "_bounce";
public static const SLOW:String = "_slow";
public static const COLLISION:String = "_collision";
public static const ADD_COMMUTER:String = "add_commuter";
public static const ADD_LAUNCHER:String = "add_launcher";
public static const BEGIN_LAUNCH:String = "begin_launch";
public static const UNLOAD_SCENE:String = "unload_scene";
public static const BEGIN_MOTION:String = "begin_motion";
public static const FINISH_EFFECT:String = "finish_effect";
public static const START:String = "_start";
public static const OPEN:String = "_open";
public static const CLOSE:String = "_close";
public static const CONTROL:String = "_control";
public static const ADD_BOOGER:String = "add_booger";
public static const LOAD_SCENE:String = "load_scene";
public static const OVER:String = "_over";
public static const REFRESH:String = "_refresh";
public static const FINISH_MOTION:String = "finish_motion";
public static const FINISH_LAUNCH:String = "finish_launch";
public static const LOAD_TILE:String = "load_tile";
public static const FAST:String = "_fast";
public static const REMOVE_BOOGER:String = "remove_booger";
public static const BEGIN_GETTING:String = "begin_getting";
public static const ADJUST_STRENGTH:String = "adjust_strength";
public static const REMOVE_COMMUTER:String = "remove_commuter";
public static const UNLOAD_TILE:String = "unload_tile";
public static const FINISH_GETTING:String = "finish_getting";
public static const REMOVE_LAUNCHER:String = "remove_launcher";
public function GameEvent(_arg1:String, _arg2:Object=null, _arg3:Boolean=true, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
data = _arg2;
}
}
}//package events
Section 100
//UIEvent (events.UIEvent)
package events {
import flash.events.*;
public class UIEvent extends Event {
public var data:Object;
public static const CREDITS:String = "credits";
public static const GAME_OVER:String = "game_over";
public static const LOAD_FROM_FRIEND:String = "load_to_friend";
public static const START_GAME:String = "start_game";
public static const ENGLISH_LOGO:String = "english_logo";
public static const CHINESE_LOGO:String = "chinese_logo";
public static const HIGH_SCORES:String = "high_scores";
public static const SITE_LOCK:String = "site_lock";
public static const MAIN_MENU:String = "main_menu";
public static const HOW_TO_PLAY:String = "how_to_play";
public static const SEND_TO_FRIEND:String = "send_to_friend";
public static const GAME_WORLD:String = "game_world";
public static const LOADING:String = "loading";
public function UIEvent(_arg1:String, _arg2:Object=null, _arg3:Boolean=true, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
data = _arg2;
}
}
}//package events
Section 101
//mp3 (game_over.mp3)
package game_over {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package game_over
Section 102
//mp3 (main_screen.mp3)
package main_screen {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package main_screen
Section 103
//MusicPlayer (media.MusicPlayer)
package media {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class MusicPlayer {
private var _position:Number;
private var _fadeOutTimer:Timer;
private var _enable:Boolean;
private var _music:Sound;
private var _volume:Number;
private var _channel:SoundChannel;
private var _fadeInTimer:Timer;
private var _fadeTime:Number;
private var _name:String;
private static var _instance:MusicPlayer;
public function MusicPlayer(){
_volume = 1;
_position = 0;
_fadeTime = 0.02;
}
private function initFadeOut(_arg1:String):void{
if (_name != _arg1){
return;
};
initFadeOutTimer();
}
public function get enable():Boolean{
return (_enable);
}
public function set enable(_arg1:Boolean):void{
if (_arg1){
resume();
} else {
pause();
};
}
private function onceHandler(_arg1:Event):void{
_channel.removeEventListener(Event.SOUND_COMPLETE, completeHandler);
_channel.stop();
_channel = null;
_music = null;
_name = null;
}
public function run(_arg1:String, _arg2:Boolean=true):void{
if (_enable){
if (_arg2){
onceMusic(_arg1);
} else {
loopMusic(_arg1);
};
};
}
private function get minVolume():Number{
return (0);
}
public function fadeOutMusic(_arg1:String):void{
if (_enable){
initFadeOut(_arg1);
};
}
public function get volume():Number{
return (_volume);
}
private function get maxVolume():Number{
return (1);
}
private function get fadeOutTime():Number{
return ((1000 / (_volume / 0.2)));
}
private function onceMusic(_arg1:String):void{
delMusic();
_name = _arg1;
_music = attachMusic(_arg1);
_channel = _music.play(0, 1, new SoundTransform(_volume));
_channel.addEventListener(Event.SOUND_COMPLETE, onceHandler);
}
private function delFadeOut():void{
delFadeOutTimer();
delMusic();
}
private function delObject():void{
delMusic();
}
private function delFadeIn():void{
delFadeInTimer();
}
private function resume():void{
if (!_enable){
_enable = true;
resumeMusic();
};
}
private function get fadeInTime():Number{
return ((1000 / (_volume / 0.2)));
}
public function set volume(_arg1:Number):void{
_volume = _arg1;
}
private function fadeOutHandler(_arg1:TimerEvent):void{
_channel.soundTransform.volume = (_channel.soundTransform.volume - _fadeTime);
if (_channel.soundTransform.volume <= minVolume){
delFadeOut();
};
}
public function stopMusic():void{
if (_enable){
delObject();
} else {
delData();
};
}
private function fadeInHandler(_arg1:TimerEvent):void{
_channel.soundTransform.volume = (_channel.soundTransform.volume + _fadeTime);
if (_channel.soundTransform.volume >= maxVolume){
delFadeIn();
};
}
private function pauseMusic():void{
if (_name == null){
return;
};
_position = _channel.position;
_channel.removeEventListener(Event.SOUND_COMPLETE, completeHandler);
_channel.stop();
_channel = null;
_music = null;
}
private function completeHandler(_arg1:Event):void{
_channel.removeEventListener(Event.SOUND_COMPLETE, completeHandler);
_channel = _music.play(0, 1, new SoundTransform(_volume));
_channel.addEventListener(Event.SOUND_COMPLETE, completeHandler);
}
private function delData():void{
_name = null;
_position = 0;
}
public function playMusic(_arg1:String):void{
if (_enable){
initObject(_arg1);
} else {
initData(_arg1);
};
}
private function initData(_arg1:String):void{
_name = _arg1;
_position = 0;
}
private function initFadeInTimer():void{
if (_fadeInTimer != null){
return;
};
_fadeInTimer = new Timer(fadeOutTime);
_fadeInTimer.addEventListener(TimerEvent.TIMER, fadeInHandler);
_fadeInTimer.start();
}
private function delFadeOutTimer():void{
if (_fadeOutTimer == null){
return;
};
_fadeOutTimer.removeEventListener(TimerEvent.TIMER, fadeOutHandler);
_fadeOutTimer.stop();
_fadeOutTimer = null;
}
private function attachMusic(_arg1:String):Sound{
var _local2:Class;
var _local3:Sound;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
return (_local3);
}
private function delMusic():void{
if (_channel == null){
return;
};
_channel.removeEventListener(Event.SOUND_COMPLETE, completeHandler);
_channel.stop();
_channel = null;
_music = null;
_name = null;
}
private function initFadeOutTimer():void{
if (_fadeOutTimer != null){
return;
};
_fadeOutTimer = new Timer(fadeInTime);
_fadeOutTimer.addEventListener(TimerEvent.TIMER, fadeOutHandler);
_fadeOutTimer.start();
}
public function fadeInMusic(_arg1:String):void{
if (_enable){
initFadeIn(_arg1);
};
}
private function loopMusic(_arg1:String):void{
delMusic();
_name = _arg1;
_music = attachMusic(_arg1);
_channel = _music.play(0, 1, new SoundTransform(_volume));
_channel.addEventListener(Event.SOUND_COMPLETE, completeHandler);
}
private function initObject(_arg1:String):void{
if (_name != _arg1){
delMusic();
};
initMusic(_arg1, _volume);
}
private function initFadeIn(_arg1:String):void{
if (_name == _arg1){
return;
};
initMusic(_arg1, 0);
initFadeInTimer();
}
private function initMusic(_arg1:String, _arg2:Number):void{
if (_channel != null){
return;
};
_name = _arg1;
_music = attachMusic(_arg1);
_channel = _music.play(0, 1, new SoundTransform(_arg2));
_channel.addEventListener(Event.SOUND_COMPLETE, completeHandler);
}
private function pause():void{
if (_enable){
_enable = false;
pauseMusic();
};
}
private function resumeMusic():void{
if (_name == null){
return;
};
_music = attachMusic(_name);
_channel = _music.play(_position, 1, new SoundTransform(_volume));
_channel.addEventListener(Event.SOUND_COMPLETE, completeHandler);
}
private function delFadeInTimer():void{
if (_fadeInTimer == null){
return;
};
_fadeInTimer.removeEventListener(TimerEvent.TIMER, fadeInHandler);
_fadeInTimer.stop();
_fadeInTimer = null;
}
public static function get instance():MusicPlayer{
if (_instance == null){
_instance = new (MusicPlayer);
};
return (_instance);
}
}
}//package media
Section 104
//SoundPlayer (media.SoundPlayer)
package media {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class SoundPlayer {
private var _enable:Boolean;
private var _sounds:Array;
private static var _instance:SoundPlayer;
public function SoundPlayer(){
_sounds = new Array();
}
public function get enable():Boolean{
return (_enable);
}
private function attachSound(_arg1:String):Sound{
var _local2:Class;
var _local3:Sound;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
return (_local3);
}
private function delSound(_arg1:String):void{
var _local2:SoundObject;
_local2 = getObjectByName(_arg1);
_local2.channel.removeEventListener(Event.SOUND_COMPLETE, completeHandler);
_local2.channel.stop();
removeSound(_local2);
}
public function stopSound(_arg1:String):void{
if (_enable){
delSound(_arg1);
};
}
private function addSound(_arg1:SoundObject):void{
_sounds.push(_arg1);
}
private function completeHandler(_arg1:Event):void{
var _local2:SoundChannel;
var _local3:SoundObject;
_local2 = (_arg1.target as SoundChannel);
_local3 = getObjectByChannel(_local2);
_local3.channel.removeEventListener(Event.SOUND_COMPLETE, completeHandler);
_local3.channel.stop();
removeSound(_local3);
}
private function removeSound(_arg1:SoundObject):void{
_sounds.splice(_sounds.indexOf(_arg1), 1);
}
public function set enable(_arg1:Boolean):void{
_enable = _arg1;
}
private function getObjectByName(_arg1:String):SoundObject{
var _local2:int;
var _local3:int;
_local2 = _sounds.length;
_local3 = 0;
while (_local3 < _local2) {
if (_sounds[_local3].name == _arg1){
return (_sounds[_local3]);
};
_local3++;
};
return (null);
}
public function playSound(_arg1:String, _arg2:Number):void{
if (_enable){
initSound(_arg1, _arg2);
};
}
private function getObjectByChannel(_arg1:SoundChannel):SoundObject{
var _local2:int;
var _local3:int;
_local2 = _sounds.length;
_local3 = 0;
while (_local3 < _local2) {
if (_sounds[_local3].channel == _arg1){
return (_sounds[_local3]);
};
_local3++;
};
return (null);
}
private function initSound(_arg1:String, _arg2:Number):void{
var _local3:SoundObject;
_local3 = new SoundObject();
_local3.name = _arg1;
_local3.sound = attachSound(_arg1);
_local3.channel = _local3.sound.play(0, 1, new SoundTransform(_arg2));
_local3.channel.addEventListener(Event.SOUND_COMPLETE, completeHandler);
addSound(_local3);
}
public static function get instance():SoundPlayer{
if (_instance == null){
_instance = new (SoundPlayer);
};
return (_instance);
}
}
}//package media
import flash.media.*;
class SoundObject {
public var channel:SoundChannel;
public var name:String;
public var sound:Sound;
private function SoundObject(){
}
}
Section 105
//NetServer (net.NetServer)
package net {
import flash.external.*;
public class NetServer {
public static function transform():Boolean{
return (((returnURL().indexOf("code="))!=-1) ? true : false);
}
public static function returnURL():String{
var loc:String;
try {
loc = ExternalInterface.call("window.location.href.toString");
} catch(e) {
loc = "error";
};
if ((((loc == null)) || ((loc == "")))){
loc = "error";
};
if (String(loc).indexOf(".swf") != -1){
loc = "error";
};
return (loc);
}
}
}//package net
Section 106
//O1111111l (O11111110.O1111111l)
package O11111110 {
import flash.net.*;
public class O1111111l {
private var O1111100O1:int;
private var O11111l1l:String;
private var oldlanguageOrder:Array;
private var cFame:String;// = "en_us"
private var languageOrder:Array;
private var O11111l1O:Array;
public var O11111OOO:int;// = 1
private var O111111O0:String;
private var O111111Ol:String;
private static var O11111l11:O1111111l;
public function O1111111l():void{
languageOrder = ["en_us", "cn", "nl", "fr", "de", "pl", "se", "it", "es", "br", "id", "ru", "en_uk", "in", "pt", "ph", "jp", "ar"];
oldlanguageOrder = ["en_us", "cn", "nl", "fr", "de", "pl", "se", "it", "es", "br", "id", "ru", "en_uk", "in", "removed", "removed", "pt", "ph", "jp", "removed"];
cFame = "en_us";
O11111OOO = 1;
super();
O11111l1O = new Array();
}
private function O11111l10():void{
O11111l1O.push(new O11111O00(1, 1, "www.agame.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(17, 1, "www.gamesgames.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(29, 1, "www.girlsgogames.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 2, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(2, 19, "www.game.com.cn", "/downloads"));
O11111l1O.push(new O11111O00(2, 19, "www.game.com.cn", "/downloads"));
O11111l1O.push(new O11111O00(2, 19, "www.game.com.cn", "/downloads"));
O11111l1O.push(new O11111O00(2, 19, "www.game.com.cn", "/downloads"));
O11111l1O.push(new O11111O00(4, 5, "www.spel.nl", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(18, 5, "www.spelletjes.nl", (((((("/spel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(30, 5, "www.girlsgogames.nl", (((((("/spel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 5, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(5, 6, "www.jeu.fr", (((((("/jeu/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(19, 6, "www.jeux.fr", (((((("/jeu/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(31, 6, "www.girlsgogames.fr", (((((("/jeu/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 6, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(6, 7, "www.spielen.com", (((((("/spiel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(20, 7, "www.jetztspielen.de", (((((("/spiel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(32, 7, "www.girlsgogames.de", (((((("/spiel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 7, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(14, 13, "www.minigry.pl", (((((("/gra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(21, 13, "www.gry.pl", (((((("/gra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(33, 13, "www.girlsgogames.pl", (((((("/gra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 13, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(9, 12, "www.spel.se", (((((("/spel_/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(22, 12, "www.spela.se", (((((("/spel_/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(34, 12, "www.girlsgogames.se", (((((("/spel_/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 12, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(8, 11, "www.giocaregratis.it", (((((("/gioco/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(23, 11, "www.gioco.it", (((((("/gioco/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(35, 11, "www.girlsgogames.it", (((((("/gioco/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 11, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(5, 8, "www.zapjuegos.com", (((((("/juego/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(24, 8, "www.juegos.com", (((((("/juego/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(36, 8, "www.juegosdechicas.com", (((((("/juego/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 8, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(7, 9, "www.clickjogos.com", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(25, 9, "www.ojogos.com.br", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(38, 9, "www.girlsgogames.com.br", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 9, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(13, 16, "www.games.co.id", (((((("/permainanme/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(13, 16, "www.games.co.id", (((((("/permainanme/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(13, 16, "www.games.co.id", (((((("/permainanme/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 16, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(11, 14, "www.flashgames.ru", (((((("/igra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(26, 14, "www.ourgames.ru", (((((("/igra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(39, 14, "www.girlsgogames.ru", (((((("/igra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 14, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(48, 2, "www.agame.co.uk", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(27, 2, "www.games.co.uk", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(37, 2, "www.girlsgogames.co.uk", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 2, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(12, 3, "www.game.co.in", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(12, 3, "www.game.co.in", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(40, 3, "www.girlsgogames.in", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 3, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(42, 10, "www.ojogos.pt", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(42, 10, "www.ojogos.pt", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(42, 10, "www.ojogos.pt", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 10, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(43, 4, "www.laro.com.ph", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(43, 4, "www.laro.com.ph", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(43, 4, "www.laro.com.ph", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 4, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(44, 18, "www.egames.jp", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(44, 18, "www.egames.jp", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(44, 18, "www.egames.jp", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 18, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(47, 1, "www.dailygame.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(47, 1, "www.dailygame.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(47, 1, "www.dailygame.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(47, 1, "www.dailygame.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
}
public function O11111Oll(_arg1:String, _arg2:String, _arg3:String, _arg4:int):void{
O1111100O1 = _arg4;
O11111l1l = _arg1;
O111111Ol = _arg2;
O111111O0 = _arg3;
O11111l10();
}
public function O11111O01():String{
return (O11111l1O[((((O11111OOO - 1) * 4) + O1111100O1) - 1)].O11111OOl);
}
public function O11111Ol0(_arg1:String="en_us"):void{
cFame = _arg1;
O11111OOO = (languageOrder.indexOf(_arg1) + 1);
if (O11111OOO == 0){
O11111OOO = 1;
cFame = "en_us";
};
}
public function O11111O0O():int{
return (O11111l1O[((((O11111OOO - 1) * 4) + O1111100O1) - 1)].O11111OO0);
}
public function O11111O0l():void{
navigateToURL(new URLRequest((("http://" + O11111l1O[((((O11111OOO - 1) * 4) + O1111100O1) - 1)].O11111OOl) + O11111l1O[((((O11111OOO - 1) * 4) + O1111100O1) - 1)].part2)), "_blank");
}
public function getOldOrder():int{
if (oldlanguageOrder.indexOf(cFame) < 0){
return (0);
};
return (oldlanguageOrder.indexOf(cFame));
}
public static function O11111OlO():O1111111l{
if (O11111l11 == null){
O11111l11 = new (O1111111l);
};
return (O11111l11);
}
}
}//package O11111110
class O11111O00 {
public var part2:String;
public var O11111OOl:String;
public var O11111OO0:int;
private function O11111O00(_arg1:int, _arg2:int, _arg3:String, _arg4):void{
O11111OOl = _arg3;
part2 = _arg4;
O11111OO0 = _arg2;
}
}
Section 107
//O1111111O (O11111110.O1111111O)
package O11111110 {
import flash.net.*;
import flash.external.*;
public class O1111111O {
private static const O11111OOO:Array = ["www.zlonggamestest.com", "gamedev.dev.spilgames.com", "gamedev.dev.spillgroup.com", "www.agame.com", "www.girlsgogames.com", "www.games.co.uk", "www.mygames.co.uk", "www.girlsgogames.co.uk", "www.spel.nl", "www.spelletjes.nl", "www.girlsgogames.nl", "www.jetztspielen.de", "www.spielen.com", "www.girlsgogames.de", "www.jeux.fr", "www.jeu.fr", "www.girlsgogames.fr", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.gioco.it", "www.giocaregratis.it", "www.girlsgogames.it", "www.gry.pl", "www.minigry.pl", "www.girlsgogames.pl", "www.spela.se", "www.spel.eu", "www.girlsgogames.se", "www.ojogos.pt", "www.ourgames.ru", "www.flashgames.ru", "www.girlsgogames.ru", "www.oyunlar123.com", "www.asoyun.com", "www.girlsgogamestr.com", "www.gamesgames.com", "www.agame.com", "www.girlsgogames.com", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.ojogos.com.br", "www.clickjogos.com", "www.girlsgogames.com.br", "www.game.com.cn", "www.xiaoyouxi.com", "www.egames.jp", "www.game.co.in", "www.game.co.in", "www.girlsgogames.in", "www.games.co.id", "www.laro.com.ph", "www.game.com.my", "www.onrpg.com", "www.zlonggames.com", "www.a10.com", "www.agame.co.uk", "www.dailygame.com"];
private static var O11111OOl:URLRequest;
private static var O11111OO0;
public function O1111111O():void{
super();
try {
O11111OO0 = ExternalInterface.call("window.location.href.toString");
} catch(e) {
O11111OO0 = "error";
};
if ((((O11111OO0 == null)) || ((O11111OO0 == "")))){
O11111OO0 = "error";
};
if (String(O11111OO0).indexOf(".swf") != -1){
O11111OO0 = "error";
};
}
public function O11111OO1():Boolean{
if (((!((O11111Ol0(O11111O01(O11111OO0)) == -1))) && (!((O11111OO0 == "error"))))){
return (true);
};
return (false);
}
private static function O11111O01(_arg1:String):String{
var _local2:String;
var _local3:uint;
_local2 = new String();
_local3 = 7;
while (_local3 < _arg1.length) {
if (_arg1.charAt(_local3) == "/"){
break;
};
_local2 = (_local2 + _arg1.charAt(_local3));
_local3++;
};
return (_local2);
}
private static function O11111Ol0(_arg1:String):Number{
var _local2:uint;
if (((O11111OOO) && (_arg1))){
_local2 = 0;
while (_local2 < O11111OOO.length) {
if (_arg1 == O11111OOO[_local2]){
return (_local2);
};
_local2++;
};
return (-1);
} else {
trace("cannot find site name");
};
return (-1);
}
}
}//package O11111110
Section 108
//GAPlugin (plugins.GAPlugin)
package plugins {
import flash.utils.*;
public final class GAPlugin {
private static var tracker:Object;
public static function dispatchEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=0):void{
if (tracker == null){
return;
};
tracker.trackEvent(_arg1, _arg2, _arg3, _arg4);
}
public static function init(_arg1:Document):void{
var _local2:Class;
_local2 = (getDefinitionByName("com.google.analytics.GATracker") as Class);
tracker = new _local2(_arg1, "UA-6695967-1", "AS3", false);
}
}
}//package plugins
Section 109
//HSPlugin (plugins.HSPlugin)
package plugins {
import zlong.country.*;
import flash.utils.*;
public final class HSPlugin {
public static var list:Object;
public static function init(_arg1:Document):void{
var _local2:Class;
_local2 = (getDefinitionByName("O11111OO11") as Class);
list = new (_local2);
list.O111111O(_arg1, "Subway_Sneeze", "Subway-Sneeze", 0, "normal", 1, 0, 0, 0x515151);
list.O1100000l(CountryInfo.instance.country);
}
}
}//package plugins
Section 110
//Random (safe.Random)
package safe {
import flash.net.*;
import flash.display.*;
public class Random {
var randomStr;
private static var hexcase = 0;
public static var gameID = 109;
public static var strqq:String;
private static var chrsz = 8;
private static var b64pad = "";
public function Random(){
randomStr = Randoms(10);
super();
}
public static function average_ii(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function SortT(){
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
_local2 = "";
trace((_local1 + "###"));
_local3 = 0;
while (_local3 < 10) {
_local2 = (_local2 + _local1.substr(Math.floor((Math.random() * _local1.length)), 1));
_local3++;
};
trace(_local2);
return (_local2);
}
public static function b64_hmac_average(_arg1, _arg2){
return (binl2b64(core_hmac_average(_arg1, _arg2)));
}
public static function md5(_arg1:String){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:*;
var _local19:*;
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
_local5 = 1732584193;
_local6 = -271733879;
_local7 = -1732584194;
_local8 = 271733878;
_local9 = str2binl(_local4);
if (_local9.length > 16){
_local9 = core_average(_local9, (_local4.length * chrsz));
};
_local10 = new Array(16);
_local11 = new Array(16);
_local12 = 0;
while (_local12 < 16) {
_local10[_local12] = (_local9[_local12] ^ 909522486);
_local11[_local12] = (_local9[_local12] ^ 1549556828);
_local12++;
};
_local14 = core_average(_local10.concat(str2binl(_local13)), (0x0200 + (_local13.length * chrsz)));
return (core_average(_local11.concat(_local14), (0x0200 + 128)));
return (new Array(_local5, _local6, _local7, _local8));
}
public static function average_gg(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function average_hh(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function binl2b64(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
_local3 = "";
_local4 = 0;
while (_local4 < (_arg1.length * 4)) {
_local5 = (((((_arg1[(_local4 >> 2)] >> (8 * (_local4 % 4))) & 0xFF) << 16) | (((_arg1[((_local4 + 1) >> 2)] >> (8 * ((_local4 + 1) % 4))) & 0xFF) << 8)) | ((_arg1[((_local4 + 2) >> 2)] >> (8 * ((_local4 + 2) % 4))) & 0xFF));
_local6 = 0;
while (_local6 < 4) {
if (((_local4 * 8) + (_local6 * 6)) > (_arg1.length * 32)){
_local3 = (_local3 + b64pad);
} else {
_local3 = (_local3 + _local2.charAt(((_local5 >> (6 * (3 - _local6))) & 63)));
};
_local6++;
};
_local4 = (_local4 + 3);
};
return (_local3);
}
public static function senturl(_arg1, _arg2, _arg3, _arg4):void{
var _local5:String;
var _local6:URLRequest;
_local5 = ((((((((("http://user.game.com.cn/game/?action=highscore&id=" + gameID) + "&s=") + _arg1) + "&a=") + _arg2) + "&t=") + _arg4) + "&r=") + _arg3);
_local6 = new URLRequest(_local5);
navigateToURL(_local6, "_blank");
}
public static function geturl():void{
var _local1:String;
var _local2:URLRequest;
_local1 = ("http://user.game.com.cn/game/?action=highscore&id=" + gameID);
_local2 = new URLRequest(_local1);
navigateToURL(_local2, "_blank");
}
public static function bit_rol(_arg1, _arg2){
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public static function core_hmac_average(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local3 = str2binl(_arg1);
if (_local3.length > 16){
_local3 = core_average(_local3, (_arg1.length * chrsz));
};
_local4 = new Array(16);
_local5 = new Array(16);
_local6 = 0;
while (_local6 < 16) {
_local4[_local6] = (_local3[_local6] ^ 909522486);
_local5[_local6] = (_local3[_local6] ^ 1549556828);
_local6++;
};
_local7 = core_average(_local4.concat(str2binl(_arg2)), (0x0200 + (_arg2.length * chrsz)));
return (core_average(_local5.concat(_local7), (0x0200 + 128)));
}
public static function average_ff(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function str2binl(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = new Array();
_local3 = ((1 << chrsz) - 1);
_local4 = 0;
while (_local4 < (_arg1.length * chrsz)) {
_local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 / chrsz)) & _local3) << (_local4 % 32)));
_local4 = (_local4 + chrsz);
};
return (_local2);
}
public static function binl2hex(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = (hexcase) ? "0123456789ABCDEF" : "0123456789abcdef";
_local3 = "";
_local4 = 0;
while (_local4 < (_arg1.length * 4)) {
_local3 = (_local3 + (_local2.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local2.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15))));
_local4++;
};
return (_local3);
}
public static function calcaverage(_arg1){
return (binl2hex(core_average(str2binl(_arg1), (_arg1.length * chrsz))));
}
public static function hex_hmac_average(_arg1, _arg2){
return (binl2hex(core_hmac_average(_arg1, _arg2)));
}
public static function safe_add(_arg1, _arg2){
var _local3:*;
var _local4:*;
_local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF));
_local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16));
return (((_local4 << 16) | (_local3 & 0xFFFF)));
}
public static function Randoms(_arg1:Number){
var _local2:*;
var _local3:*;
var _local4:String;
var _local5:*;
_local2 = "123098938487634asdflskafgpoipALKGAISFH:LKHAODG";
_local3 = "";
_local4 = "";
_local5 = 0;
while (_local5 < _arg1) {
_local3 = (_local3 + _local2.substr(Math.floor((Math.random() * _local2.length)), 1));
_local5++;
};
return (_local3);
}
public static function average_vm_test(){
return ((hex_average("abc") == "900150983cd24fb0d6963f7d28e17f72"));
}
public static function hex_average(_arg1){
return (binl2hex(core_average(str2binl(_arg1), (_arg1.length * chrsz))));
}
public static function average_cmn(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6){
return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3));
}
public static function core_average(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
_arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
_arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
_local3 = 1732584193;
_local4 = -271733879;
_local5 = -1732584194;
_local6 = 271733878;
_local7 = 0;
while (_local7 < _arg1.length) {
_local8 = _local3;
_local9 = _local4;
_local10 = _local5;
_local11 = _local6;
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330);
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983);
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162);
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551);
_local3 = safe_add(_local3, _local8);
_local4 = safe_add(_local4, _local9);
_local5 = safe_add(_local5, _local10);
_local6 = safe_add(_local6, _local11);
_local7 = (_local7 + 16);
};
return (new Array(_local3, _local4, _local5, _local6));
}
public static function b64_average(_arg1){
return (binl2b64(core_average(str2binl(_arg1), (_arg1.length * chrsz))));
}
public static function DrawLine(_arg1, _arg2, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){
var point1:Vector;
var point:Vector;
var current:*;
var nextdot:*;
var minX:Number;
var minY:Number;
var maxX:Number;
var maxY:Number;
var verts:Array;
var center:Vector;
var normal:Vector;
var dmc:MovieClip;
var isVisible:Boolean;
var isActivated:Boolean;
var AbstractTile:Function;
var initializeContainer:Function;
var createBoundingRect:Function;
var testIntervals:Function;
var k:*;
var i:*;
var point2:Vector;
var point3:Vector;
var point4:Vector;
var point5:Vector;
var b:*;
var j:*;
var l:*;
var c:*;
var position = _arg1;
var line = _arg2;
var x1 = _arg3;
var x2 = _arg4;
var y1 = _arg5;
var y2 = _arg6;
AbstractTile = function (_arg1:Number, _arg2:Number){
center = new Vector(_arg1, _arg2);
verts = new Array();
normal = new Vector(0, 0);
isVisible = true;
isActivated = true;
initializeContainer();
};
initializeContainer = function (){
var _local1:String;
_local1 = "_oooo";
dmc = new MovieClip();
dmc.name = _local1;
};
createBoundingRect = function (_arg1:Number, _arg2:Number){
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local3 = (center.y - (_arg2 / 2));
_local4 = (center.y + (_arg2 / 2));
_local5 = (center.x - (_arg1 / 2));
_local6 = (center.x + (_arg1 / 2));
verts.push(new Vector(_local6, _local4));
verts.push(new Vector(_local6, _local3));
verts.push(new Vector(_local5, _local3));
verts.push(new Vector(_local5, _local4));
};
testIntervals = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
var _local5:Number;
var _local6:Number;
if (_arg2 < _arg3){
return (0);
};
if (_arg4 < _arg1){
return (0);
};
_local5 = (_arg4 - _arg1);
_local6 = (_arg3 - _arg2);
if (Math.abs(_local5) < Math.abs(_local6)){
return (_local5);
};
return (_local6);
};
point1 = new Vector(x1, y1);
point = new Vector(x2, y2);
current = point1.dot(point);
nextdot = point1.cross(point);
current = (current + nextdot);
k = [];
strqq = "";
i = 0;
while (i < 8) {
b = 0;
j = 0;
while (j < 10) {
c = line.substr(j, 1).charCodeAt();
c = String(c).substr((String(c).length - 2), 1);
b = (b + Number(c));
j = (j + 1);
};
trace(b);
if (b > 10){
b = (b % 10);
};
k[i] = Math.round((((i + b) * (i + b)) - ((b * b) / 2)));
while (k[i] >= 32) {
k[i] = Math.round((k[i] / 2));
};
l = 0;
l = 0;
while (l < (k.length - 1)) {
if (k[i] == k[l]){
k[i] = (k[i] + 1);
};
l = (l + 1);
};
trace(k[i]);
strqq = (strqq + position.substr(k[i], 1));
i = (i + 1);
};
point2 = new Vector(x1, y1);
current = point2.dot(point);
nextdot = point2.cross(point);
current = (current + nextdot);
point3 = new Vector(x1, y1);
current = point3.dot(point);
nextdot = point3.cross(point);
current = (current + nextdot);
point4 = new Vector(x1, y1);
current = point4.dot(point);
nextdot = point4.cross(point);
current = (current + nextdot);
point5 = new Vector(x1, y1);
current = point5.dot(point);
nextdot = point5.cross(point);
current = (current + nextdot);
current = Math.round(Math.sqrt((current * 2)));
if (current > 20){
current = Math.round(Math.sqrt(current));
};
return (current);
}
}
}//package safe
Section 111
//Vector (safe.Vector)
package safe {
public class Vector {
public var x:Number;
public var y:Number;
public function Vector(_arg1:Number, _arg2:Number){
x = _arg1;
y = _arg2;
}
public function cross(_arg1:Vector):Number{
return (((x * _arg1.y) - (y * _arg1.x)));
}
public function magnitude():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function plusNew(_arg1:Vector):Vector{
return (new Vector((x + _arg1.x), (y + _arg1.y)));
}
public function mult(_arg1:Number):Vector{
x = (x * _arg1);
y = (y * _arg1);
return (this);
}
public function dot(_arg1:Vector):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function normalize():Vector{
var _local1:Number;
_local1 = Math.sqrt(((x * x) + (y * y)));
x = (x / _local1);
y = (y / _local1);
return (this);
}
public function project(_arg1:Vector):Vector{
var _local2:Number;
var _local3:Number;
var _local4:Vector;
_local2 = this.dot(_arg1);
_local3 = ((_arg1.x * _arg1.x) + (_arg1.y * _arg1.y));
_local4 = new Vector(0, 0);
_local4.x = ((_local2 / _local3) * _arg1.x);
_local4.y = ((_local2 / _local3) * _arg1.y);
return (_local4);
}
public function copy(_arg1:Vector):void{
x = _arg1.x;
y = _arg1.y;
}
public function multNew(_arg1:Number):Vector{
return (new Vector((x * _arg1), (y * _arg1)));
}
public function minus(_arg1:Vector):Vector{
x = (x - _arg1.x);
y = (y - _arg1.y);
return (this);
}
public function plus(_arg1:Vector):Vector{
x = (x + _arg1.x);
y = (y + _arg1.y);
return (this);
}
public function distance(_arg1:Vector):Number{
var _local2:Number;
var _local3:Number;
_local2 = (x - _arg1.x);
_local3 = (y - _arg1.y);
return (Math.sqrt(((_local2 * _local2) + (_local3 * _local3))));
}
public function setTo(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
}
public function minusNew(_arg1:Vector):Vector{
return (new Vector((x - _arg1.x), (y - _arg1.y)));
}
}
}//package safe
Section 112
//BusinessMan_121 (Subway_Sneeze_final_fla.BusinessMan_121)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class BusinessMan_121 extends MovieClip {
public var point:MovieClip;
}
}//package Subway_Sneeze_final_fla
Section 113
//label_176 (Subway_Sneeze_final_fla.label_176)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class label_176 extends MovieClip {
public var flag:MovieClip;
}
}//package Subway_Sneeze_final_fla
Section 114
//LanguageSelectPopup_175 (Subway_Sneeze_final_fla.LanguageSelectPopup_175)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class LanguageSelectPopup_175 extends MovieClip {
public var l_se:MovieClip;
public var l_ar:MovieClip;
public var l_br:MovieClip;
public var l_in:MovieClip;
public var l_cn:MovieClip;
public var l_tr:MovieClip;
public var l_de:MovieClip;
public var l_my:MovieClip;
public var _blank:MovieClip;
public var l_es:MovieClip;
public var l_en_uk:MovieClip;
public var l_fr:MovieClip;
public var l_en_us:MovieClip;
public var l_pl:MovieClip;
public var l_pt:MovieClip;
public var l_ph:MovieClip;
public var l_nl:MovieClip;
public var l_id:MovieClip;
public var l_it:MovieClip;
public var l_jp:MovieClip;
public var l_ru:MovieClip;
}
}//package Subway_Sneeze_final_fla
Section 115
//O_Actor_190 (Subway_Sneeze_final_fla.O_Actor_190)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class O_Actor_190 extends MovieClip {
public function O_Actor_190(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Subway_Sneeze_final_fla
Section 116
//O_Assets_221 (Subway_Sneeze_final_fla.O_Assets_221)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class O_Assets_221 extends MovieClip {
public function O_Assets_221(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Subway_Sneeze_final_fla
Section 117
//O_Control_219 (Subway_Sneeze_final_fla.O_Control_219)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class O_Control_219 extends MovieClip {
public function O_Control_219(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Subway_Sneeze_final_fla
Section 118
//O_Media_228 (Subway_Sneeze_final_fla.O_Media_228)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class O_Media_228 extends MovieClip {
public function O_Media_228(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Subway_Sneeze_final_fla
Section 119
//O_Scene_200 (Subway_Sneeze_final_fla.O_Scene_200)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class O_Scene_200 extends MovieClip {
public function O_Scene_200(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Subway_Sneeze_final_fla
Section 120
//O_UI_2 (Subway_Sneeze_final_fla.O_UI_2)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class O_UI_2 extends MovieClip {
public function O_UI_2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Subway_Sneeze_final_fla
Section 121
//record_mc_106 (Subway_Sneeze_final_fla.record_mc_106)
package Subway_Sneeze_final_fla {
import flash.display.*;
import flash.text.*;
public dynamic class record_mc_106 extends MovieClip {
public var text:TextField;
}
}//package Subway_Sneeze_final_fla
Section 122
//score_mc_108 (Subway_Sneeze_final_fla.score_mc_108)
package Subway_Sneeze_final_fla {
import flash.display.*;
import flash.text.*;
public dynamic class score_mc_108 extends MovieClip {
public var text:TextField;
}
}//package Subway_Sneeze_final_fla
Section 123
//Timeline_85 (Subway_Sneeze_final_fla.Timeline_85)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class Timeline_85 extends MovieClip {
public function Timeline_85(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Subway_Sneeze_final_fla
Section 124
//title_182 (Subway_Sneeze_final_fla.title_182)
package Subway_Sneeze_final_fla {
import flash.display.*;
public dynamic class title_182 extends MovieClip {
public var hitArea_mc:MovieClip;
}
}//package Subway_Sneeze_final_fla
Section 125
//mp3 (theme_1.mp3)
package theme_1 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package theme_1
Section 126
//mp3 (theme_2.mp3)
package theme_2 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package theme_2
Section 127
//mp3 (theme_3.mp3)
package theme_3 {
import flash.media.*;
public dynamic class mp3 extends Sound {
}
}//package theme_3
Section 128
//AbstractBind (ui.binds.AbstractBind)
package ui.binds {
import flash.events.*;
import flash.display.*;
public class AbstractBind extends MovieClip {
public function AbstractBind(){
this.stop();
this.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
this.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
}
protected function del():void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
}
protected function init():void{
this.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
}
private function addedHandler(_arg1:Event):void{
init();
}
private function removedHandler(_arg1:Event):void{
del();
}
}
}//package ui.binds
Section 129
//BindButton (ui.binds.BindButton)
package ui.binds {
import flash.events.*;
import flash.display.*;
import media.*;
import data.*;
public class BindButton extends AbstractBind {
private var _hitArea_mc:Sprite;
public var howtoplay_font:Font_how_to_play;
public var hitArea_mc:MovieClip;
override protected function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initEvent();
}
override protected function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function outHandler(_arg1:MouseEvent):void{
this.gotoAndStop(1);
}
private function delLogicObject():void{
delEvent();
}
private function delHitArea():void{
_hitArea_mc = null;
}
private function upHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
}
private function downHandler(_arg1:MouseEvent):void{
this.gotoAndStop(3);
clickSound();
}
private function delDisplayObject():void{
delHitArea();
}
private function initEvent():void{
_hitArea_mc.addEventListener(MouseEvent.ROLL_OVER, overHandler);
_hitArea_mc.addEventListener(MouseEvent.ROLL_OUT, outHandler);
_hitArea_mc.addEventListener(MouseEvent.MOUSE_DOWN, downHandler);
_hitArea_mc.addEventListener(MouseEvent.MOUSE_UP, upHandler);
}
private function initDisplayObject():void{
initHitArea();
}
private function clickSound():void{
SoundPlayer.instance.playSound("menuPress", Config.SoundVolume);
}
private function initHitArea():void{
_hitArea_mc = (this.getChildByName("hitArea_mc") as Sprite);
_hitArea_mc.mouseChildren = false;
_hitArea_mc.alpha = 0;
}
private function delEvent():void{
_hitArea_mc.removeEventListener(MouseEvent.ROLL_OVER, overHandler);
_hitArea_mc.removeEventListener(MouseEvent.ROLL_OUT, outHandler);
_hitArea_mc.removeEventListener(MouseEvent.MOUSE_DOWN, downHandler);
_hitArea_mc.removeEventListener(MouseEvent.MOUSE_UP, upHandler);
}
private function overSound():void{
SoundPlayer.instance.playSound("menuTouch", Config.SoundVolume);
}
private function overHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
overSound();
}
}
}//package ui.binds
Section 130
//BindOption (ui.binds.BindOption)
package ui.binds {
import flash.events.*;
import flash.display.*;
public class BindOption extends AbstractBind {
private var _hitArea_mc:Sprite;
public var hitArea_mc:MovieClip;
private var _index:int;
override protected function del():void{
super.del();
delData();
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initEvent();
}
override protected function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
private function delLogicObject():void{
delEvent();
}
private function delHitArea():void{
_hitArea_mc = null;
}
private function delDisplayObject():void{
delHitArea();
}
private function initEvent():void{
_hitArea_mc.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function delData():void{
_index = 0;
}
private function initDisplayObject():void{
initHitArea();
}
private function initHitArea():void{
_hitArea_mc = (this.getChildByName("hitArea_mc") as Sprite);
_hitArea_mc.mouseChildren = false;
_hitArea_mc.alpha = 0;
}
private function delEvent():void{
_hitArea_mc.removeEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(_arg1:MouseEvent):void{
if (this.currentFrame != this.totalFrames){
_index++;
this.nextFrame();
} else {
_index = 0;
this.gotoAndStop(1);
};
}
public function get index():int{
return (_index);
}
private function initData():void{
_index = 0;
}
}
}//package ui.binds
Section 131
//BindSkill (ui.binds.BindSkill)
package ui.binds {
import flash.display.*;
public class BindSkill extends AbstractBind {
public var 光晕:MovieClip;
private var _state:Boolean;
private var _enable:Boolean;
public function set enable(_arg1:Boolean):void{
_enable = _arg1;
}
override protected function del():void{
_state = false;
_enable = false;
}
override protected function init():void{
_state = false;
_enable = true;
}
public function set state(_arg1:Boolean):void{
_state = _arg1;
}
public function open():void{
if (enable){
if (!state){
state = true;
this.gotoAndStop(2);
};
};
}
public function get enable():Boolean{
return (_enable);
}
public function get state():Boolean{
return (_state);
}
public function enterframe():void{
if (this.currentFrame == (this.totalFrames - 1)){
this.gotoAndStop(1);
this.visible = false;
};
}
public function run():void{
this.play();
this.enable = false;
}
public function close():void{
if (enable){
if (state){
state = false;
this.gotoAndStop(1);
};
};
}
}
}//package ui.binds
Section 132
//AbstractScreen (ui.screens.AbstractScreen)
package ui.screens {
import flash.display.*;
import flash.utils.*;
public class AbstractScreen {
private var _container:MovieClip;
public function AbstractScreen(){
if (getQualifiedClassName(this) == "ui.screens::AbstractScreen"){
throw (new ArgumentError("AbstractScreen can't be instantiated directly"));
};
}
public function get container():MovieClip{
return (_container);
}
public function set container(_arg1:MovieClip):void{
_container = _arg1;
}
public function addParent(_arg1:Sprite):void{
_arg1.addChild(_container);
}
public function removeParent(_arg1:Sprite):void{
_arg1.removeChild(_container);
}
public function init():void{
}
public function del():void{
}
}
}//package ui.screens
Section 133
//ChineseLogo (ui.screens.ChineseLogo)
package ui.screens {
import flash.events.*;
import events.*;
import utils.*;
import data.*;
import net.*;
public class ChineseLogo extends AbstractScreen {
private const TITLE:String = "UI_ChineseLogo";
private function initContainer():void{
container = Library.getMovieClip(TITLE);
container.x = (Config.STAGE_WIDTH / 2);
container.y = (Config.STAGE_HEIGHT / 2);
}
private function initEvent():void{
container.addEventListener(Event.ENTER_FRAME, enterFrame);
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initEvent();
}
override public function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function initDisplayObject():void{
initContainer();
}
private function enterFrame(_arg1:Event):void{
if (container.totalFrames == container.currentFrame){
complete();
};
}
private function delDisplayObject():void{
delContainer();
}
private function delLogicObject():void{
delEvent();
}
private function startMainMenu():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.MAIN_MENU));
}
private function complete():void{
if (NetServer.transform()){
startLoadFromFriend();
} else {
startMainMenu();
};
}
private function delContainer():void{
container = null;
}
private function delEvent():void{
container.removeEventListener(Event.ENTER_FRAME, enterFrame);
}
private function startLoadFromFriend():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.LOAD_FROM_FRIEND));
}
}
}//package ui.screens
Section 134
//Credits (ui.screens.Credits)
package ui.screens {
import flash.events.*;
import events.*;
import utils.*;
import ui.binds.*;
public class Credits extends AbstractScreen {
private const TITLE:String = "UI_Credits";
private var _back_btn:BindButton;
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function initElement():void{
initButton();
}
private function initLogicObject():void{
initEvent();
}
override public function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
container = Library.getMovieClip(TITLE);
}
private function delDisplayObject():void{
delElement();
delContainer();
}
private function delButton():void{
_back_btn = null;
}
private function delEvent():void{
_back_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
}
private function initButton():void{
_back_btn = (container.getChildByName("back_btn") as BindButton);
}
private function startHighScores():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.HIGH_SCORES));
}
private function clickHandler(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case _back_btn:
startHighScores();
break;
};
}
private function initEvent():void{
_back_btn.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function delElement():void{
delButton();
}
private function delLogicObject():void{
delEvent();
}
private function delContainer():void{
container = null;
}
private function initDisplayObject():void{
initContainer();
initElement();
}
}
}//package ui.screens
Section 135
//EnglishLogo (ui.screens.EnglishLogo)
package ui.screens {
import flash.events.*;
import events.*;
import utils.*;
import data.*;
import net.*;
public class EnglishLogo extends AbstractScreen {
private const TITLE:String = "UI_EnglishLogo";
private function initContainer():void{
container = Library.getMovieClip(TITLE);
container.x = (Config.STAGE_WIDTH / 2);
container.y = (Config.STAGE_HEIGHT / 2);
}
private function initEvent():void{
container.addEventListener(Event.ENTER_FRAME, enterFrame);
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initEvent();
}
override public function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function initDisplayObject():void{
initContainer();
}
private function eglishLogoToMainMenu():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.MAIN_MENU));
}
private function enterFrame(_arg1:Event):void{
if (container.totalFrames == container.currentFrame){
complete();
};
}
private function delDisplayObject():void{
delContainer();
}
private function delLogicObject():void{
delEvent();
}
private function complete():void{
if (NetServer.transform()){
eglishLogoToLoadFromFriend();
} else {
eglishLogoToMainMenu();
};
}
private function eglishLogoToLoadFromFriend():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.LOAD_FROM_FRIEND));
}
private function delContainer():void{
container = null;
}
private function delEvent():void{
container.removeEventListener(Event.ENTER_FRAME, enterFrame);
}
}
}//package ui.screens
Section 136
//GameOver (ui.screens.GameOver)
package ui.screens {
import flash.events.*;
import flash.display.*;
import events.*;
import zlong.country.*;
import utils.*;
import data.*;
import flash.text.*;
import safe.*;
import zlong.data.*;
import plugins.*;
import ui.binds.*;
public class GameOver extends AbstractScreen {
private const YOUR_NAME:Object;
private const TITLE:String = "UI_GameOver";
private var _send_btn:BindButton;
private var _name_txt:TextField;
private var _warning_mc:MovieClip;
private var _score_txt:TextField;
private var _submit_btn:BindButton;
private var _again_btn:BindButton;
public function GameOver(){
YOUR_NAME = {_1:"Your Name", _2:"Your name", _3:"Je naam", _4:"Ton nom", _5:"Dein Name", _6:"Tu nombre", _7:"Seu nome", _8:"O teu nome", _9:"Tuo nome", _10:"Ditt namn", _11:"Twoje imię", _12:"Ваше имя", _13:"", _14:"Nama anda", _15:"", _16:"あなたの名前", _17:"姓名"};
super();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initEvent();
}
private function delWarning():void{
_warning_mc.stop();
_warning_mc = null;
}
private function openSendToFriend():void{
Data.SendToFriend = "A";
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.SEND_TO_FRIEND));
}
override public function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function submit():void{
var _local1:DisplayObject;
if (!GameInfo.cnversion){
if (HSPlugin.list.O11111100()){
if (checking()){
saveEnglishData();
openHighScores();
} else {
_warning_mc.play();
return;
};
} else {
_local1 = (HSPlugin.list as DisplayObject);
_local1.x = 60;
_local1.y = 20;
_local1.addEventListener("000111000100", siteLockHandler);
container.parent.addChild(_local1);
};
} else {
saveChineseData();
openMainMenu();
};
}
private function delButton():void{
_submit_btn = null;
_again_btn = null;
_send_btn = null;
}
private function send():void{
openSendToFriend();
}
private function clickHandler(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case _submit_btn:
submit();
break;
case _again_btn:
again();
break;
case _send_btn:
send();
break;
};
}
private function openGameWorld():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.GAME_WORLD));
}
private function openMainMenu():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.MAIN_MENU));
}
private function addedHandler(_arg1:Event):void{
container.stage.focus = _name_txt;
}
private function delLogicObject():void{
delEvent();
}
private function delName():void{
_name_txt = null;
}
private function checkName():Boolean{
var _local1:String;
_local1 = updateName();
if ((((_local1 == YOUR_NAME[("_" + CountryInfo.instance.language)])) || ((_local1 == "")))){
return (false);
};
return (true);
}
private function initName():void{
var _local1:String;
var _local2:String;
_local1 = Cookie.instance.player["name"];
if (_local1 == ""){
_local2 = YOUR_NAME[("_" + CountryInfo.instance.language)];
} else {
_local2 = _local1;
};
_name_txt = (container.getChildByName("name_txt") as TextField);
_name_txt.text = _local2;
_name_txt.maxChars = 10;
}
private function delContainer():void{
container = null;
}
private function delScore():void{
_score_txt = null;
}
private function removedHandler(_arg1:Event):void{
container.stage.focus = _name_txt;
}
private function initElement():void{
initName();
initScore();
initWarning();
initButton();
}
private function openHighScores():void{
Data.HighScores = "B";
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.HIGH_SCORES));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
_submit_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_again_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_send_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
}
private function initContainer():void{
container = Library.getMovieClip(TITLE);
}
private function delDisplayObject():void{
delElement();
delContainer();
}
private function siteLockHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = (HSPlugin.list as DisplayObject);
_local2.removeEventListener("000111000100", siteLockHandler);
_local2.parent.removeChild(_local2);
}
private function checking():Boolean{
if (checkName()){
_name_txt.text = updateName();
return (true);
};
_name_txt.text = "";
return (false);
}
private function again():void{
saveRecordData();
openGameWorld();
}
private function initScore():void{
_score_txt = (container.getChildByName("score_txt") as TextField);
_score_txt.text = Data.distance.toString();
_score_txt.selectable = false;
}
private function initButton():void{
_submit_btn = (container.getChildByName("submit_btn") as BindButton);
_again_btn = (container.getChildByName("again_btn") as BindButton);
_send_btn = (container.getChildByName("send_btn") as BindButton);
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
_submit_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_again_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_send_btn.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function initWarning():void{
_warning_mc = (container.getChildByName("warning_mc") as MovieClip);
_warning_mc.stop();
}
private function delElement():void{
delButton();
delWarning();
delScore();
delName();
}
private function updateName():String{
var _local1:String;
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local1 = _name_txt.text;
_local2 = _local1.split("");
_local3 = _local2.length;
_local4 = 0;
while (_local4 < _local3) {
if (_local2[_local4] == " "){
_local2[_local4] = "";
} else {
break;
};
_local4++;
};
_local5 = (_local3 - 1);
while (_local5 >= 0) {
if (_local2[_local5] == " "){
_local2[_local5] = "";
} else {
break;
};
_local5--;
};
return (_local2.join(""));
}
private function initDisplayObject():void{
initContainer();
initElement();
}
private function saveChineseData():void{
var _local1:int;
var _local2:Number;
var _local3:String;
var _local4:String;
var _local5:String;
_local1 = Data.distance;
_local2 = new Date().getTime();
_local3 = Random.SortT();
_local4 = Random.hex_average((((String(Random.gameID) + _local1) + _local3) + _local2));
Random.DrawLine(_local4, _local3, 10, 10, 15, 15);
_local5 = Random.strqq;
Random.senturl(_local1, _local3, _local5, _local2);
}
private function saveEnglishData():void{
var _local1:String;
var _local2:int;
var _local3:int;
_local1 = _name_txt.text;
_local2 = Data.distance;
_local3 = Cookie.instance.player["record"];
HSPlugin.list.O11111O10(_local2, _local1);
Cookie.instance.player["score"] = _local2;
if (_local2 > _local3){
Cookie.instance.player["record"] = _local2;
};
}
private function saveRecordData():void{
var _local1:int;
var _local2:int;
_local1 = Data.distance;
_local2 = Cookie.instance.player["record"];
Cookie.instance.player["score"] = _local1;
if (_local1 > _local2){
Cookie.instance.player["record"] = _local1;
};
}
}
}//package ui.screens
Section 137
//GameWorld (ui.screens.GameWorld)
package ui.screens {
import flash.events.*;
import flash.display.*;
import events.*;
import media.*;
import utils.*;
import data.*;
import flash.text.*;
import core.*;
import ui.binds.*;
public class GameWorld extends AbstractScreen {
private const TITLE:String = "UI_GameWorld";
private var _record_txt:TextField;
private var _grnadma_mc:MovieClip;
private var _quality_btn:BindOption;
private var _skill_2:BindSkill;
private var _skill_1:BindSkill;
private var _skill_3:BindSkill;
private var _min:Number;
private var _max:Number;
private var _sound_btn:BindOption;
private var _score_mc:MovieClip;
private var _best:int;
private var _score_txt:TextField;
private var _record_mc:MovieClip;
private var _music_btn:BindOption;
private var _game:Game;
private var _tip_mc:MovieClip;
private function delSkill():void{
_skill_1 = null;
_skill_2 = null;
_skill_3 = null;
}
private function initQualityState():void{
var _local1:String;
_local1 = Cookie.instance.system["quality"];
switch (_local1){
case "high":
_quality_btn.gotoAndStop(1);
container.stage.quality = "high";
break;
case "medium":
_quality_btn.gotoAndStop(2);
container.stage.quality = "medium";
break;
case "low":
_quality_btn.gotoAndStop(3);
container.stage.quality = "low";
break;
};
}
override public function del():void{
delLogicObject();
delDisplayObject();
delData();
}
private function initLogicObject():void{
initGame();
initEvent();
}
override public function init():void{
initData();
initDisplayObject();
initLogicObject();
}
private function beginSkillHandler(_arg1:GameEvent):void{
if (_skill_1.enable){
_skill_1.run();
return;
};
if (_skill_2.enable){
_skill_2.run();
return;
};
if (_skill_3.enable){
_skill_3.run();
return;
};
}
private function updateTip():void{
if (Data.position.y < Config.WORLD_TOP){
if (_tip_mc.visible){
return;
};
_tip_mc.visible = true;
_tip_mc.play();
} else {
if (!_tip_mc.visible){
return;
};
_tip_mc.visible = false;
_tip_mc.stop();
};
}
private function delGrandma():void{
_grnadma_mc.stop();
_grnadma_mc = null;
}
private function updateSkill():void{
_skill_1.enterframe();
_skill_2.enterframe();
_skill_3.enterframe();
}
private function frameHandler(_arg1:Event):void{
update();
refresh();
}
private function initGame():void{
_game = new Game();
_game.init();
_game.addParent(container);
}
private function openSkill():void{
_skill_1.open();
_skill_2.open();
_skill_3.open();
}
private function initSkill():void{
_skill_1 = (container.getChildByName("skill_1") as BindSkill);
_skill_2 = (container.getChildByName("skill_2") as BindSkill);
_skill_3 = (container.getChildByName("skill_3") as BindSkill);
}
private function addedHandler(_arg1:Event):void{
initSoundState();
initMusicState();
initQualityState();
}
private function delSoundState():void{
_sound_btn.stop();
}
private function delLogicObject():void{
delEvent();
delGame();
}
private function refreshSkill():void{
if ((((Data.position.y > _min)) && ((Data.position.y < _max)))){
openSkill();
} else {
closeSkill();
};
}
private function closeSkill():void{
_skill_1.close();
_skill_2.close();
_skill_3.close();
}
private function delRecord():void{
_record_mc = null;
_record_txt = null;
}
public function delTest():void{
container.stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyHandler);
}
private function delScore():void{
_score_mc = null;
_score_txt = null;
}
private function updateScore():void{
_score_txt.text = Data.distance.toString();
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, frameHandler);
_sound_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_music_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_quality_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
Broadcast.instance.removeEventListener(GameEvent.OPEN, openHandler);
Broadcast.instance.removeEventListener(GameEvent.OVER, overHandler);
Broadcast.instance.removeEventListener(GameEvent.BEGIN_SKILL, beginSkillHandler);
Broadcast.instance.removeEventListener(GameEvent.FINISH_SKILL, finishSkillHandler);
}
private function initContainer():void{
container = Library.getMovieClip(TITLE);
}
private function initAnimation():void{
initTip();
initEffect();
}
private function delData():void{
_min = 0;
_max = 0;
_best = 0;
}
private function delDisplayObject():void{
delElement();
delContainer();
}
private function delOption():void{
delQuality();
delMusic();
delSound();
}
private function initScore():void{
_score_mc = (container.getChildByName("score_mc") as MovieClip);
_score_txt = (_score_mc.getChildByName("text") as TextField);
_score_txt.selectable = false;
_score_txt.text = "0";
}
private function startGameOver():void{
Data.GAME_OVER = "A";
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.GAME_OVER));
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, frameHandler);
_sound_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_music_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_quality_btn.addEventListener(MouseEvent.CLICK, clickHandler);
Broadcast.instance.addEventListener(GameEvent.OPEN, openHandler);
Broadcast.instance.addEventListener(GameEvent.OVER, overHandler);
Broadcast.instance.addEventListener(GameEvent.BEGIN_SKILL, beginSkillHandler);
Broadcast.instance.addEventListener(GameEvent.FINISH_SKILL, finishSkillHandler);
}
private function initTip():void{
_tip_mc = (container.getChildByName("tip_mc") as MovieClip);
_tip_mc.stop();
_tip_mc.visible = false;
}
private function initDisplayObject():void{
initContainer();
initElement();
}
private function initGrandma():void{
_grnadma_mc = (container.getChildByName("grnadma_mc") as MovieClip);
_grnadma_mc.stop();
}
private function delElement():void{
delAnimation();
delOption();
delSkill();
delPanel();
}
private function updateRecord():void{
if (Data.distance > _best){
_record_txt.text = Data.distance.toString();
};
}
private function delQuality():void{
_quality_btn = null;
}
private function delEffect():void{
delGrandma();
}
private function delQualityState():void{
_quality_btn.stop();
}
private function selectMusicState():void{
switch (_music_btn.index){
case 0:
MusicPlayer.instance.enable = true;
Cookie.instance.system["music"] = true;
break;
case 1:
MusicPlayer.instance.enable = false;
Cookie.instance.system["music"] = false;
break;
};
}
private function delTip():void{
_tip_mc.stop();
_tip_mc = null;
}
private function initRecord():void{
_record_mc = (container.getChildByName("record_mc") as MovieClip);
_record_txt = (_record_mc.getChildByName("text") as TextField);
_record_txt.selectable = false;
_record_txt.text = _best.toString();
}
private function initMusicState():void{
var _local1:Boolean;
_local1 = Cookie.instance.system["music"];
if (_local1){
_music_btn.gotoAndStop(1);
} else {
_music_btn.gotoAndStop(2);
};
}
private function delGame():void{
_game.removeParent(container);
_game.del();
_game = null;
}
private function openHandler(_arg1:GameEvent):void{
_grnadma_mc.play();
}
private function clickHandler(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case _sound_btn:
selectSoundState();
break;
case _music_btn:
selectMusicState();
break;
case _quality_btn:
selectQualityState();
break;
};
}
private function initOption():void{
initSound();
initMusic();
initQuality();
}
private function delContainer():void{
container = null;
}
private function delPanel():void{
delRecord();
delScore();
}
private function updatePanel():void{
updateScore();
updateRecord();
}
private function delAnimation():void{
delEffect();
delTip();
}
private function initEffect():void{
initGrandma();
}
private function update():void{
updateTip();
updatePanel();
updateSkill();
updateEffect();
}
private function delSound():void{
_sound_btn = null;
}
private function initElement():void{
initPanel();
initSkill();
initOption();
initAnimation();
}
private function initQuality():void{
_quality_btn = (container.getChildByName("quality_btn") as BindOption);
}
private function updateEffect():void{
if (_grnadma_mc.currentFrame == (_grnadma_mc.totalFrames - 1)){
_grnadma_mc.gotoAndStop(1);
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.CLOSE));
};
}
private function initPanel():void{
initScore();
initRecord();
}
private function overHandler(_arg1:GameEvent):void{
startGameOver();
}
private function delMusicState():void{
_music_btn.stop();
}
private function initData():void{
_min = Config.Skill_Extension[0];
_max = Config.Skill_Extension[1];
_best = Cookie.instance.player["record"];
Data.reset();
}
private function refresh():void{
refreshSkill();
}
private function selectSoundState():void{
switch (_sound_btn.index){
case 0:
SoundPlayer.instance.enable = true;
Cookie.instance.system["sound"] = true;
break;
case 1:
SoundPlayer.instance.enable = false;
Cookie.instance.system["sound"] = false;
break;
};
}
private function initSound():void{
_sound_btn = (container.getChildByName("sound_btn") as BindOption);
}
private function delMusic():void{
_music_btn = null;
}
private function removedHandler(_arg1:Event):void{
delSoundState();
delMusicState();
delQualityState();
}
public function initTest():void{
container.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyHandler);
}
private function keyHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 37){
startGameOver();
};
if (_arg1.keyCode == 39){
_game.stop();
};
if (_arg1.keyCode == 38){
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.FAST));
};
if (_arg1.keyCode == 40){
Broadcast.instance.dispatchEvent(new GameEvent(GameEvent.SLOW));
};
}
private function finishSkillHandler(_arg1:GameEvent):void{
}
private function selectQualityState():void{
switch (_quality_btn.index){
case 0:
container.stage.quality = "high";
Cookie.instance.system["quality"] = "high";
break;
case 1:
container.stage.quality = "medium";
Cookie.instance.system["quality"] = "medium";
break;
case 2:
container.stage.quality = "low";
Cookie.instance.system["quality"] = "low";
break;
};
}
private function initSoundState():void{
var _local1:Boolean;
_local1 = Cookie.instance.system["sound"];
if (_local1){
_sound_btn.gotoAndStop(1);
} else {
_sound_btn.gotoAndStop(2);
};
}
private function initMusic():void{
_music_btn = (container.getChildByName("music_btn") as BindOption);
}
}
}//package ui.screens
Section 138
//HighScores (ui.screens.HighScores)
package ui.screens {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import data.*;
import plugins.*;
import ui.binds.*;
public class HighScores extends AbstractScreen {
private const TITLE:String = "UI_HighScores";
private var _send_btn:BindButton;
private var _back_btn:BindButton;
private var _mainMenu_btn:BindButton;
private var _credits_btn:BindButton;
private function delElement():void{
delButton();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function initElement():void{
initButton();
}
private function initLogicObject():void{
initComponent();
initEvent();
}
override public function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
container = Library.getMovieClip(TITLE);
}
private function openSendToFriend():void{
Data.SendToFriend = "B";
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.SEND_TO_FRIEND));
}
private function openCredits():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.CREDITS));
}
private function initComponent():void{
var _local1:DisplayObject;
_local1 = (HSPlugin.list as DisplayObject);
container.addChildAt(_local1, 3);
_local1.x = 110;
_local1.y = 63;
_local1.scaleX = 0.8;
_local1.scaleY = 0.8;
}
public function setLayoutA():void{
_mainMenu_btn.visible = false;
_credits_btn.visible = true;
_send_btn.visible = false;
_back_btn.visible = true;
}
private function delDisplayObject():void{
delElement();
delContainer();
}
private function delEvent():void{
_mainMenu_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_credits_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_send_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_back_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
}
private function initButton():void{
_mainMenu_btn = (container.getChildByName("mainMenu_btn") as BindButton);
_credits_btn = (container.getChildByName("credits_btn") as BindButton);
_send_btn = (container.getChildByName("send_btn") as BindButton);
_back_btn = (container.getChildByName("back_btn") as BindButton);
}
private function delButton():void{
_mainMenu_btn = null;
_credits_btn = null;
_send_btn = null;
_back_btn = null;
}
public function setLayoutB():void{
_mainMenu_btn.visible = true;
_credits_btn.visible = true;
_send_btn.visible = true;
_back_btn.visible = false;
}
private function clickHandler(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case _mainMenu_btn:
openMainMenu();
break;
case _credits_btn:
openCredits();
break;
case _send_btn:
openSendToFriend();
break;
case _back_btn:
openMainMenu();
break;
};
}
private function initEvent():void{
_mainMenu_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_credits_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_send_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_back_btn.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function initDisplayObject():void{
initContainer();
initElement();
}
private function delLogicObject():void{
delEvent();
delComponent();
}
private function delContainer():void{
container = null;
}
private function delComponent():void{
var _local1:DisplayObject;
_local1 = (HSPlugin.list as DisplayObject);
container.removeChild(_local1);
}
private function openMainMenu():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.MAIN_MENU));
}
}
}//package ui.screens
Section 139
//HowToPlay (ui.screens.HowToPlay)
package ui.screens {
import flash.events.*;
import events.*;
import utils.*;
import ui.binds.*;
public class HowToPlay extends AbstractScreen {
private const TITLE:String = "UI_HowToPlay";
private var _back_btn:BindButton;
private var _play_btn:BindButton;
private function delElement():void{
delButton();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function initElement():void{
initButton();
}
private function initLogicObject():void{
initEvent();
}
override public function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
container = Library.getMovieClip(TITLE);
}
public function setLayoutA():void{
_back_btn.visible = false;
}
private function delDisplayObject():void{
delElement();
delContainer();
}
private function delButton():void{
_play_btn = null;
_back_btn = null;
}
private function delEvent():void{
_play_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_back_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
}
private function initButton():void{
_play_btn = (container.getChildByName("play_btn") as BindButton);
_back_btn = (container.getChildByName("back_btn") as BindButton);
}
private function openGameWorld():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.GAME_WORLD));
}
private function clickHandler(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case _play_btn:
openGameWorld();
break;
case _back_btn:
openMainMenu();
break;
};
}
private function initEvent():void{
_play_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_back_btn.addEventListener(MouseEvent.CLICK, clickHandler);
}
public function setLayoutB():void{
_back_btn.visible = true;
}
private function initDisplayObject():void{
initContainer();
initElement();
}
private function delLogicObject():void{
delEvent();
}
private function delContainer():void{
container = null;
}
private function openMainMenu():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.MAIN_MENU));
}
}
}//package ui.screens
Section 140
//LoadFromFriend (ui.screens.LoadFromFriend)
package ui.screens {
import flash.events.*;
import events.*;
import utils.*;
import flash.text.*;
import net.*;
import ui.binds.*;
public class LoadFromFriend extends AbstractScreen {
private const TITLE:String = "UI_LoadFromFriend";
private var _score_txt:TextField;
private var _startGame_btn:BindButton;
private var _name_txt:TextField;
private var _message_txt:TextField;
private function delElement():void{
delButton();
delTextField();
}
private function delName():void{
_name_txt = null;
}
private function analytics():String{
return (Encrypt.codeToString(url()));
}
private function delTextField():void{
delMessage();
delScore();
delName();
}
private function delLogicObject():void{
delEvent();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function initElement():void{
initTextField();
initButton();
}
private function initLogicObject():void{
initEvent();
}
private function initContainer():void{
container = Library.getMovieClip(TITLE);
}
private function loadScore():String{
var _local1:String;
var _local2:int;
var _local3:int;
var _local4:String;
_local1 = analytics();
_local2 = (_local1.indexOf("?score=") + 7);
_local3 = (_local1.indexOf("?message=") - _local2);
_local4 = _local1.substr(_local2, _local3);
return (_local4);
}
private function delDisplayObject():void{
delElement();
delContainer();
}
override public function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function loadName():String{
var _local1:String;
var _local2:int;
var _local3:int;
var _local4:String;
_local1 = analytics();
_local2 = (_local1.indexOf("?name=") + 6);
_local3 = (_local1.indexOf("?score=") - _local2);
_local4 = _local1.substr(_local2, _local3);
return (_local4);
}
private function loadMessage():String{
var _local1:String;
var _local2:int;
var _local3:int;
var _local4:String;
_local1 = analytics();
_local2 = (_local1.indexOf("?message=") + 9);
_local3 = _local1.length;
_local4 = _local1.substr(_local2, _local3);
return (_local4);
}
private function initTextField():void{
initName();
initScore();
initMessage();
}
private function initMessage():void{
_message_txt = (container.getChildByName("message_txt") as TextField);
_message_txt.text = loadMessage();
_message_txt.selectable = false;
}
private function delScore():void{
_score_txt = null;
}
private function initScore():void{
_score_txt = (container.getChildByName("score_txt") as TextField);
_score_txt.text = loadScore();
_score_txt.selectable = false;
}
private function delEvent():void{
_startGame_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
}
private function initButton():void{
_startGame_btn = (container.getChildByName("startGame_btn") as BindButton);
}
private function initEvent():void{
_startGame_btn.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function delButton():void{
_startGame_btn = null;
}
private function url():String{
return (NetServer.returnURL());
}
private function initDisplayObject():void{
initContainer();
initElement();
}
private function loadFromFriendToGameWorld():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.START_GAME));
}
private function clickHandler(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case _startGame_btn:
loadFromFriendToGameWorld();
break;
};
}
private function initName():void{
_name_txt = (container.getChildByName("name_txt") as TextField);
_name_txt.text = loadName();
_name_txt.selectable = false;
}
private function delMessage():void{
_message_txt = null;
}
private function delContainer():void{
container = null;
}
}
}//package ui.screens
Section 141
//Loading (ui.screens.Loading)
package ui.screens {
import flash.events.*;
import flash.display.*;
import events.*;
import utils.*;
import flash.text.*;
import zlong.data.*;
public class Loading extends AbstractScreen {
private const TITLE:String = "UI_Loading";
private var _enable:Boolean;
private var _progress_mc:MovieClip;
private var _message_txt:TextField;
private function delElement():void{
delProgress();
delMessage();
}
private function delLogicObject():void{
delEvent();
}
override public function del():void{
super.del();
delData();
delLogicObject();
delDisplayObject();
}
private function initElement():void{
initMessage();
initProgress();
}
private function initLogicObject():void{
initEvent();
}
override public function init():void{
super.init();
initData();
initDisplayObject();
initLogicObject();
}
private function initContainer():void{
container = Library.getMovieClip(TITLE);
}
private function delData():void{
_enable = false;
}
private function delDisplayObject():void{
delElement();
delContainer();
}
private function initMessage():void{
_message_txt = (container.getChildByName("message_txt") as TextField);
_message_txt.selectable = false;
_message_txt.text = "0";
}
private function delProgress():void{
_progress_mc = null;
}
private function removedHandler(_arg1:Event):void{
_enable = false;
}
private function initData():void{
_enable = false;
}
private function startEnglishLogo():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.ENGLISH_LOGO));
}
private function enterframe(_arg1:Event):void{
var _local2:int;
_local2 = ((container.root.loaderInfo.bytesLoaded / container.root.loaderInfo.bytesTotal) * 100);
_message_txt.text = _local2.toString();
_progress_mc.gotoAndStop(_local2);
if (_local2 == _progress_mc.totalFrames){
_message_txt.text = "100";
loadingComplete();
};
}
private function initProgress():void{
_progress_mc = (container.getChildByName("progress_mc") as MovieClip);
_progress_mc.gotoAndStop(1);
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.removeEventListener(Event.ENTER_FRAME, enterframe);
}
private function addedHandler(_arg1:Event):void{
_enable = true;
}
private function loadingComplete():void{
if (GameInfo.cnversion){
startChineseLogo();
} else {
startEnglishLogo();
};
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
container.addEventListener(Event.ENTER_FRAME, enterframe);
}
private function initDisplayObject():void{
initContainer();
initElement();
}
private function delContainer():void{
container = null;
}
private function delMessage():void{
_message_txt = null;
}
private function startChineseLogo():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.CHINESE_LOGO));
}
}
}//package ui.screens
Section 142
//MainMenu (ui.screens.MainMenu)
package ui.screens {
import flash.events.*;
import flash.display.*;
import events.*;
import media.*;
import utils.*;
import data.*;
import safe.*;
import zlong.data.*;
import plugins.*;
import ui.binds.*;
public class MainMenu extends AbstractScreen {
private const TITLE:String = "UI_MainMenu";
private var _startGame_btn:BindButton;
private var _highScores_btn:BindButton;
private var _sound_btn:BindOption;
private var _music_btn:BindOption;
private var _howToPlay_btn:BindButton;
private var _quality_btn:BindOption;
private function initQualityState():void{
var _local1:String;
_local1 = Cookie.instance.system["quality"];
switch (_local1){
case "high":
_quality_btn.gotoAndStop(1);
container.stage.quality = "high";
break;
case "medium":
_quality_btn.gotoAndStop(2);
container.stage.quality = "medium";
break;
case "low":
_quality_btn.gotoAndStop(3);
container.stage.quality = "low";
break;
};
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function initLogicObject():void{
initEvent();
}
override public function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function openHowToPlay():void{
Data.HowToPlay = "B";
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.HOW_TO_PLAY));
}
private function selectMusicState():void{
switch (_music_btn.index){
case 0:
MusicPlayer.instance.enable = true;
Cookie.instance.system["music"] = true;
break;
case 1:
MusicPlayer.instance.enable = false;
Cookie.instance.system["music"] = false;
break;
};
}
private function clickHighScores():void{
var _local1:DisplayObject;
if (!GameInfo.cnversion){
if (HSPlugin.list.O11111100()){
openHighScores();
} else {
_local1 = (HSPlugin.list as DisplayObject);
_local1.x = 60;
_local1.y = 20;
_local1.addEventListener("000111000100", siteLockHandler);
container.parent.addChild(_local1);
};
} else {
Random.geturl();
};
}
private function initMusicState():void{
var _local1:Boolean;
_local1 = Cookie.instance.system["music"];
if (_local1){
_music_btn.gotoAndStop(1);
MusicPlayer.instance.enable = true;
} else {
_music_btn.gotoAndStop(2);
MusicPlayer.instance.enable = false;
};
}
private function delButton():void{
_startGame_btn = null;
_howToPlay_btn = null;
_highScores_btn = null;
}
private function clickHowToPlay():void{
openHowToPlay();
}
private function clickHandler(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case _sound_btn:
selectSoundState();
break;
case _music_btn:
selectMusicState();
break;
case _quality_btn:
selectQualityState();
break;
case _startGame_btn:
clickStartGame();
break;
case _howToPlay_btn:
clickHowToPlay();
break;
case _highScores_btn:
clickHighScores();
break;
};
}
private function initOption():void{
initSound();
initMusic();
initQuality();
}
private function addedHandler(_arg1:Event):void{
initSoundState();
initMusicState();
initQualityState();
}
private function delSoundState():void{
_sound_btn.stop();
}
private function delLogicObject():void{
delEvent();
}
private function delContainer():void{
container = null;
}
public function delTest():void{
container.stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyHandler);
}
public function initTest():void{
container.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyHandler);
}
private function delSound():void{
_sound_btn = null;
}
private function removedHandler(_arg1:Event):void{
delSoundState();
delMusicState();
delQualityState();
}
private function initElement():void{
initButton();
initOption();
}
private function openHighScores():void{
Data.HighScores = "A";
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.HIGH_SCORES));
}
private function initQuality():void{
_quality_btn = (container.getChildByName("quality_btn") as BindOption);
}
private function initContainer():void{
container = Library.getMovieClip(TITLE);
}
private function clickStartGame():void{
openStartGame();
}
private function delDisplayObject():void{
delElement();
delContainer();
}
private function delMusicState():void{
_music_btn.stop();
}
private function siteLockHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = (HSPlugin.list as DisplayObject);
_local2.removeEventListener("000111000100", siteLockHandler);
_local2.parent.removeChild(_local2);
}
private function openStartGame():void{
Data.HowToPlay = "A";
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.START_GAME));
}
private function delEvent():void{
container.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
_sound_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_music_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_quality_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_startGame_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_howToPlay_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_highScores_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
}
private function initSound():void{
_sound_btn = (container.getChildByName("sound_btn") as BindOption);
}
private function delOption():void{
delQuality();
delMusic();
delSound();
}
private function delMusic():void{
_music_btn = null;
}
private function initButton():void{
_startGame_btn = (container.getChildByName("startGame_btn") as BindButton);
_howToPlay_btn = (container.getChildByName("howToPlay_btn") as BindButton);
_highScores_btn = (container.getChildByName("highScores_btn") as BindButton);
}
private function selectSoundState():void{
switch (_sound_btn.index){
case 0:
SoundPlayer.instance.enable = true;
Cookie.instance.system["sound"] = true;
break;
case 1:
SoundPlayer.instance.enable = false;
Cookie.instance.system["sound"] = false;
break;
};
}
private function initEvent():void{
container.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
container.addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
_sound_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_music_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_quality_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_startGame_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_howToPlay_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_highScores_btn.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function keyHandler(_arg1:KeyboardEvent):void{
trace("main menu : GC");
if (_arg1.keyCode == 32){
Console.clear();
};
}
private function selectQualityState():void{
switch (_quality_btn.index){
case 0:
container.stage.quality = "high";
Cookie.instance.system["quality"] = "high";
break;
case 1:
container.stage.quality = "medium";
Cookie.instance.system["quality"] = "medium";
break;
case 2:
container.stage.quality = "low";
Cookie.instance.system["quality"] = "low";
break;
};
}
private function delElement():void{
delOption();
delButton();
}
private function initSoundState():void{
var _local1:Boolean;
_local1 = Cookie.instance.system["sound"];
if (_local1){
_sound_btn.gotoAndStop(1);
SoundPlayer.instance.enable = true;
} else {
_sound_btn.gotoAndStop(2);
SoundPlayer.instance.enable = false;
};
}
private function delQuality():void{
_quality_btn = null;
}
private function initMusic():void{
_music_btn = (container.getChildByName("music_btn") as BindOption);
}
private function initDisplayObject():void{
initContainer();
initElement();
}
private function delQualityState():void{
_quality_btn.stop();
}
}
}//package ui.screens
Section 143
//SendToFriend (ui.screens.SendToFriend)
package ui.screens {
import flash.events.*;
import events.*;
import zlong.country.*;
import utils.*;
import data.*;
import flash.text.*;
import ui.binds.*;
import flash.system.*;
public class SendToFriend extends AbstractScreen {
private const TITLE:String = "UI_SendToFriend";
private var _copy_btn:BindButton;
private var _website_txt:TextField;
private var _name_txt:TextField;
private var _mainMenu_btn:BindButton;
private var _score_txt:TextField;
private var _back_btn:BindButton;
private var _message_txt:TextField;
private function initScore():void{
_score_txt = (container.getChildByName("score_txt") as TextField);
_score_txt.text = Data.distance.toString();
_score_txt.selectable = false;
}
private function delTextField():void{
delWebsite();
delMessage();
delScore();
delName();
}
override public function del():void{
super.del();
delLogicObject();
delDisplayObject();
}
private function delWebsite():void{
_website_txt = null;
}
private function initLogicObject():void{
initEvent();
}
public function setLayoutA():void{
_mainMenu_btn.visible = false;
_copy_btn.visible = true;
_back_btn.visible = true;
}
public function setLayoutB():void{
_mainMenu_btn.visible = true;
_copy_btn.visible = true;
_back_btn.visible = false;
}
override public function init():void{
super.init();
initDisplayObject();
initLogicObject();
}
private function initTextField():void{
initName();
initScore();
initMessage();
initWebsite();
}
private function clickHandler(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case _mainMenu_btn:
openMainMenu();
break;
case _copy_btn:
copyMessage();
break;
case _back_btn:
openGameOver();
break;
};
}
private function delButton():void{
_mainMenu_btn = null;
_copy_btn = null;
_back_btn = null;
}
private function openMainMenu():void{
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.MAIN_MENU));
}
private function delLogicObject():void{
delEvent();
}
private function delName():void{
_name_txt = null;
}
private function initName():void{
_name_txt = (container.getChildByName("name_txt") as TextField);
}
private function delContainer():void{
container = null;
}
private function delScore():void{
_score_txt = null;
}
private function initElement():void{
initTextField();
initButton();
}
private function delEvent():void{
_mainMenu_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_copy_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_back_btn.removeEventListener(MouseEvent.CLICK, clickHandler);
_name_txt.removeEventListener(Event.CHANGE, changeHandler);
_message_txt.removeEventListener(Event.CHANGE, changeHandler);
}
private function openGameOver():void{
Data.GAME_OVER = "B";
Broadcast.instance.dispatchEvent(new UIEvent(UIEvent.GAME_OVER));
}
private function initContainer():void{
container = Library.getMovieClip(TITLE);
}
private function copyMessage():void{
System.setClipboard(_website_txt.text);
}
private function delDisplayObject():void{
delElement();
delContainer();
}
private function initMessage():void{
_message_txt = (container.getChildByName("message_txt") as TextField);
_message_txt.text = "";
}
private function initButton():void{
_mainMenu_btn = (container.getChildByName("mainMenu_btn") as BindButton);
_copy_btn = (container.getChildByName("copy_btn") as BindButton);
_back_btn = (container.getChildByName("back_btn") as BindButton);
}
private function initEvent():void{
_mainMenu_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_copy_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_back_btn.addEventListener(MouseEvent.CLICK, clickHandler);
_name_txt.addEventListener(Event.CHANGE, changeHandler);
_message_txt.addEventListener(Event.CHANGE, changeHandler);
}
private function initWebsite():void{
_website_txt = (container.getChildByName("website_txt") as TextField);
_website_txt.selectable = false;
_website_txt.text = CountryInfo.instance.sendToFriendLink;
}
private function initDisplayObject():void{
initContainer();
initElement();
}
private function delElement():void{
delButton();
delTextField();
}
private function changeHandler(_arg1:Event):void{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:String;
var _local7:String;
_local2 = CountryInfo.instance.sendToFriendLink;
trace(("web: " + _local2));
_local3 = "?code=";
_local4 = ("?name=" + _name_txt.text);
_local5 = ("?score=" + _score_txt.text);
_local6 = ("?message=" + _message_txt.text);
_local7 = ((_local4 + _local5) + _local6);
_website_txt.text = ((_local2 + _local3) + Encrypt.stringToCode(_local7));
}
private function delMessage():void{
_message_txt = null;
}
}
}//package ui.screens
Section 144
//Manager (ui.Manager)
package ui {
import flash.events.*;
import flash.display.*;
import events.*;
import zlong.country.*;
import media.*;
import utils.*;
import data.*;
import ui.screens.*;
import zlong.display.*;
import plugins.*;
public class Manager {
private var _container:Sprite;
private var _highScores:HighScores;
private var _loading:Loading;
private var _mainMenu:MainMenu;
private var _howToPlay:HowToPlay;
private var _gameWorld:GameWorld;
private var _gameOver:GameOver;
private var _credits:Credits;
private var _chineseLogo:ChineseLogo;
private var _sendToFriend:SendToFriend;
private var _englishLogo:EnglishLogo;
private var _loadFromFriend:LoadFromFriend;
private var _root:Document;
public function Manager(_arg1:Document){
_root = _arg1;
}
private function delLoadingUI():void{
_loading.removeParent(_container);
_loading.del();
_loading = null;
}
private function delHowToPlayEvent():void{
Broadcast.instance.removeEventListener(UIEvent.MAIN_MENU, howToPlayToMainMenu);
Broadcast.instance.removeEventListener(UIEvent.GAME_WORLD, howToPlayToGameWorld);
}
private function initChineseLogo():void{
if (_chineseLogo != null){
return;
};
initChineseLogoUI();
initChineseLogoMusic();
initChineseLogoEvent();
}
private function setLoadFromFriendEvent():void{
GAPlugin.dispatchEvent("Subway Sneeze", "landing page viewed", "per session", 0);
}
private function initLoading():void{
if (_loading != null){
return;
};
initLoadingUI();
initLoadingMusic();
initLoadingEvent();
}
private function initLogicObject():void{
initScreen();
initEvent();
}
private function highScoresToSendToFriend(_arg1:UIEvent):void{
delHighScores();
initSendToFriend();
setSendToFriendLayout();
}
public function init():void{
initDisplayObject();
initLogicObject();
}
private function delMainMenuMusic():void{
}
public function del():void{
delLogicObject();
delDisplayObject();
}
private function delCredits():void{
if (_credits == null){
return;
};
delCreditsEvent();
delCreditsMusic();
delCreditsUI();
}
private function delGameOver():void{
if (_gameOver == null){
return;
};
delGameOverEvent();
delGameOverMusic();
delGameOverUI();
}
private function englishLogoToMainMenu(_arg1:UIEvent):void{
delEnglishLogo();
initMainMenu();
setMainMenuEvent();
}
private function initMainMenuMusic():void{
MusicPlayer.instance.playMusic("main_screen.mp3");
}
private function setHowToPlayLayout():void{
switch (Data.HowToPlay){
case "A":
_howToPlay.setLayoutA();
break;
case "B":
_howToPlay.setLayoutB();
break;
};
}
private function delGameOverEvent():void{
Broadcast.instance.removeEventListener(UIEvent.MAIN_MENU, GameOverToMainMenu);
Broadcast.instance.removeEventListener(UIEvent.HIGH_SCORES, GameOverToHighScores);
Broadcast.instance.removeEventListener(UIEvent.SEND_TO_FRIEND, GameOverToSendToFriend);
Broadcast.instance.removeEventListener(UIEvent.GAME_WORLD, GameOverToGameWorld);
}
private function initEnglishLogo():void{
if (_englishLogo != null){
return;
};
initEnglishLogoUI();
initEnglishLogoMusic();
initEnglishLogoEvent();
}
private function initGameWorldUI():void{
_gameWorld = new GameWorld();
_gameWorld.init();
_gameWorld.addParent(_container);
}
private function initSendToFriendUI():void{
_sendToFriend = new SendToFriend();
_sendToFriend.init();
_sendToFriend.addParent(_container);
}
private function initLoadFromFriendMusic():void{
MusicPlayer.instance.playMusic("main_screen.mp3");
}
private function chineseLogoToLoadFromFriend(_arg1:UIEvent):void{
delChineseLogo();
initLoadFromFriend();
setLoadFromFriendEvent();
}
private function initGameOverUI():void{
_gameOver = new GameOver();
_gameOver.init();
_gameOver.addParent(_container);
}
private function initGameOverEvent():void{
Broadcast.instance.addEventListener(UIEvent.MAIN_MENU, GameOverToMainMenu);
Broadcast.instance.addEventListener(UIEvent.HIGH_SCORES, GameOverToHighScores);
Broadcast.instance.addEventListener(UIEvent.SEND_TO_FRIEND, GameOverToSendToFriend);
Broadcast.instance.addEventListener(UIEvent.GAME_WORLD, GameOverToGameWorld);
}
private function delChineseLogo():void{
if (_chineseLogo == null){
return;
};
delChineseLogoEvent();
delChineseLogoMusic();
delChineseLogoUI();
}
private function languageChangeHandler(_arg1:Event):void{
HSPlugin.list.O1100000l(CountryInfo.instance.country);
}
private function delEnglishLogo():void{
if (_englishLogo == null){
return;
};
delEnglishLogoEvent();
delEnglishLogoMusic();
delEnglishLogoUI();
}
private function delLogicObject():void{
delEvent();
delScreen();
}
private function setSendToFriendLayout():void{
switch (Data.SendToFriend){
case "A":
_sendToFriend.setLayoutA();
break;
case "B":
_sendToFriend.setLayoutB();
break;
};
}
private function delGameWorldMusic():void{
}
private function initGameOver():void{
if (_gameOver != null){
return;
};
initGameOverUI();
initGameOverMusic();
initGameOverEvent();
}
private function delSendToFriendMusic():void{
}
private function sendToFriendToGameOver(_arg1:UIEvent):void{
delSendToFriend();
initGameOver();
}
private function englishLogoToLoadFromFriend(_arg1:UIEvent):void{
delEnglishLogo();
initLoadFromFriend();
setLoadFromFriendEvent();
}
private function mainMenuToHighScores(_arg1:UIEvent):void{
delMainMenu();
initHighScores();
setHighScoresLayout();
}
private function howToPlayToGameWorld(_arg1:UIEvent):void{
if (Data.first){
delHowToPlay();
initGameWorld();
refresh();
} else {
delHowToPlay();
initGameWorld();
};
}
private function initSendToFriendEvent():void{
Broadcast.instance.addEventListener(UIEvent.MAIN_MENU, sendToFriendToMainMenu);
Broadcast.instance.addEventListener(UIEvent.GAME_OVER, sendToFriendToGameOver);
}
private function delEnglishLogoEvent():void{
Broadcast.instance.removeEventListener(UIEvent.MAIN_MENU, englishLogoToMainMenu);
Broadcast.instance.removeEventListener(UIEvent.LOAD_FROM_FRIEND, englishLogoToLoadFromFriend);
}
private function initHowToPlayEvent():void{
Broadcast.instance.addEventListener(UIEvent.MAIN_MENU, howToPlayToMainMenu);
Broadcast.instance.addEventListener(UIEvent.GAME_WORLD, howToPlayToGameWorld);
}
private function delSendToFriend():void{
if (_sendToFriend == null){
return;
};
delSendToFriendEvent();
delSendToFriendMusic();
delSendToFriendUI();
}
private function delEvent():void{
Dispatcher.dispatcher.removeEventListener(Dispatcher.LANGUAGE_CHANGED, languageChangeHandler);
}
private function initCreditsEvent():void{
Broadcast.instance.addEventListener(UIEvent.HIGH_SCORES, CreditsToHighScores);
}
private function initContainer():void{
_container = new Sprite();
_root.addChildAt(_container, 0);
}
private function initHighScoresMusic():void{
MusicPlayer.instance.playMusic("main_screen.mp3");
}
private function delLoadFromFriendMusic():void{
}
private function delDisplayObject():void{
delContainer();
}
private function delScreen():void{
delLoading();
delChineseLogo();
delEnglishLogo();
delMainMenu();
delHowToPlay();
delHighScores();
delCredits();
delSendToFriend();
delLoadFromFriend();
delGameWorld();
delGameOver();
}
private function delGameWorldUI():void{
_gameWorld.removeParent(_container);
_gameWorld.del();
_gameWorld = null;
}
private function delLoadFromFriend():void{
if (_loadFromFriend == null){
return;
};
delLoadFromFriendEvent();
delLoadFromFriendMusic();
delLoadFromFriendUI();
}
private function highScoresToMainMenu(_arg1:UIEvent):void{
delHighScores();
initMainMenu();
}
private function delCreditsMusic():void{
}
private function initEnglishLogoEvent():void{
Broadcast.instance.addEventListener(UIEvent.MAIN_MENU, englishLogoToMainMenu);
Broadcast.instance.addEventListener(UIEvent.LOAD_FROM_FRIEND, englishLogoToLoadFromFriend);
}
private function mainMenuToStartGame(_arg1:UIEvent):void{
if (Data.first){
delMainMenu();
initHowToPlay();
setHowToPlayLayout();
refresh();
} else {
delMainMenu();
initGameWorld();
setGameWorldEvent();
};
}
private function GameOverToSendToFriend(_arg1:UIEvent):void{
delGameOver();
initSendToFriend();
setSendToFriendLayout();
}
private function initHowToPlayUI():void{
_howToPlay = new HowToPlay();
_howToPlay.init();
_howToPlay.addParent(_container);
}
private function GameOverToHighScores(_arg1:UIEvent):void{
delGameOver();
initHighScores();
setHighScoresLayout();
}
private function delGameOverUI():void{
_gameOver.removeParent(_container);
_gameOver.del();
_gameOver = null;
}
private function initHighScoresUI():void{
_highScores = new HighScores();
_highScores.init();
_highScores.addParent(_container);
}
private function gameWorldToGameOver(_arg1:UIEvent):void{
delGameWorld();
initGameOver();
}
private function delLoadingEvent():void{
Broadcast.instance.removeEventListener(UIEvent.CHINESE_LOGO, loadingToChineseLogo);
Broadcast.instance.removeEventListener(UIEvent.ENGLISH_LOGO, loadingToEnglishLogo);
}
private function initEvent():void{
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, languageChangeHandler);
}
private function delHighScoresEvent():void{
Broadcast.instance.removeEventListener(UIEvent.MAIN_MENU, highScoresToMainMenu);
Broadcast.instance.removeEventListener(UIEvent.SEND_TO_FRIEND, highScoresToSendToFriend);
Broadcast.instance.removeEventListener(UIEvent.CREDITS, highScoresToCredits);
}
private function delChineseLogoEvent():void{
Broadcast.instance.removeEventListener(UIEvent.MAIN_MENU, chineseLogoToMainMenu);
Broadcast.instance.removeEventListener(UIEvent.LOAD_FROM_FRIEND, chineseLogoToLoadFromFriend);
}
private function initDisplayObject():void{
initContainer();
}
private function initChineseLogoEvent():void{
Broadcast.instance.addEventListener(UIEvent.MAIN_MENU, chineseLogoToMainMenu);
Broadcast.instance.addEventListener(UIEvent.LOAD_FROM_FRIEND, chineseLogoToLoadFromFriend);
}
private function initGameWorldMusic():void{
MusicPlayer.instance.playMusic(Data.themeMusic());
}
private function delMainMenuEvent():void{
Broadcast.instance.removeEventListener(UIEvent.START_GAME, mainMenuToStartGame);
Broadcast.instance.removeEventListener(UIEvent.HOW_TO_PLAY, mainMenuToHowToPlay);
Broadcast.instance.removeEventListener(UIEvent.HIGH_SCORES, mainMenuToHighScores);
}
private function seek():void{
_root.gotoAndStop(3);
_root.gotoAndStop(1);
}
private function initMainMenuUI():void{
_mainMenu = new MainMenu();
_mainMenu.init();
_mainMenu.addParent(_container);
}
private function initCreditsUI():void{
_credits = new Credits();
_credits.init();
_credits.addParent(_container);
}
private function delChineseLogoUI():void{
_chineseLogo.removeParent(_container);
_chineseLogo.del();
_chineseLogo = null;
}
private function highScoresToCredits(_arg1:UIEvent):void{
delHighScores();
initCredits();
}
private function initCredits():void{
if (_credits != null){
return;
};
initCreditsUI();
initCreditsMusic();
initCreditsEvent();
}
private function initHowToPlay():void{
if (_howToPlay != null){
return;
};
initHowToPlayUI();
initHowToPlayMusic();
initHowToPlayEvent();
}
private function initGameWorld():void{
if (_gameWorld != null){
return;
};
initGameWorldUI();
initGameWorldMusic();
initGameWorldEvent();
}
private function delHowToPlayMusic():void{
}
private function initMainMenuEvent():void{
Broadcast.instance.addEventListener(UIEvent.START_GAME, mainMenuToStartGame);
Broadcast.instance.addEventListener(UIEvent.HOW_TO_PLAY, mainMenuToHowToPlay);
Broadcast.instance.addEventListener(UIEvent.HIGH_SCORES, mainMenuToHighScores);
}
private function initHighScores():void{
if (_highScores != null){
return;
};
initHighScoresUI();
initHighScoresMusic();
initHighScoresEvent();
}
private function delGameOverMusic():void{
}
private function delHowToPlayUI():void{
_howToPlay.removeParent(_container);
_howToPlay.del();
_howToPlay = null;
}
private function setMainMenuEvent():void{
GAPlugin.dispatchEvent("Subway Sneeze", "mainscreen viewed", "per session", 0);
}
private function initLoadingMusic():void{
}
private function initScreen():void{
initLoading();
}
private function initLoadFromFriend():void{
if (_loadFromFriend != null){
return;
};
initLoadFromFriendUI();
initLoadFromFriendMusic();
initLoadFromFriendEvent();
}
private function howToPlayToMainMenu(_arg1:UIEvent):void{
delHowToPlay();
initMainMenu();
}
private function initLoadingUI():void{
_loading = new Loading();
_loading.init();
_loading.addParent(_container);
}
private function initChineseLogoUI():void{
_chineseLogo = new ChineseLogo();
_chineseLogo.init();
_chineseLogo.addParent(_container);
}
private function delGameWorldEvent():void{
Broadcast.instance.removeEventListener(UIEvent.GAME_OVER, gameWorldToGameOver);
}
private function GameOverToGameWorld(_arg1:UIEvent):void{
delGameOver();
initGameWorld();
setGameWorldEvent();
}
private function initLoadFromFriendEvent():void{
Broadcast.instance.addEventListener(UIEvent.START_GAME, loadFromFriendToStartGame);
}
private function mainMenuToHowToPlay(_arg1:UIEvent):void{
delMainMenu();
initHowToPlay();
setHowToPlayLayout();
}
private function delLoadFromFriendUI():void{
_loadFromFriend.removeParent(_container);
_loadFromFriend.del();
_loadFromFriend = null;
}
private function delSendToFriendEvent():void{
Broadcast.instance.removeEventListener(UIEvent.MAIN_MENU, sendToFriendToMainMenu);
Broadcast.instance.removeEventListener(UIEvent.GAME_OVER, sendToFriendToGameOver);
}
private function initGameOverMusic():void{
switch (Data.GAME_OVER){
case "A":
MusicPlayer.instance.run("game_over.mp3");
break;
case "B":
MusicPlayer.instance.playMusic("main_screen.mp3");
break;
};
}
private function delLoading():void{
if (_loading == null){
return;
};
delLoadingEvent();
delLoadingMusic();
delLoadingUI();
}
private function initLoadFromFriendUI():void{
_loadFromFriend = new LoadFromFriend();
_loadFromFriend.init();
_loadFromFriend.addParent(_container);
}
private function delContainer():void{
_root.removeChild(_container);
_container = null;
}
private function delMainMenuUI():void{
_mainMenu.removeParent(_container);
_mainMenu.del();
_mainMenu = null;
}
private function chineseLogoToMainMenu(_arg1:UIEvent):void{
delChineseLogo();
initMainMenu();
setMainMenuEvent();
}
private function setGameWorldEvent():void{
if (Data.time == 10){
GAPlugin.dispatchEvent("Subway Sneeze", "10plus gameplays", "per session", 0);
};
}
private function delEnglishLogoUI():void{
_englishLogo.removeParent(_container);
_englishLogo.del();
_englishLogo = null;
}
private function initHighScoresEvent():void{
Broadcast.instance.addEventListener(UIEvent.MAIN_MENU, highScoresToMainMenu);
Broadcast.instance.addEventListener(UIEvent.SEND_TO_FRIEND, highScoresToSendToFriend);
Broadcast.instance.addEventListener(UIEvent.CREDITS, highScoresToCredits);
}
private function delLoadFromFriendEvent():void{
Broadcast.instance.removeEventListener(UIEvent.START_GAME, loadFromFriendToStartGame);
}
private function delCreditsEvent():void{
Broadcast.instance.removeEventListener(UIEvent.HIGH_SCORES, CreditsToHighScores);
}
private function delHighScores():void{
if (_highScores == null){
return;
};
delHighScoresEvent();
delHighScoresMusic();
delHighScoresUI();
}
private function initSendToFriend():void{
if (_sendToFriend != null){
return;
};
initSendToFriendUI();
initSendToFriendMusic();
initSendToFriendEvent();
}
private function initSendToFriendMusic():void{
MusicPlayer.instance.playMusic("main_screen.mp3");
}
private function delEnglishLogoMusic():void{
}
private function initHowToPlayMusic():void{
MusicPlayer.instance.playMusic("main_screen.mp3");
}
private function CreditsToHighScores(_arg1:UIEvent):void{
delCredits();
initHighScores();
setHighScoresLayout();
}
private function initEnglishLogoMusic():void{
}
private function initCreditsMusic():void{
MusicPlayer.instance.playMusic("main_screen.mp3");
}
private function initEnglishLogoUI():void{
_englishLogo = new EnglishLogo();
_englishLogo.init();
_englishLogo.addParent(_container);
}
private function delSendToFriendUI():void{
_sendToFriend.removeParent(_container);
_sendToFriend.del();
_sendToFriend = null;
}
private function loadingToChineseLogo(_arg1:UIEvent):void{
seek();
delLoading();
initChineseLogo();
}
private function delHighScoresUI():void{
_highScores.removeParent(_container);
_highScores.del();
_highScores = null;
}
private function delMainMenu():void{
if (_mainMenu == null){
return;
};
delMainMenuEvent();
delMainMenuMusic();
delMainMenuUI();
}
private function loadingToEnglishLogo(_arg1:UIEvent):void{
seek();
delLoading();
initEnglishLogo();
}
private function initMainMenu():void{
if (_mainMenu != null){
return;
};
initMainMenuUI();
initMainMenuMusic();
initMainMenuEvent();
}
private function delCreditsUI():void{
_credits.removeParent(_container);
_credits.del();
_credits = null;
}
private function loadFromFriendToStartGame(_arg1:UIEvent):void{
delLoadFromFriend();
initGameWorld();
setGameWorldEvent();
}
private function sendToFriendToMainMenu(_arg1:UIEvent):void{
delSendToFriend();
initMainMenu();
}
private function initLoadingEvent():void{
Broadcast.instance.addEventListener(UIEvent.CHINESE_LOGO, loadingToChineseLogo);
Broadcast.instance.addEventListener(UIEvent.ENGLISH_LOGO, loadingToEnglishLogo);
}
private function setHighScoresLayout():void{
switch (Data.HighScores){
case "A":
_highScores.setLayoutA();
break;
case "B":
_highScores.setLayoutB();
break;
};
}
private function initGameWorldEvent():void{
Broadcast.instance.addEventListener(UIEvent.GAME_OVER, gameWorldToGameOver);
}
private function refresh():void{
Data.first = false;
}
private function delLoadingMusic():void{
}
private function delGameWorld():void{
if (_gameWorld == null){
return;
};
delGameWorldEvent();
delGameWorldMusic();
delGameWorldUI();
}
private function delHighScoresMusic():void{
}
private function GameOverToMainMenu(_arg1:UIEvent):void{
delGameOver();
initMainMenu();
}
private function delHowToPlay():void{
if (_howToPlay == null){
return;
};
delHowToPlayEvent();
delHowToPlayMusic();
delHowToPlayUI();
}
private function initChineseLogoMusic():void{
}
private function delChineseLogoMusic():void{
}
}
}//package ui
Section 145
//Broadcast (utils.Broadcast)
package utils {
import flash.events.*;
public class Broadcast extends EventDispatcher {
private static var _instance:Broadcast;
public static function get instance():Broadcast{
if (_instance == null){
_instance = new (Broadcast);
};
return (_instance);
}
}
}//package utils
Section 146
//Console (utils.Console)
package utils {
import flash.net.*;
import flash.utils.*;
public class Console {
public static function clone(_arg1:Object){
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeObject(_arg1);
_local2.position = 0;
return (_local2.readObject());
}
public static function clear():void{
try {
new LocalConnection().connect("callback");
new LocalConnection().connect("callback");
} catch(error:Error) {
};
}
}
}//package utils
Section 147
//Encrypt (utils.Encrypt)
package utils {
public class Encrypt {
public static function codeToString(_arg1:String):String{
return (transform(decodeURI(_arg1)));
}
public static function stringToCode(_arg1:String):String{
return (encodeURI(transform(_arg1)));
}
private static function transform(_arg1:String):String{
var _local2:String;
var _local3:int;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode((_arg1.charCodeAt(_local3) ^ 0xFF)));
_local3++;
};
return (_local2);
}
}
}//package utils
Section 148
//Library (utils.Library)
package utils {
import flash.display.*;
import flash.media.*;
import flash.utils.*;
import flash.system.*;
public final class Library {
public static function getClass(_arg1:String):Class{
var cd:Class;
var name = _arg1;
try {
cd = (getDefinitionByName(name) as Class);
} catch(re:ReferenceError) {
return (null);
};
return (cd);
}
public static function getBitmap(_arg1:String):Bitmap{
var _local2:Class;
var _local3:Bitmap;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new Bitmap(new _local2(null, null));
return (_local3);
}
public static function getSound(_arg1:String):Sound{
var _local2:Class;
var _local3:Sound;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
return (_local3);
}
public static function getMovieClip(_arg1:String):MovieClip{
var _local2:Class;
var _local3:MovieClip;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
return (_local3);
}
public static function getSprite(_arg1:String):Sprite{
var _local2:Class;
var _local3:Sprite;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
return (_local3);
}
public static function hasDefinition(_arg1:String):Boolean{
return (ApplicationDomain.currentDomain.hasDefinition(_arg1));
}
public static function getBitmapData(_arg1:String):BitmapData{
var _local2:Class;
var _local3:BitmapData;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new _local2(null, null);
return (_local3);
}
}
}//package utils
Section 149
//MathUtil (utils.MathUtil)
package utils {
public class MathUtil {
public static const CONVERT_RADIAN_TO_ANGLE:Number = 57.2957795130823;
public static const CONVERT_ANGLE_TO_RADIAN:Number = 0.0174532925199433;
public static function random(_arg1:int, _arg2:int):int{
return (((Math.random() * ((_arg2 + 1) - _arg1)) + _arg1));
}
public static function clamp(_arg1:int, _arg2:int, _arg3:int):int{
if (_arg1 > _arg3){
return (_arg3);
};
if (_arg1 < _arg2){
return (_arg2);
};
return (_arg1);
}
}
}//package utils
Section 150
//Painter (utils.Painter)
package utils {
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class Painter {
public static function fillColor(_arg1:Sprite, _arg2:uint):void{
var _local3:DisplayObject;
var _local4:Sprite;
var _local5:ColorTransform;
_local3 = _arg1.getChildAt(0);
_local4 = (_arg1.getChildByName("materialLayer") as Sprite);
if (_local4 != null){
_local4.mask = null;
_local4.graphics.clear();
};
_local5 = new ColorTransform();
_local5.color = _arg2;
_local3.transform.colorTransform = _local5;
}
public static function drawCurve(_arg1:Array, _arg2:Number=2):Sprite{
var _local3:Sprite;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:int;
_local3 = new Sprite();
_local4 = new Array();
_local5 = new Array();
_local6 = new Array();
_local7 = _arg1.length;
if (_local7 == 0){
return (new Sprite());
};
if (_local7 == 1){
return (drawCircle(_arg1[0].x, _arg1[0].y, (_arg2 / 2)));
};
if (_local7 == 2){
_local4.push({x:_arg1[0].x, y:_arg1[0].y});
_local5.push({x:_arg1[1].x, y:_arg1[1].y});
_local6.push({x:((_local4[0].x + _local5[0].x) / 2), y:((_local4[0].y + _local5[0].y) / 2)});
_local3.graphics.clear();
_local3.graphics.lineStyle(_arg2, 0x999999);
_local3.graphics.moveTo(_local4[0].x, _local4[0].y);
_local3.graphics.curveTo(_local6[0].x, _local6[0].y, _local5[0].x, _local5[0].y);
return (_local3);
};
_local4.push({x:_arg1[0].x, y:_arg1[0].y});
_local5.push({x:_arg1[1].x, y:_arg1[1].y});
_local6.push({x:(_arg1[1].x - ((_arg1[2].x - _arg1[0].x) / 4)), y:(_arg1[1].y - ((_arg1[2].y - _arg1[0].y) / 4))});
_local8 = 1;
while (_local8 < (_arg1.length - 1)) {
_local4.push({x:_arg1[_local8].x, y:_arg1[_local8].y});
_local5.push({x:_arg1[(_local8 + 1)].x, y:_arg1[(_local8 + 1)].y});
_local6.push({x:(_arg1[_local8].x + (_arg1[_local8].x - _local6[(_local8 - 1)].x)), y:(_arg1[_local8].y + (_arg1[_local8].y - _local6[(_local8 - 1)].y))});
_local8++;
};
_local3.graphics.clear();
_local3.graphics.lineStyle(_arg2, 0x999999);
_local3.graphics.moveTo(_local4[0].x, _local4[0].y);
_local9 = 0;
while (_local9 < _local6.length) {
_local3.graphics.curveTo(_local6[_local9].x, _local6[_local9].y, _local5[_local9].x, _local5[_local9].y);
_local9++;
};
return (_local3);
}
public static function drawCircle(_arg1:Number, _arg2:Number, _arg3:Number=10):Sprite{
var _local4:Sprite;
_local4 = new Sprite();
_local4.graphics.clear();
_local4.graphics.lineStyle(1);
_local4.graphics.beginFill(0);
_local4.graphics.drawCircle(_arg1, _arg2, _arg3);
_local4.alpha = 0.7;
return (_local4);
}
public static function drawStar(_arg1:Number, _arg2:uint):Sprite{
var _local3:Sprite;
var _local4:int;
var _local5:Number;
var _local6:Number;
_local3 = new Sprite();
_local3.graphics.clear();
_local3.graphics.lineStyle(0);
_local3.graphics.beginFill(_arg2);
_local3.graphics.moveTo(_arg1, 0);
_local4 = 1;
while (_local4 < 11) {
_local5 = _arg1;
if ((_local4 % 2) > 0){
_local5 = (_arg1 / 2);
};
_local6 = (((Math.PI * 2) / 10) * _local4);
_local3.graphics.lineTo((Math.cos(_local6) * _local5), (Math.sin(_local6) * _local5));
_local4++;
};
return (_local3);
}
public static function drawLine(_arg1:Array, _arg2:Number):Sprite{
var _local3:int;
var _local4:Sprite;
var _local5:int;
_local3 = _arg1.length;
if (_local3 == 0){
return (new Sprite());
};
if (_local3 == 1){
return (drawCircle(_arg1[0].x, _arg1[0].y, (_arg2 / 2)));
};
_local4 = new Sprite();
_local4.graphics.clear();
_local4.graphics.lineStyle(_arg2);
_local4.graphics.moveTo(_arg1[0].x, _arg1[0].y);
_local5 = 0;
while (_local5 < _local3) {
_local4.graphics.lineTo(_arg1[(_local5 + 1)].x, _arg1[(_local5 + 1)].y);
_local5++;
};
return (_local4);
}
public static function fillMaterial(_arg1:Sprite, _arg2:String):void{
var _local3:Rectangle;
var _local4:Class;
var _local5:BitmapData;
var _local6:DisplayObject;
var _local7:Sprite;
_local3 = _arg1.getBounds(_arg1);
_local4 = (getDefinitionByName(_arg2) as Class);
_local5 = new _local4(null, null);
_local6 = _arg1.getChildAt(0);
_local7 = (_arg1.getChildByName("materialLayer") as Sprite);
if (_local7 == null){
_local7 = new Sprite();
_local7.name = "materialLayer";
_arg1.addChild(_local7);
};
_local7.graphics.clear();
_local7.graphics.beginBitmapFill(_local5);
_local7.graphics.moveTo(_local3.x, _local3.y);
_local7.graphics.lineTo((_local3.x + _local3.width), _local3.y);
_local7.graphics.lineTo((_local3.x + _local3.width), (_local3.y + _local3.height));
_local7.graphics.lineTo(_local3.x, (_local3.y + _local3.height));
_local7.graphics.lineTo(_local3.x, _local3.y);
_local7.graphics.endFill();
_local7.mask = _local6;
}
public static function drawRectangle(_arg1:Number, _arg2:Number, _arg3:Number=20, _arg4:Number=10):Sprite{
var _local5:Sprite;
_local5 = new Sprite();
_local5.graphics.clear();
_local5.graphics.lineStyle(1);
_local5.graphics.beginFill(0);
_local5.graphics.drawRect((_arg1 - (_arg3 / 2)), (_arg2 - (_arg4 / 2)), _arg3, _arg4);
_local5.alpha = 0.5;
return (_local5);
}
public static function drawBitmapByClass(_arg1:String):Bitmap{
var _local2:Class;
var _local3:Sprite;
var _local4:Rectangle;
var _local5:Bitmap;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
_local4 = _local3.getBounds(_local3);
_local5 = new Bitmap(new BitmapData(_local3.width, _local3.height, true, 0));
_local5.bitmapData.draw(_local3, new Matrix(1, 0, 0, 1, -(_local4.x), -(_local4.y)));
_local5.x = _local4.x;
_local5.y = _local4.y;
return (_local5);
}
public static function drawBitmapBySprite(_arg1:Sprite):Bitmap{
var _local2:Rectangle;
var _local3:Bitmap;
_local2 = _arg1.getBounds(_arg1);
_local3 = new Bitmap(new BitmapData(_arg1.width, _arg1.height, true, 0));
_local3.bitmapData.draw(_arg1, new Matrix(1, 0, 0, 1, -(_local2.x), -(_local2.y)));
_local3.x = _local2.x;
_local3.y = _local2.y;
return (_local3);
}
}
}//package utils
Section 151
//Vector2D (utils.Vector2D)
package utils {
public class Vector2D {
public var y:Number;
public var x:Number;
public function Vector2D(_arg1:Number=0, _arg2:Number=0){
x = _arg1;
y = _arg2;
}
public function cross(_arg1:Vector2D):Number{
return (((x * _arg1.y) - (y * _arg1.x)));
}
public function times(_arg1:Vector2D):Vector2D{
return (new Vector2D((x * _arg1.x), (y * _arg1.y)));
}
public function dot(_arg1:Vector2D):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function normalize():Vector2D{
var _local1:Number;
_local1 = magnitude();
if (_local1 == 0){
_local1 = 0.0001;
};
return (mult((1 / _local1)));
}
public function minusEquals(_arg1:Vector2D):Vector2D{
x = (x - _arg1.x);
y = (y - _arg1.y);
return (this);
}
public function magnitude():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function div(_arg1:Number):Vector2D{
if (_arg1 == 0){
_arg1 = 0.0001;
};
return (new Vector2D((x / _arg1), (y / _arg1)));
}
public function mult(_arg1:Number):Vector2D{
return (new Vector2D((x * _arg1), (y * _arg1)));
}
public function rotateByRadian(_arg1:Number):Vector2D{
var _local2:Number;
var _local3:Number;
_local2 = Math.cos(_arg1);
_local3 = Math.sin(_arg1);
return (new Vector2D(((x * _local2) - (y * _local3)), ((y * _local2) + (x * _local3))));
}
public function plus(_arg1:Vector2D):Vector2D{
return (new Vector2D((x + _arg1.x), (y + _arg1.y)));
}
public function clone():Vector2D{
return (new Vector2D(x, y));
}
public function multEquals(_arg1:Number):Vector2D{
x = (x * _arg1);
y = (y * _arg1);
return (this);
}
public function rotateByAngle(_arg1:Number):Vector2D{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = ((_arg1 * Math.PI) / 180);
_local3 = Math.cos(_local2);
_local4 = Math.sin(_local2);
return (new Vector2D(((x * _local3) - (y * _local4)), ((y * _local3) + (x * _local4))));
}
public function toString():String{
return (((x + " : ") + y));
}
public function divEquals(_arg1:Number):Vector2D{
if (_arg1 == 0){
_arg1 = 0.0001;
};
x = (x / _arg1);
y = (y / _arg1);
return (this);
}
public function distance(_arg1:Vector2D):Number{
var _local2:Vector2D;
_local2 = this.minus(_arg1);
return (_local2.magnitude());
}
public function plusEquals(_arg1:Vector2D):Vector2D{
x = (x + _arg1.x);
y = (y + _arg1.y);
return (this);
}
public function modify(_arg1:Vector2D):Vector2D{
x = (x * _arg1.x);
y = (y * _arg1.y);
return (this);
}
public function copy(_arg1:Vector2D):void{
x = _arg1.x;
y = _arg1.y;
}
public function setTo(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
}
public function minus(_arg1:Vector2D):Vector2D{
return (new Vector2D((x - _arg1.x), (y - _arg1.y)));
}
}
}//package utils
Section 152
//Countries (zlong.country.Countries)
package zlong.country {
import zlong.country.*;
class Countries {
private var _countryGroup:Array;
private var _portal:String;
private var _portalGroup:Array;
private var _countries:Object;
private var _country:String;
function Countries(){
initPortalGroup();
}
private function initPortalGroup():void{
var _local1:int;
_portalGroup = new Array();
_local1 = 0;
while (_local1 < CountriesData.DATA.children().length()) {
_portalGroup.push(CountriesData.DATA.children()[_local1].name());
_local1++;
};
}
private function initCountries():void{
var _local1:CountryItem;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
_countries = new Object();
_countryGroup = new Array();
_local6 = 0;
while (_local6 < CountriesData.DATA[_portal]["country"].length()) {
_local2 = CountriesData.DATA[_portal]["country"][_local6].@name;
_local3 = CountriesData.DATA[_portal]["country"][_local6].@domain;
_local4 = CountriesData.DATA[_portal]["country"][_local6].@game;
_local5 = int(CountriesData.DATA[_portal]["country"][_local6].@language);
_local1 = new CountryItem();
_local1.name = _local2;
_local1.domain = _local3;
_local1.game = _local4;
_local1.language = _local5;
_countries[_local1.name] = _local1;
_countryGroup.push(_local2);
_local6++;
};
}
function get countryGroup():Array{
if (_countryGroup == null){
throw (new ArgumentError("Please set portal"));
};
return (_countryGroup);
}
function set country(_arg1:String):void{
if (((!((_countryGroup == null))) && (!(inArray(_arg1, _countryGroup))))){
_country = _countryGroup[0];
trace(("Error in the country value,set country with default value : " + _countryGroup[0]));
trace(("Please set country with value : " + _countryGroup.toString()));
} else {
_country = _arg1;
};
}
function set portal(_arg1:String):void{
if (!inArray(_arg1, _portalGroup)){
throw (new ArgumentError(("Please set portal with value : " + _portalGroup.toString())));
};
_portal = _arg1;
initCountries();
if (((!((_country == null))) && (!(inArray(_country, _countryGroup))))){
throw (new ArgumentError(("Please reset country with value : " + _countryGroup.toString())));
};
}
function get current():CountryItem{
if (_portal == null){
throw (new ArgumentError("Please set portal"));
};
if (_country == null){
throw (new ArgumentError("Please set country"));
};
return (_countries[_country]);
}
private function inArray(_arg1:String, _arg2:Array):Boolean{
var _local3:int;
_local3 = 0;
while (_local3 < _arg2.length) {
if (_arg1 == _arg2[_local3]){
return (true);
};
_local3++;
};
return (false);
}
}
}//package zlong.country
Section 153
//CountriesData (zlong.country.CountriesData)
package zlong.country {
class CountriesData {
static const DATA:XML = <data>
<family>
<!-- new -->
<country name="ar" domain="www.dailygame.com" game="game" language="1"/><!-- Arabic(English US) -->
<country name="br" domain="www.ojogos.com.br" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="15"/><!-- Chinese -->
<country name="de" domain="www.jetztspielen.de" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.juegos.com" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.jeux.fr" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.games.co.id" game="permainanme" language="13"/><!-- Indonesian -->
<country name="in" domain="www.game.co.in" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.gioco.it" game="gioco" language="9"/><!-- Italian -->
<country name="jp" domain="www.egames.jp" game="game" language="14"/><!-- Japanese -->
<country name="nl" domain="www.spelletjes.nl" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.gry.pl" game="gra" language="11"/><!-- Polish -->
<country name="pt" domain="www.ojogos.pt" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.ourgames.ru" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.spela.se" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.games.co.uk" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.gamesgames.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.laro.com.ph" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.asoyun.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.game.com.my" game="permainan_" language="15"/ --><!-- Malaysian -->
</family>
<tween>
<!-- new -->
<country name="ar" domain="www.dailygame.com" game="game" language="1"/><!-- Arabic(English US) -->
<country name="br" domain="www.clickjogos.com" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="17"/><!-- Chinese -->
<country name="de" domain="www.spielen.com" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.zapjuegos.com" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.jeu.fr" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.games.co.id" game="permainanme" language="14"/><!-- Indonesian -->
<country name="in" domain="www.game.co.in" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.gioco.it" game="gioco" language="9"/><!-- Italian 2009.08.10 -->
<country name="jp" domain="www.egames.jp" game="game" language="16"/><!-- Japanese -->
<country name="nl" domain="www.spel.nl" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.gry.pl" game="gra" language="11"/><!-- Polish 2009.08.10-->
<country name="pt" domain="www.ojogos.pt" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.flashgames.ru" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.spel.se" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.agame.co.uk" game="game" language="2"/><!-- English UK 2009.08.28-->
<country name="en_us" domain="www.agame.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.laro.com.ph" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.asoyun.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.game.com.my" game="permainan_" language="15"/ --><!-- Malaysian -->
</tween>
<girl>
<!-- new -->
<country name="ar" domain="www.dailygame.com" game="game" language="1"/><!-- Arabic(English US) -->
<country name="br" domain="www.girlsgogames.com.br" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="15"/><!-- Chinese -->
<country name="de" domain="www.girlsgogames.de" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.girlsgogames.es" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.girlsgogames.fr" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.games.co.id" game="permainanme" language="13"/><!-- Indonesian -->
<country name="it" domain="www.girlsgogames.it" game="gioco" language="9"/><!-- Italian -->
<country name="jp" domain="www.egames.jp" game="game" language="14"/><!-- Japanese -->
<country name="nl" domain="www.girlsgogames.nl" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.girlsgogames.pl" game="gra" language="11"/><!-- Polish -->
<country name="pt" domain="www.ojogos.pt" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.girlsgogames.ru" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.girlsgogames.se" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.girlsgogames.co.uk" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.girlsgogames.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.laro.com.ph" game="game" language="2"/ --><!-- English UK -->
<!-- country name="in" domain="www.girlsgogames.in" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.girlsgogamestr.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.game.com.my" game="permainan_" language="15"/ --><!-- Malaysian -->
</girl>
<teen>
<!-- new -->
<country name="ar" domain="www.dailygame.com" game="game" language="1"/><!-- Arabic(English US) -->
<country name="br" domain="www.a10.com" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="15"/><!-- Chinese -->
<country name="de" domain="www.a10.com" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.a10.com" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.a10.com" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.a10.com" game="permainanme" language="13"/><!-- Indonesian -->
<country name="in" domain="www.a10.com" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.a10.com" game="gioco" language="9"/><!-- Italian -->
<country name="jp" domain="www.a10.com" game="game" language="14"/><!-- Japanese -->
<country name="nl" domain="www.a10.com" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.a10.com" game="gra" language="11"/><!-- Polish -->
<country name="pt" domain="www.a10.com" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.a10.com" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.a10.com" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.a10.com" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.a10.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.a10.com" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.a10.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.a10.com" game="permainan_" language="15"/ --><!-- Malaysian -->
</teen>
</data>
;
}
}//package zlong.country
Section 154
//CountryInfo (zlong.country.CountryInfo)
package zlong.country {
import zlong.domain.*;
import zlong.data.*;
public class CountryInfo {
private var countries:Countries;
private static var _instance:CountryInfo;
public function CountryInfo(){
countries = new Countries();
}
public function get domain():String{
return (countries.current.domain);
}
public function get countryGroup():Array{
return (countries.countryGroup);
}
public function get thisGameLink():String{
var _local1:String;
if (countries.current.name != "cn"){
_local1 = ("http://" + domain);
_local1 = (_local1 + ((("/" + countries.current.game) + "/") + GameInfo.html));
_local1 = (_local1 + ("?utm_medium=brandedgames_" + (DomainInfo.instance.allowed) ? "internal" : "external"));
_local1 = (_local1 + ("&utm_campaign=" + GameInfo.name));
_local1 = (_local1 + ("&utm_source=" + DomainInfo.instance.domainAb));
} else {
_local1 = "http://www.game.com.cn/youxi/6/1/subwaysneeze.html";
};
return (_local1);
}
public function set country(_arg1:String):void{
countries.country = _arg1;
}
public function get moreGameLink():String{
var _local1:String;
_local1 = ("http://" + domain);
if (countries.current.name != "cn"){
_local1 = (_local1 + "/");
_local1 = (_local1 + ("?utm_medium=brandedgames_" + (DomainInfo.instance.allowed) ? "internal" : "external"));
_local1 = (_local1 + ("&utm_campaign=" + GameInfo.name));
_local1 = (_local1 + ("&utm_source=" + DomainInfo.instance.domainAb));
} else {
_local1 = (_local1 + "/");
_local1 = (_local1 + "moregames");
_local1 = (_local1 + "/");
};
return (_local1);
}
public function get country():String{
return (countries.current.name);
}
public function set portal(_arg1:String):void{
countries.portal = _arg1;
}
public function get sendToFriendLink():String{
var _local1:String;
_local1 = thisGameLink;
if (countries.current.name != "cn"){
_local1 = (_local1 + "&utm_content=send_to_friend");
};
return (_local1);
}
public function get language():int{
return (countries.current.language);
}
public static function get instance():CountryInfo{
if (_instance == null){
_instance = new (CountryInfo);
};
return (_instance);
}
}
}//package zlong.country
Section 155
//CountryItem (zlong.country.CountryItem)
package zlong.country {
final class CountryItem {
var domain:String;
var game:String;
var language:int;
var name:String;
}
}//package zlong.country
Section 156
//CountryCookie (zlong.data.CountryCookie)
package zlong.data {
import flash.net.*;
public class CountryCookie {
private static const countryName:String = "savedLang";
private static const name:String = "spilgames_language_v100";
private static var so:SharedObject;
public function CountryCookie():void{
so = SharedObject.getLocal(name, "/");
}
public static function set country(_arg1:String):void{
so.data[countryName] = _arg1;
}
public static function get country():String{
return (so.data[countryName]);
}
}
}//package zlong.data
Section 157
//GameInfo (zlong.data.GameInfo)
package zlong.data {
public class GameInfo {
public static var width:int = 550;
public static var height:int = 400;
public static var html:String = "Game-Name.html";
public static var cnversion:Boolean = false;
public static var name:String = "game_name";
public static var portal:String = "family";
}
}//package zlong.data
Section 158
//Copyright (zlong.display.Copyright)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.navigate.*;
public class Copyright extends MovieClip {
public function Copyright(){
this.stop();
this.buttonMode = true;
this.mouseChildren = false;
initEvent();
}
private function mouseUpHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
}
private function rollOverHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
}
private function mouseDownHandler(_arg1:MouseEvent):void{
this.gotoAndStop(3);
}
private function initEvent():void{
this.addEventListener(MouseEvent.CLICK, Handler.click_copyright);
this.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
this.addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function delEvent():void{
this.removeEventListener(MouseEvent.CLICK, Handler.click_copyright);
this.removeEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
this.removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function rollOutHandler(_arg1:MouseEvent):void{
this.gotoAndStop(1);
}
private function removeFromStageHandler(_arg1:Event):void{
delEvent();
}
}
}//package zlong.display
Section 159
//CountriesBox (zlong.display.CountriesBox)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
import flash.geom.*;
import zlong.data.*;
public class CountriesBox extends Sprite {
private var flagMc:MovieClip;
private var selectBox:MovieClip;
public var countryName:MovieClip;
public var selectbox:MovieClip;
private var i:uint;
public var flag:MovieClip;
private var pop:Sprite;
public var popList:MovieClip;
private var baseX:Number;// = 0
private var baseY:Number;// = 0
private var country_name:MovieClip;
private var nameGroup:Array;
private var mul:int;// = 1
private var obj:Object;
public function CountriesBox(){
mul = 1;
baseX = 0;
baseY = 0;
nameGroup = [];
super();
obj = new Object();
addEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function init():void{
initPos();
setFlag();
setPop();
initEvent();
initPoPEvent();
if (GameInfo.cnversion){
this.visible = false;
setLanguage("cn");
};
}
private function initPoPEvent():void{
pop.addEventListener(MouseEvent.MOUSE_OVER, overPoPHandler);
pop.addEventListener(MouseEvent.MOUSE_OUT, outPoPHandler);
}
private function delPoPEvent():void{
pop.removeEventListener(MouseEvent.MOUSE_OVER, overPoPHandler);
pop.removeEventListener(MouseEvent.MOUSE_OUT, outPoPHandler);
}
private function outHandler(_arg1:MouseEvent):void{
pop.visible = false;
}
private function initPos():void{
var _local1:Point;
_local1 = new Point();
_local1 = this.localToGlobal(new Point(x, y));
if (_local1.y > (GameInfo.height / 2)){
mul = 1;
} else {
mul = -1;
};
}
private function initEvent():void{
addEventListener(MouseEvent.ROLL_OVER, overHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, outHandler, false, 0, true);
addEventListener(MouseEvent.CLICK, clickHandler, false, 0, true);
}
private function setPop():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:MovieClip;
var _local6:String;
var _local7:int;
_local3 = 0;
_local4 = 0;
pop = (getChildByName("popList") as Sprite);
selectBox = (getChildByName("selectbox") as MovieClip);
_local1 = pop["_blank"].width;
_local2 = (pop["_blank"].height - 1);
baseX = selectBox.x;
nameGroup = CountryInfo.instance.countryGroup;
_local7 = nameGroup.length;
if (mul == 1){
baseY = ((selectBox.y - (Math.round((_local7 / 2)) * _local2)) + _local2);
} else {
baseY = ((selectBox.y + selectBox.height) + _local2);
};
pop.y = baseY;
pop.visible = false;
pop["_blank"].visible = false;
i = 0;
while (i < _local7) {
_local6 = nameGroup[i];
if (pop.getChildByName(("l_" + _local6)) != null){
_local5 = (pop.getChildByName(("l_" + _local6)) as MovieClip);
_local5.mouseChildren = false;
_local5.buttonMode = true;
_local5.stop();
_local5["flag"].mouseEnable = false;
_local5["flag"].mouseChildren = false;
_local5["flag"].gotoAndStop(_local6);
obj[("l_" + _local6)] = true;
_local3 = (((i % 2) == 0)) ? 0 : 1;
_local5.x = ((_local1 * (i % 2)) - _local3);
_local5.y = ((_local2 * Math.floor((i / 2))) - _local2);
};
i++;
};
i = 0;
while (i < pop.numChildren) {
if (pop.getChildAt(i).name.indexOf("l_") != -1){
if (obj[pop.getChildAt(i).name] == undefined){
pop.getChildAt(i).visible = false;
};
};
i++;
};
if ((nameGroup.length % 2) == 0){
pop["_blank"].visible = false;
} else {
pop["_blank"].visible = true;
pop["_blank"].x = (_local1 - 1);
pop["_blank"].y = (((_local2 * Math.floor((nameGroup.length / 2))) - _local2) - _local4);
};
}
private function addToStageHandler(_arg1:Event):void{
init();
}
private function clickHandler(_arg1:MouseEvent):void{
var _local2:String;
var _local3:MovieClip;
_local2 = _arg1.target["name"];
if (_local2 == "_blank"){
return;
};
if (_local2.indexOf("l_") != -1){
_local3 = (_arg1.target["getChildByName"]("flag") as MovieClip);
flagMc.gotoAndStop(_local2.substr(2));
country_name.gotoAndStop(_local3.currentFrame);
setLanguage(_local2.substr(2));
pop.visible = false;
};
}
private function outPoPHandler(_arg1:MouseEvent):void{
var _local2 = _arg1.target;
_local2["gotoAndStop"](1);
}
private function overPoPHandler(_arg1:MouseEvent):void{
var _local2 = _arg1.target;
_local2["gotoAndStop"](2);
}
private function overHandler(_arg1:MouseEvent):void{
pop.visible = true;
}
private function setLanguage(_arg1:String):void{
CountryInfo.instance.country = _arg1;
CountryCookie.country = _arg1;
Dispatcher.langChanged();
}
private function removeFromStageHandler(_arg1:Event):void{
removeEventListener(MouseEvent.ROLL_OVER, overHandler);
removeEventListener(MouseEvent.ROLL_OUT, outHandler);
removeEventListener(MouseEvent.CLICK, clickHandler);
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
delPoPEvent();
}
private function setFlag():void{
country_name = (getChildByName("countryName") as MovieClip);
flagMc = (getChildByName("flag") as MovieClip);
flagMc.gotoAndStop(CountryInfo.instance.country);
country_name.gotoAndStop(CountryInfo.instance.country);
}
}
}//package zlong.display
Section 160
//Dispatcher (zlong.display.Dispatcher)
package zlong.display {
import flash.events.*;
public class Dispatcher {
public static const LANGUAGE_CHANGED:String = "languageChanged";
public static var dispatcher:EventDispatcher = new EventDispatcher();
static function langChanged():void{
dispatcher.dispatchEvent(new Event(LANGUAGE_CHANGED));
}
}
}//package zlong.display
Section 161
//ExtButton (zlong.display.ExtButton)
package zlong.display {
import flash.events.*;
import flash.display.*;
import media.*;
import data.*;
import zlong.navigate.*;
public class ExtButton extends MovieClip {
private var _type:String;// = "moregames"
private var _position:String;// = "button_preloader"
public function ExtButton(){
_type = "moregames";
_position = "button_preloader";
super();
this.stop();
this.buttonMode = true;
this.mouseChildren = false;
initEvent();
}
private function mouseUpHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
}
public function get position():String{
return (_position);
}
private function rollOverHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
SoundPlayer.instance.playSound("menuTouch", Config.SoundVolume);
}
private function mouseDownHandler(_arg1:MouseEvent):void{
this.gotoAndStop(3);
SoundPlayer.instance.playSound("menuPress", Config.SoundVolume);
}
public function set position(_arg1:String):void{
_position = _arg1;
}
private function initEvent():void{
this.addEventListener(MouseEvent.CLICK, clickHandler);
this.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
this.addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
public function set type(_arg1:String):void{
_type = _arg1;
}
private function delEvent():void{
this.removeEventListener(MouseEvent.CLICK, clickHandler);
this.removeEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
this.removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function rollOutHandler(_arg1:MouseEvent):void{
this.gotoAndStop(1);
}
public function get type():String{
return (_type);
}
private function clickHandler(_arg1:MouseEvent):void{
if (type == "moregames"){
Handler.click_moregames(_position);
} else {
Handler.click_thisgame(_position);
};
}
private function removeFromStageHandler(_arg1:Event):void{
delEvent();
}
}
}//package zlong.display
Section 162
//Logo (zlong.display.Logo)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
import zlong.navigate.*;
public class Logo extends MovieClip {
private const MAX_WIDTH:int = 200;
private const Max_HEIGHT:int = 50;
private var _maxHeight:Number;// = 40
private var _maxWidth:Number;// = 150
public var aa:MovieClip;
public var displayArea_mc:MovieClip;
private var _hitArea:Sprite;
private var _position:String;// = "logo_preloader"
private var _alignVertical:String;// = "Center"
private var _alignHorizontal:String;// = "Center"
public function Logo(){
_position = "logo_preloader";
_alignHorizontal = "Center";
_alignVertical = "Center";
_maxWidth = 150;
_maxHeight = 40;
super();
initDis();
addEventListener(Event.ADDED_TO_STAGE, initEvent, false, 0, true);
}
private function destroy():void{
delDis();
delEvent();
}
private function updateView():void{
var _local1:Sprite;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = (this.getChildAt(0) as Sprite);
_local1.scaleX = 1;
_local1.scaleY = 1;
_local2 = (_maxHeight / _local1.height);
_local3 = (_maxWidth / _local1.width);
_local4 = ((_local2 > _local3)) ? _local3 : _local2;
_local1.scaleX = _local4;
_local1.scaleY = _local4;
switch (_alignHorizontal){
case "Left":
_local1.x = 0;
break;
case "Right":
_local1.x = (MAX_WIDTH - _local1.width);
break;
case "Center":
_local1.x = ((MAX_WIDTH - _local1.width) / 2);
break;
};
switch (_alignVertical){
case "Up":
_local1.y = 0;
break;
case "Down":
_local1.y = (Max_HEIGHT - _local1.height);
break;
case "Center":
_local1.y = ((Max_HEIGHT - _local1.height) / 2);
break;
};
_hitArea.width = _local1.width;
_hitArea.height = _local1.height;
_hitArea.x = _local1.x;
_hitArea.y = _local1.y;
}
public function set alignHorizontal(_arg1:String):void{
_alignHorizontal = _arg1;
}
public function set alignVertical(_arg1:String):void{
_alignVertical = _arg1;
}
private function langChangeHandler(_arg1:Event):void{
gotoAndStop(CountryInfo.instance.domain);
}
public function set maxHeight(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
} else {
if (_arg1 > Max_HEIGHT){
_arg1 = Max_HEIGHT;
};
};
_maxHeight = _arg1;
}
public function set position(_arg1:String):void{
_position = _arg1;
}
private function initEvent(_arg1:Event=null):void{
this.addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
this.addEventListener(MouseEvent.CLICK, clickHandler);
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
}
private function initDis():void{
var _local1:int;
buttonMode = true;
_hitArea = new Sprite();
this.addChild(_hitArea);
_hitArea.graphics.beginFill(3368601, 0);
_hitArea.graphics.drawRect(0, 0, 10, 10);
_hitArea.graphics.endFill();
this["displayArea_mc"].visible = false;
_local1 = 0;
while (_local1 < this.totalFrames) {
this.addFrameScript(_local1, updateView);
_local1++;
};
gotoAndStop(CountryInfo.instance.domain);
}
private function delEvent():void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
this.removeEventListener(MouseEvent.CLICK, clickHandler);
Dispatcher.dispatcher.removeEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
}
private function delDis():void{
stop();
}
public function set maxWidth(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
} else {
if (_arg1 > MAX_WIDTH){
_arg1 = MAX_WIDTH;
};
};
_maxWidth = _arg1;
}
private function clickHandler(_arg1:MouseEvent):void{
Handler.click_moregames(_position);
}
private function removeFromStageHandler(_arg1:Event):void{
destroy();
}
}
}//package zlong.display
Section 163
//Menu (zlong.display.Menu)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
import zlong.navigate.*;
import flash.ui.*;
public class Menu {
private var displayObject:InteractiveObject;
private var item:ContextMenuItem;
private var menu:ContextMenu;
public function Menu(_arg1:InteractiveObject){
displayObject = _arg1;
init();
initEvent();
}
private function changeLang(_arg1:Event):void{
item.caption = CountryInfo.instance.domain;
}
private function initEvent():void{
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, clickItemHandler);
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, changeLang);
}
private function init():void{
var _local1:ContextMenuBuiltInItems;
menu = new ContextMenu();
menu.hideBuiltInItems();
_local1 = menu.builtInItems;
_local1.print = true;
_local1.zoom = true;
_local1.quality = true;
item = new ContextMenuItem(("MoreGame: " + CountryInfo.instance.domain));
menu.customItems.push(item);
displayObject.contextMenu = menu;
}
private function clickItemHandler(_arg1:ContextMenuEvent):void{
Handler.click_moregames("Contex_Menu");
}
}
}//package zlong.display
Section 164
//TranText (zlong.display.TranText)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
public class TranText extends MovieClip {
private var isChange:Boolean;// = true
public function TranText(){
isChange = true;
super();
changeLang();
addEventListener(Event.ADDED_TO_STAGE, initEvent, false, 0, true);
}
private function langChangeHandler(_arg1:Event):void{
if (isChange){
changeLang();
};
}
private function removeHandler(_arg1:Event):void{
removeEventListener(Event.REMOVED_FROM_STAGE, removeHandler);
Dispatcher.dispatcher.removeEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
}
private function initEvent(_arg1:Event=null):void{
addEventListener(Event.REMOVED_FROM_STAGE, removeHandler);
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
}
public function set change(_arg1:Boolean):void{
isChange = _arg1;
}
private function changeLang():void{
gotoAndStop(CountryInfo.instance.language);
}
}
}//package zlong.display
Section 165
//DomainData (zlong.domain.DomainData)
package zlong.domain {
final class DomainData {
static const allowedDomain:Array = ["www8.agame.com", "www.zlonggamestest.com", "gamedev.dev.spilgames.com", "localhost"];
}
}//package zlong.domain
Section 166
//DomainInfo (zlong.domain.DomainInfo)
package zlong.domain {
import flash.net.*;
public final class DomainInfo {
private var _domain:String;
private var _domainAb:String;
private var _allowed:Boolean;
private static var _instance:DomainInfo;
public function DomainInfo(){
_domain = new LocalConnection().domain;
initAllowed();
initAb();
}
public function get domainAb():String{
return (_domainAb);
}
public function get allowed():Boolean{
return (_allowed);
}
public function get domain():String{
return (_domain);
}
private function initAb():void{
var _local1:Array;
var _local2:int;
var _local3:int;
if (_domain != "localhost"){
_local1 = _domain.split(".");
_local2 = (_local1.length - 1);
_local3 = (_local1.length - 2);
_domainAb = ((_local1[_local3] + ".") + _local1[_local2]);
} else {
_domainAb = "offline_play";
};
}
private function initAllowed():void{
var _local1:int;
_local1 = 0;
while (_local1 < DomainData.allowedDomain.length) {
if (_domain == DomainData.allowedDomain[_local1]){
_allowed = true;
break;
};
_local1++;
};
}
public static function get instance():DomainInfo{
if (_instance == null){
_instance = new (DomainInfo);
};
return (_instance);
}
}
}//package zlong.domain
Section 167
//Handler (zlong.navigate.Handler)
package zlong.navigate {
import flash.net.*;
import flash.events.*;
import zlong.country.*;
import flash.external.*;
public class Handler {
public static function click_copyright(_arg1:Event=null):void{
var _local2:URLRequest;
if (CountryInfo.instance.country == "cn"){
_local2 = new URLRequest("http://www.game.com.cn");
} else {
_local2 = new URLRequest("http://www.gameportal.net");
};
navigateToURL(_local2, "_blank");
}
public static function refurbish(_arg1:Event=null):void{
var e = _arg1;
try {
ExternalInterface.call("location.reload");
navigateToURL(new URLRequest(ExternalInterface.call("window.location.href.toString")), "_top");
} catch(myError:Error) {
};
}
public static function click_gamecn(_arg1:Event=null):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.game.com.cn");
navigateToURL(_local2, "_blank");
}
public static function click_moregames(_arg1:String):void{
var _local2:URLRequest;
if (CountryInfo.instance.country == "cn"){
_local2 = new URLRequest(CountryInfo.instance.moreGameLink);
} else {
_local2 = new URLRequest(((CountryInfo.instance.moreGameLink + "&utm_content=") + _arg1));
};
navigateToURL(_local2, "_blank");
}
public static function click_thisgame(_arg1:String):void{
var _local2:URLRequest;
if (CountryInfo.instance.country == "cn"){
_local2 = new URLRequest(CountryInfo.instance.moreGameLink);
} else {
_local2 = new URLRequest(((CountryInfo.instance.thisGameLink + "&utm_content=") + _arg1));
};
navigateToURL(_local2, "_blank");
}
}
}//package zlong.navigate
Section 168
//GameSetting (zlong.GameSetting)
package zlong {
import flash.display.*;
import zlong.country.*;
import zlong.data.*;
import zlong.display.*;
public class GameSetting {
public function GameSetting(_arg1:InteractiveObject, _arg2:Boolean, _arg3:String, _arg4:String, _arg5:String, _arg6:int, _arg7:int){
GameInfo.cnversion = _arg2;
GameInfo.portal = _arg3;
GameInfo.name = _arg4;
GameInfo.html = _arg5;
GameInfo.width = _arg6;
GameInfo.height = _arg7;
init();
initMenu(_arg1);
}
private function init():void{
new CountryCookie();
CountryInfo.instance.portal = GameInfo.portal;
if (CountryCookie.country == null){
CountryInfo.instance.country = "en_us";
} else {
CountryInfo.instance.country = String(CountryCookie.country);
};
}
private function initMenu(_arg1:InteractiveObject):void{
new Menu(_arg1);
}
}
}//package zlong
Section 169
//Angle_mc (Angle_mc)
package {
import flash.display.*;
public dynamic class Angle_mc extends MovieClip {
}
}//package
Section 170
//backGround_mc (backGround_mc)
package {
import flash.display.*;
public dynamic class backGround_mc extends MovieClip {
}
}//package
Section 171
//Booger_mc (Booger_mc)
package {
import flash.display.*;
public dynamic class Booger_mc extends MovieClip {
}
}//package
Section 172
//bounce (bounce)
package {
import flash.media.*;
public dynamic class bounce extends Sound {
}
}//package
Section 173
//Bounce_mc (Bounce_mc)
package {
import flash.display.*;
public dynamic class Bounce_mc extends MovieClip {
}
}//package
Section 174
//BusinessMan_mc (BusinessMan_mc)
package {
import flash.display.*;
public dynamic class BusinessMan_mc extends MovieClip {
public var point:MovieClip;
}
}//package
Section 175
//BusinessWoman_mc (BusinessWoman_mc)
package {
import flash.display.*;
public dynamic class BusinessWoman_mc extends MovieClip {
public var point:MovieClip;
}
}//package
Section 176
//button_Back (button_Back)
package {
import ui.binds.*;
public dynamic class button_Back extends BindButton {
}
}//package
Section 177
//button_copy (button_copy)
package {
import ui.binds.*;
public dynamic class button_copy extends BindButton {
}
}//package
Section 178
//button_Credits (button_Credits)
package {
import ui.binds.*;
public dynamic class button_Credits extends BindButton {
}
}//package
Section 179
//button_HighScores (button_HighScores)
package {
import ui.binds.*;
public dynamic class button_HighScores extends BindButton {
}
}//package
Section 180
//button_howToPlay (button_howToPlay)
package {
import ui.binds.*;
public dynamic class button_howToPlay extends BindButton {
}
}//package
Section 181
//button_MainMenu (button_MainMenu)
package {
import ui.binds.*;
public dynamic class button_MainMenu extends BindButton {
}
}//package
Section 182
//button_Music (button_Music)
package {
import ui.binds.*;
public dynamic class button_Music extends BindOption {
}
}//package
Section 183
//button_play (button_play)
package {
import ui.binds.*;
public dynamic class button_play extends BindButton {
}
}//package
Section 184
//button_Quality (button_Quality)
package {
import ui.binds.*;
public dynamic class button_Quality extends BindOption {
}
}//package
Section 185
//button_SendToFriend (button_SendToFriend)
package {
import ui.binds.*;
public dynamic class button_SendToFriend extends BindButton {
}
}//package
Section 186
//button_Sound (button_Sound)
package {
import ui.binds.*;
public dynamic class button_Sound extends BindOption {
}
}//package
Section 187
//button_StartGame (button_StartGame)
package {
import ui.binds.*;
public dynamic class button_StartGame extends BindButton {
}
}//package
Section 188
//button_subimit (button_subimit)
package {
import ui.binds.*;
public dynamic class button_subimit extends BindButton {
}
}//package
Section 189
//button_tryagain (button_tryagain)
package {
import ui.binds.*;
public dynamic class button_tryagain extends BindButton {
}
}//package
Section 190
//collision (collision)
package {
import flash.media.*;
public dynamic class collision extends Sound {
}
}//package
Section 191
//Collision_mc (Collision_mc)
package {
import flash.display.*;
public dynamic class Collision_mc extends MovieClip {
}
}//package
Section 192
//COM_LoadingBar (COM_LoadingBar)
package {
import flash.display.*;
public dynamic class COM_LoadingBar extends MovieClip {
}
}//package
Section 193
//COM_LoadingProgress (COM_LoadingProgress)
package {
import flash.display.*;
public dynamic class COM_LoadingProgress extends MovieClip {
}
}//package
Section 194
//Control (Control)
package {
import flash.display.*;
public dynamic class Control extends MovieClip {
}
}//package
Section 195
//Control_mc (Control_mc)
package {
import flash.display.*;
public dynamic class Control_mc extends MovieClip {
public var strength_mc:Strength_mc;
public var angle_mc:Angle_mc;
}
}//package
Section 196
//DirtyGetter_mc (DirtyGetter_mc)
package {
import flash.display.*;
public dynamic class DirtyGetter_mc extends MovieClip {
public var point:MovieClip;
}
}//package
Section 197
//DirtySetter_mc (DirtySetter_mc)
package {
import flash.display.*;
public dynamic class DirtySetter_mc extends MovieClip {
public var point:MovieClip;
}
}//package
Section 198
//Document (Document)
package {
import flash.display.*;
import ui.*;
import plugins.*;
import zlong.*;
public class Document extends MovieClip {
private var _manager:Manager;
public function Document(){
init();
start();
}
public function del():void{
}
public function init():void{
initData();
initPlugins();
}
public function start():void{
_manager = new Manager(this);
_manager.init();
}
private function initPlugins():void{
GAPlugin.init(this);
HSPlugin.init(this);
}
private function initData():void{
new GameSetting(this, false, "tween", "Subway_Sneeze", "Subway-Sneeze.html", 600, 350);
}
public function end():void{
_manager.del();
_manager = null;
}
}
}//package
Section 199
//Font_back (Font_back)
package {
import zlong.display.*;
public dynamic class Font_back extends TranText {
}
}//package
Section 200
//Font_by (Font_by)
package {
import zlong.display.*;
public dynamic class Font_by extends TranText {
}
}//package
Section 201
//Font_control_angle (Font_control_angle)
package {
import zlong.display.*;
public dynamic class Font_control_angle extends TranText {
}
}//package
Section 202
//Font_control_strength (Font_control_strength)
package {
import zlong.display.*;
public dynamic class Font_control_strength extends TranText {
}
}//package
Section 203
//Font_copy (Font_copy)
package {
import zlong.display.*;
public dynamic class Font_copy extends TranText {
}
}//package
Section 204
//Font_credits (Font_credits)
package {
import zlong.display.*;
public dynamic class Font_credits extends TranText {
}
}//package
Section 205
//Font_distance (Font_distance)
package {
import zlong.display.*;
public dynamic class Font_distance extends TranText {
}
}//package
Section 206
//Font_distance_game_world (Font_distance_game_world)
package {
import zlong.display.*;
public dynamic class Font_distance_game_world extends TranText {
}
}//package
Section 207
//Font_here (Font_here)
package {
import zlong.display.*;
public dynamic class Font_here extends TranText {
}
}//package
Section 208
//Font_highscores (Font_highscores)
package {
import zlong.display.*;
public dynamic class Font_highscores extends TranText {
}
}//package
Section 209
//Font_how_to_play (Font_how_to_play)
package {
import zlong.display.*;
public dynamic class Font_how_to_play extends TranText {
}
}//package
Section 210
//Font_loading (Font_loading)
package {
import zlong.display.*;
public dynamic class Font_loading extends TranText {
}
}//package
Section 211
//Font_main_menu (Font_main_menu)
package {
import zlong.display.*;
public dynamic class Font_main_menu extends TranText {
}
}//package
Section 212
//Font_more_naughty (Font_more_naughty)
package {
import zlong.display.*;
public dynamic class Font_more_naughty extends TranText {
}
}//package
Section 213
//Font_MoreGame (Font_MoreGame)
package {
import zlong.display.*;
public dynamic class Font_MoreGame extends TranText {
}
}//package
Section 214
//Font_name_game_world (Font_name_game_world)
package {
import zlong.display.*;
public dynamic class Font_name_game_world extends TranText {
}
}//package
Section 215
//Font_play (Font_play)
package {
import zlong.display.*;
public dynamic class Font_play extends TranText {
}
}//package
Section 216
//Font_record (Font_record)
package {
import zlong.display.*;
public dynamic class Font_record extends TranText {
}
}//package
Section 217
//Font_score (Font_score)
package {
import zlong.display.*;
public dynamic class Font_score extends TranText {
}
}//package
Section 218
//Font_send_to_friend (Font_send_to_friend)
package {
import zlong.display.*;
public dynamic class Font_send_to_friend extends TranText {
}
}//package
Section 219
//Font_skill_coin (Font_skill_coin)
package {
import zlong.display.*;
public dynamic class Font_skill_coin extends TranText {
}
}//package
Section 220
//Font_startgame (Font_startgame)
package {
import zlong.display.*;
public dynamic class Font_startgame extends TranText {
}
}//package
Section 221
//Font_submit (Font_submit)
package {
import zlong.display.*;
public dynamic class Font_submit extends TranText {
}
}//package
Section 222
//Font_UI_HighScores (Font_UI_HighScores)
package {
import zlong.display.*;
public dynamic class Font_UI_HighScores extends TranText {
}
}//package
Section 223
//Font_UI_HowToPlay (Font_UI_HowToPlay)
package {
import zlong.display.*;
public dynamic class Font_UI_HowToPlay extends TranText {
}
}//package
Section 224
//Font_wanning (Font_wanning)
package {
import zlong.display.*;
public dynamic class Font_wanning extends TranText {
}
}//package
Section 225
//Font_you_message (Font_you_message)
package {
import zlong.display.*;
public dynamic class Font_you_message extends TranText {
}
}//package
Section 226
//Font_you_name (Font_you_name)
package {
import zlong.display.*;
public dynamic class Font_you_name extends TranText {
}
}//package
Section 227
//Font_you_score (Font_you_score)
package {
import zlong.display.*;
public dynamic class Font_you_score extends TranText {
}
}//package
Section 228
//foot (foot)
package {
import flash.media.*;
public dynamic class foot extends Sound {
}
}//package
Section 229
//Front_try_again (Front_try_again)
package {
import zlong.display.*;
public dynamic class Front_try_again extends TranText {
}
}//package
Section 230
//frontGround_mc (frontGround_mc)
package {
import flash.display.*;
public dynamic class frontGround_mc extends MovieClip {
}
}//package
Section 231
//game_com_cn_logo_music (game_com_cn_logo_music)
package {
import flash.media.*;
public dynamic class game_com_cn_logo_music extends Sound {
}
}//package
Section 232
//game_com_cn_logo_music_end (game_com_cn_logo_music_end)
package {
import flash.media.*;
public dynamic class game_com_cn_logo_music_end extends Sound {
}
}//package
Section 233
//Grandma_mc (Grandma_mc)
package {
import flash.display.*;
public dynamic class Grandma_mc extends MovieClip {
public var point:MovieClip;
}
}//package
Section 234
//launch (launch)
package {
import flash.media.*;
public dynamic class launch extends Sound {
}
}//package
Section 235
//Launcher_mc (Launcher_mc)
package {
import flash.display.*;
public dynamic class Launcher_mc extends MovieClip {
public var point:MovieClip;
}
}//package
Section 236
//layer_mc (layer_mc)
package {
import flash.display.*;
public dynamic class layer_mc extends MovieClip {
}
}//package
Section 237
//Lethe_Alert_Page (Lethe_Alert_Page)
package {
import flash.display.*;
public dynamic class Lethe_Alert_Page extends MovieClip {
}
}//package
Section 238
//Lethe_All_Logo (Lethe_All_Logo)
package {
import flash.display.*;
public dynamic class Lethe_All_Logo extends MovieClip {
}
}//package
Section 239
//Lethe_BackGround (Lethe_BackGround)
package {
import flash.display.*;
public dynamic class Lethe_BackGround extends MovieClip {
}
}//package
Section 240
//Lethe_Button_Back (Lethe_Button_Back)
package {
import flash.display.*;
public dynamic class Lethe_Button_Back extends MovieClip {
}
}//package
Section 241
//Lethe_Button_Down (Lethe_Button_Down)
package {
import flash.display.*;
public dynamic class Lethe_Button_Down extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 242
//Lethe_Button_Down2 (Lethe_Button_Down2)
package {
import flash.display.*;
public dynamic class Lethe_Button_Down2 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 243
//Lethe_Button_Down3 (Lethe_Button_Down3)
package {
import flash.display.*;
public dynamic class Lethe_Button_Down3 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 244
//Lethe_Button_Up (Lethe_Button_Up)
package {
import flash.display.*;
public dynamic class Lethe_Button_Up extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 245
//Lethe_Button_Up2 (Lethe_Button_Up2)
package {
import flash.display.*;
public dynamic class Lethe_Button_Up2 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 246
//Lethe_Button_Up3 (Lethe_Button_Up3)
package {
import flash.display.*;
public dynamic class Lethe_Button_Up3 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 247
//Lethe_Continue_Button (Lethe_Continue_Button)
package {
import flash.display.*;
public dynamic class Lethe_Continue_Button extends MovieClip {
public function Lethe_Continue_Button(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 248
//Lethe_Drag_Block (Lethe_Drag_Block)
package {
import flash.display.*;
public dynamic class Lethe_Drag_Block extends MovieClip {
}
}//package
Section 249
//Lethe_DragArea (Lethe_DragArea)
package {
import flash.display.*;
public dynamic class Lethe_DragArea extends MovieClip {
}
}//package
Section 250
//Lethe_FocusLine (Lethe_FocusLine)
package {
import flash.display.*;
public dynamic class Lethe_FocusLine extends MovieClip {
}
}//package
Section 251
//Lethe_LineBack (Lethe_LineBack)
package {
import flash.display.*;
public dynamic class Lethe_LineBack extends MovieClip {
}
}//package
Section 252
//Lethe_LineBack2 (Lethe_LineBack2)
package {
import flash.display.*;
public dynamic class Lethe_LineBack2 extends MovieClip {
}
}//package
Section 253
//Lethe_Link_Button (Lethe_Link_Button)
package {
import flash.display.*;
public dynamic class Lethe_Link_Button extends MovieClip {
public function Lethe_Link_Button(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 254
//Lethe_Loading_Text (Lethe_Loading_Text)
package {
import flash.display.*;
public dynamic class Lethe_Loading_Text extends MovieClip {
}
}//package
Section 255
//Lethe_Message_Loading (Lethe_Message_Loading)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Lethe_Message_Loading extends MovieClip {
public var _t_note:TextField;
public var _m_bar:MovieClip;
}
}//package
Section 256
//Lethe_NET_ERROR (Lethe_NET_ERROR)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Lethe_NET_ERROR extends MovieClip {
public var _t_note:TextField;
}
}//package
Section 257
//Lethe_PreviewMc (Lethe_PreviewMc)
package {
import flash.display.*;
public dynamic class Lethe_PreviewMc extends MovieClip {
}
}//package
Section 258
//Lethe_Scroll_Bar (Lethe_Scroll_Bar)
package {
import flash.display.*;
public dynamic class Lethe_Scroll_Bar extends MovieClip {
}
}//package
Section 259
//Lethe_Scroll_Down (Lethe_Scroll_Down)
package {
import flash.display.*;
public dynamic class Lethe_Scroll_Down extends MovieClip {
}
}//package
Section 260
//Lethe_Scroll_Up (Lethe_Scroll_Up)
package {
import flash.display.*;
public dynamic class Lethe_Scroll_Up extends MovieClip {
}
}//package
Section 261
//Lethe_Text1 (Lethe_Text1)
package {
import flash.display.*;
public dynamic class Lethe_Text1 extends MovieClip {
}
}//package
Section 262
//Lethe_Text2 (Lethe_Text2)
package {
import flash.display.*;
public dynamic class Lethe_Text2 extends MovieClip {
}
}//package
Section 263
//Lethe_Text3 (Lethe_Text3)
package {
import flash.display.*;
public dynamic class Lethe_Text3 extends MovieClip {
}
}//package
Section 264
//menuPress (menuPress)
package {
import flash.media.*;
public dynamic class menuPress extends Sound {
}
}//package
Section 265
//menuTouch (menuTouch)
package {
import flash.media.*;
public dynamic class menuTouch extends Sound {
}
}//package
Section 266
//MoreGamesLogo (MoreGamesLogo)
package {
import zlong.display.*;
public dynamic class MoreGamesLogo extends ExtButton {
public var __id0_:Logo;
public function MoreGamesLogo(){
__setProp___id0__MoreGamesLogo_Layer4_1();
}
function __setProp___id0__MoreGamesLogo_Layer4_1(){
try {
__id0_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id0_.alignHorizontal = "Center";
__id0_.alignVertical = "Down";
__id0_.maxHeight = 18;
__id0_.maxWidth = 150;
__id0_.position = "logo_preloader";
try {
__id0_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 267
//O11111111 (O11111111)
package {
import flash.net.*;
import flash.events.*;
import flash.display.*;
import O11111110.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
public class O11111111 extends MovieClip {
private const O11111OO1:Array;
private var O11111OO0:Number;
private var O11111OOO:MovieClip;
private var O11111OOl;
private var O11111O01:Boolean;// = false
private var O11111O00;
private var O11111O0O:Loader;
private var O11111O0l;
private var O111111l1:String;
private var O111111lO:int;
private var O111111ll:Number;
private var O11111l11;
private var oddLineColor:Number;
private var O111111O0:String;
private var O111111O1:String;
private var O11111l1O;
private var O11111Ol0:MovieClip;
private var O11111Ol1:Array;
private var O111111OO:String;
private var O111111Ol:String;
private var O11111OlO:String;
private var O1111100O1:int;
private var O11111Oll:Boolean;
private var evenLineColor:Number;
private var selfLineColor:Number;
public function O11111111():void{
var O11111l1l:int;
var O11111l10:*;
O11111O01 = false;
O11111OO1 = ["Failed to get highscores.", "Failed to get highscores.", "Failed to get highscores.", "Failed to get highscores.", "Ophalen van de highscores mislukt", "Classement échoué.", "Highscores konnten nicht geladen werden.", "Error al cargar las puntuaciones máximas.", "Os recordes não foram recebidos.", "Não conseguiu obter uma das melhores pontuações", "Impossibile recuperare dati sui record.", "Kunde ej hämta toppoäng.", "Pobieranie rankingu nie powiodło się.", "Ошибка! Получить данные о рекордах не удалось!", "Yüksek skorlar alınamadı.", "Gagal untuk mendapatkan skor tertinggi", "Gagal mendapatkan skor tertinggi.", "ハイスコア情報の取得に失敗しました", "获取排行榜失败"];
super();
Security.allowDomain("*");
O11111OOl = this.parent;
O11111OOl.stop();
O11111l1l = 0;
while (true) {
try {
O11111l10 = O11111OOl.getChildAt(O11111l1l);
if ((O11111l10 is MovieClip)){
O11111l10.visible = false;
} else {
O11111OOl.removeChild(O11111l10);
};
O11111l1l = (O11111l1l + 1);
} catch(O11111llO:Error) {
break;
};
};
try {
O11111OOl["O111111O"] = O111110lO;
} catch(O11111llO:Error) {
};
}
private function O1111100O(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(1);
}
private function O1111O1l1(_arg1):void{
removeEventListener(Event.ENTER_FRAME, O111110ll);
O11111l11.visible = true;
O11111O00.text = O11111OO1[(O1111111l.O11111OlO().O11111O0O() - 1)];
}
public function getData():XML{
if (O11111l1O){
return (O11111l1O.O0000022);
};
return (null);
}
private function O1111100l(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(3);
}
private function O1111O1lO(_arg1:Event):void{
O11111OOl.dispatchEvent(_arg1);
}
public function O11111O11():void{
if (O11111l1O != null){
O11111l1O.O11111l0O();
};
}
public function get O11111O10():Boolean{
return (O11111O01);
}
private function O1111O1O0(_arg1:String){
return (getDefinitionByName(_arg1));
}
public function O11111O1O():void{
if (O11111l1O != null){
O11111l1O.O11111l1l();
};
}
public function O11111O1l(_arg1:int, _arg2:String):void{
if (O11111l1O != null){
O11111l1O.O11111l10(_arg1, _arg2);
};
}
private function O1111O1O1():void{
var O111110O1:*;
var O111110OO:*;
var O111110Ol:*;
var O111110O0:*;
var O11111l1l:int;
var O11111l01:int;
var O1111101l:*;
var O11111l10:*;
var O111110l1:*;
O111110O1 = getDefinitionByName("Lethe_Button_Back");
O111110OO = getDefinitionByName("Lethe_Loading_Text");
O111110Ol = getDefinitionByName("COM_LoadingProgress");
O111110O0 = getDefinitionByName("Lethe_Text3");
O11111l1l = 0;
O11111l01 = 0;
while (true) {
try {
O11111l10 = O11111OOO.getChildAt(O11111l1l);
if ((O11111l10 is O111110O1)){
O11111l11 = O11111l10;
O11111001(O11111l11);
O11111l01 = 0;
while (true) {
try {
O1111101l = O11111l11.getChildAt(O11111l01);
if ((O1111101l is O111110O0)){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O0O());
break;
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
O11111l11.visible = false;
try {
O11111l10.removeEventListener(MouseEvent.CLICK, O1111O1OO);
} catch(e:Error) {
};
O11111l10.addEventListener(MouseEvent.CLICK, O1111O1OO, false, 0, true);
} else {
if ((O11111l10 is O111110OO)){
O11111l01 = 0;
while (true) {
try {
O111110l1 = O11111l10.getChildAt(O11111l01);
if ((O111110l1 is TextField)){
O11111O00 = O111110l1;
break;
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
} else {
if ((O11111l10 is O111110Ol)){
O11111O0l = O11111l10;
O11111O0l.stop();
};
};
};
O11111l1l = (O11111l1l + 1);
} catch(O11111llO:Error) {
break;
};
};
}
private function O1111O1OO(_arg1:MouseEvent):void{
this.O1111O1lO(new Event("00000100110"));
}
private function O1111O1Ol(_arg1:Event):void{
this.dispatchEvent(new Event(Event.COMPLETE));
O11111l1O = _arg1.currentTarget.content;
O11111l1O.addEventListener("000111000100", O1111O1lO);
O11111l1O.addEventListener("00111111000", O1111O1lO);
O11111l1O.addEventListener("000000000000", O1111O1lO);
O11111l1O.addEventListener("010101010100", O1111O1lO);
O11111l1O.addEventListener("000001111111", O1111O1lO);
O11111l1O.addEventListener("O1111lOl02", O1111O1lO);
O11111l1O.O11111l12(O1111O1O0("Lethe_NET_ERROR"), O1111O1O0("Lethe_Message_Loading"));
O11111l1O.O11111l1O(O11111OO0, O111111lO, O111111ll, O111111Ol, O11111O10, O1111111l.O11111OlO().O11111OOO, O111111O1, evenLineColor, oddLineColor, 0, selfLineColor);
O11111l1O.O11111l11(O1111O1O0("Lethe_BackGround"), O1111O1O0("Lethe_Button_Down"), O1111O1O0("Lethe_Button_Down2"), O1111O1O0("Lethe_Button_Down3"), O1111O1O0("Lethe_Button_Up"), O1111O1O0("Lethe_Button_Up2"), O1111O1O0("Lethe_Button_Up3"), O1111O1O0("Lethe_FocusLine"), O1111O1O0("Lethe_LineBack"), O1111O1O0("Lethe_LineBack2"), O1111O1O0("Lethe_Scroll_Bar"), O1111O1O0("Lethe_Drag_Block"), O1111O1O0("Lethe_Scroll_Up"), O1111O1O0("Lethe_Scroll_Down"), O1111O1O0("Lethe_DragArea"));
O11111O1O();
}
public function set O11111O10(_arg1:Boolean):void{
var _local2:LocalConnection;
var _local3:String;
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:O1111111O;
O11111O01 = _arg1;
O11111Ol1 = ["www8.agame.com", "www.zlonggames.com", "gamedev.dev.spillgroup.com", "gamedev.dev.spilgames.com", "www.zlonggamestest.com"];
_local2 = new LocalConnection();
if (_local2.domain != "localhost"){
_local4 = _local2.domain.split(".");
_local5 = (_local4.length - 1);
_local6 = (_local4.length - 2);
O11111OlO = ((_local4[_local6] + ".") + _local4[_local5]);
} else {
O11111OlO = "localhost";
};
O1111111l.O11111OlO().O11111Oll(O11111OlO, O111111Ol, O111111O0, O1111100O1);
if (((isNaN(O11111OO0)) || (isNaN(O111111lO)))){
O111110l0();
return;
};
for each (_local3 in O11111Ol1) {
if (_local2.domain == _local3){
_local7 = new O1111111O();
if (_local7.O11111OO1()){
O11111Oll = true;
O1111O110();
return;
};
O111110l0();
return;
};
};
O111110l0();
}
private function O1111O110():void{
var _local1:*;
stop();
O11111O0O = new Loader();
O11111O0O.load(new URLRequest(O111111l1));
O11111OOl.addChildAt(O11111O0O, 0);
this.addEventListener(Event.ENTER_FRAME, O111110ll);
O11111O0O.contentLoaderInfo.addEventListener(Event.COMPLETE, O1111O1Ol);
O11111O0O.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, O1111O1l1);
O11111O0O.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, O1111O1l1);
_local1 = getDefinitionByName("COM_LoadingBar");
if (_local1 != null){
O11111OOO = new (_local1);
O11111OOl.addChild(O11111OOO);
O1111O1O1();
};
}
private function O1111O111():void{
var O11111l1l:int;
var O11111l01:int;
var O11111l0O:*;
var O11111l0l:*;
var O11111l00:*;
var O11111011:*;
var O1111101O:*;
var O1111101l:*;
var O11111l10:*;
O11111l1l = 0;
O11111l01 = 0;
O11111l0O = getDefinitionByName("Lethe_Continue_Button");
O11111l0l = getDefinitionByName("Lethe_Link_Button");
O11111l00 = getDefinitionByName("Lethe_Text1");
O11111011 = getDefinitionByName("Lethe_Text2");
O1111101O = getDefinitionByName("Lethe_All_Logo");
while (true) {
try {
O11111l10 = O11111Ol0.getChildAt(O11111l1l);
if ((O11111l10 is O11111l0O)){
O11111001(O11111l10);
try {
O11111l10.removeEventListener(MouseEvent.CLICK, O1111O11l);
} catch(e:Error) {
};
O11111l10.addEventListener(MouseEvent.CLICK, O1111O11l, false, 0, true);
O11111l01 = 0;
while (true) {
try {
O1111101l = O11111l10.getChildAt(O11111l01);
if ((((O1111101l is O11111l00)) || ((O1111101l is O11111011)))){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O0O());
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
} else {
if ((O11111l10 is O11111l0l)){
try {
O11111l10.removeEventListener(MouseEvent.CLICK, O1111O11O);
} catch(e:Error) {
};
O11111l10.addEventListener(MouseEvent.CLICK, O1111O11O, false, 0, true);
O11111001(O11111l10);
O11111l01 = 0;
while (true) {
try {
O1111101l = O11111l10.getChildAt(O11111l01);
if ((((O1111101l is O11111l00)) || ((O1111101l is O11111011)))){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O0O());
} else {
if ((O1111101l is O1111101O)){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O01());
};
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
};
};
O11111l1l = (O11111l1l + 1);
} catch(O11111llO:Error) {
break;
};
};
}
public function O111111l0():Boolean{
return (O11111Oll);
}
private function O1111O11l(_arg1:MouseEvent):void{
this.O1111O1lO(new Event("000111000100"));
}
private function O1111O11O(_arg1:MouseEvent):void{
O1111111l.O11111OlO().O11111O0l();
this.O1111O1lO(new Event("00111111000"));
}
private function O111110l0():void{
var O11111ll0:*;
if (O11111OOO != null){
O11111OOl.removeChild(O11111OOO);
O11111OOO = null;
};
if (O11111Ol0 == null){
try {
O11111ll0 = getDefinitionByName("Lethe_Alert_Page");
O11111Ol0 = new (O11111ll0);
O11111OOl.addChild(O11111Ol0);
O1111O111();
} catch(O11111llO:Error) {
};
};
}
private function O111110lO(_arg1=null, _arg2:String="default", _arg3="", _arg4:int=0, _arg5:String="normal", _arg6:int=1, _arg7:Number=0x515151, _arg8:Number=0x515151, _arg9:Number=0x515151, _arg10:int=0):void{
O11111OOl["O11111O10"] = O11111O1l;
O11111OOl["O11111O11"] = O11111O1O;
O11111OOl["O11111100"] = O111111l0;
O11111OOl["O11111101"] = O11111101;
O11111OOl["O1100000l"] = O10000101;
O11111OOl["O00001112"] = getData;
O11111OOl["O1111110l"] = O1111110l;
O11111OOl["O111111001"] = O11111100;
O11111OOl["O111111010"] = O11111O11;
O1111111l.O11111OlO().O11111Ol0("en_us");
evenLineColor = _arg7;
oddLineColor = _arg8;
selfLineColor = _arg9;
O1111100O1 = _arg6;
O111111O1 = _arg5;
O111111Ol = _arg2;
if (_arg3 == ""){
O111111O0 = O111111Ol;
} else {
O111111O0 = _arg3;
};
O111111ll = _arg4;
if (((!((_arg1 == null))) && (!((_arg1.loaderInfo == null))))){
if (_arg10 == 0){
O11111OO0 = Number(_arg1.loaderInfo.parameters["id"]);
O111111lO = Number(_arg1.loaderInfo.parameters["s"]);
} else {
O11111OO0 = Number(_arg1.loaderInfo.parameters[("id" + _arg10)]);
O111111lO = Number(_arg1.loaderInfo.parameters[("s" + _arg10)]);
};
O111111l1 = "http://www8.agame.com/games/flash/highscore/Submiter.swf?v=117";
O11111O10 = true;
};
}
private function O111110ll(_arg1:Event):void{
var _local2:int;
_local2 = (((O11111O0O.contentLoaderInfo.bytesLoaded / O11111O0O.contentLoaderInfo.bytesTotal) * 100) >> 0);
if (_local2 == 0){
O11111O0l.gotoAndStop(1);
} else {
O11111O0l.gotoAndStop(_local2);
};
O11111O00.text = (String(_local2) + "%");
if (_local2 >= 100){
O11111l11 = null;
O11111O0l = null;
O11111O00 = null;
removeEventListener(Event.ENTER_FRAME, O111110ll);
O11111OOl.removeChild(O11111OOO);
O11111OOO = null;
};
}
public function O11111100():void{
if (O11111l1O != null){
O11111l1O.O11111l0l();
};
}
public function O11111101():Boolean{
return (!((O11111l1O == null)));
}
public function O1111110O(_arg1:Number, _arg2:Number):void{
if (O11111O0O){
O11111O0O.scaleX = (_arg1 / 460);
O11111O0O.scaleY = (_arg2 / 300);
};
}
public function O1111110l():void{
if (O11111l1O != null){
O11111l1O.O11111l00();
};
}
private function O11111000(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(2);
}
private function O11111001(_arg1):void{
var _btn = _arg1;
_btn.stop();
_btn.mouseChildren = false;
_btn.buttonMode = true;
try {
_btn.removeEventListener(MouseEvent.MOUSE_OVER, O11111000);
_btn.removeEventListener(MouseEvent.MOUSE_DOWN, O1111100l);
_btn.removeEventListener(MouseEvent.MOUSE_OUT, O1111100O);
_btn.removeEventListener(MouseEvent.MOUSE_UP, O1111100O);
} catch(e:Error) {
};
_btn.addEventListener(MouseEvent.MOUSE_OVER, O11111000, false, 0, true);
_btn.addEventListener(MouseEvent.MOUSE_DOWN, O1111100l, false, 0, true);
_btn.addEventListener(MouseEvent.MOUSE_OUT, O1111100O, false, 0, true);
_btn.addEventListener(MouseEvent.MOUSE_UP, O1111100O, false, 0, true);
}
public function O10000101(_arg1:String):void{
var _langType = _arg1;
O1111111l.O11111OlO().O11111Ol0(_langType);
try {
O1111O111();
} catch(e:Error) {
};
try {
O1111O1O1();
} catch(e:Error) {
};
try {
O11111O00.text = O11111OO1[(O1111111l.O11111OlO().O11111O0O() - 1)];
} catch(e:Error) {
};
try {
O11111l1O.O0100010((O1111111l.O11111OlO().getOldOrder() + 1));
} catch(e:Error) {
};
}
}
}//package
Section 268
//O11111OO11 (O11111OO11)
package {
import flash.display.*;
public dynamic class O11111OO11 extends MovieClip {
}
}//package
Section 269
//Player_Skill (Player_Skill)
package {
import flash.display.*;
public dynamic class Player_Skill extends MovieClip {
}
}//package
Section 270
//ready (ready)
package {
import flash.media.*;
public dynamic class ready extends Sound {
}
}//package
Section 271
//receive (receive)
package {
import flash.media.*;
public dynamic class receive extends Sound {
}
}//package
Section 272
//SchoolBoy_mc (SchoolBoy_mc)
package {
import flash.display.*;
public dynamic class SchoolBoy_mc extends MovieClip {
public var point:MovieClip;
}
}//package
Section 273
//SchoolGirl_mc (SchoolGirl_mc)
package {
import flash.display.*;
public dynamic class SchoolGirl_mc extends MovieClip {
public var point:MovieClip;
}
}//package
Section 274
//Skill_btn (Skill_btn)
package {
import ui.binds.*;
public dynamic class Skill_btn extends BindSkill {
}
}//package
Section 275
//Station_B (Station_B)
package {
import flash.display.*;
import zlong.display.*;
public dynamic class Station_B extends MovieClip {
public var __id10_:Logo;
public var point:MovieClip;
public function Station_B(){
__setProp___id10__Station_B_Layer3_1();
}
function __setProp___id10__Station_B_Layer3_1(){
try {
__id10_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id10_.alignHorizontal = "Center";
__id10_.alignVertical = "Center";
__id10_.maxHeight = 40;
__id10_.maxWidth = 150;
__id10_.position = "logo_level";
try {
__id10_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 276
//Station_F (Station_F)
package {
import flash.display.*;
import zlong.display.*;
public dynamic class Station_F extends MovieClip {
public var __id11_:Logo;
public var point:MovieClip;
public function Station_F(){
__setProp___id11__Station_F_Layer3_1();
}
function __setProp___id11__Station_F_Layer3_1(){
try {
__id11_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id11_.alignHorizontal = "Center";
__id11_.alignVertical = "Center";
__id11_.maxHeight = 40;
__id11_.maxWidth = 150;
__id11_.position = "logo_level";
try {
__id11_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 277
//Station_M (Station_M)
package {
import flash.display.*;
import zlong.display.*;
public dynamic class Station_M extends MovieClip {
public var __id12_:Logo;
public var point:MovieClip;
public function Station_M(){
__setProp___id12__Station_M_Layer3_1();
}
function __setProp___id12__Station_M_Layer3_1(){
try {
__id12_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id12_.alignHorizontal = "Center";
__id12_.alignVertical = "Center";
__id12_.maxHeight = 40;
__id12_.maxWidth = 150;
__id12_.position = "logo_level";
try {
__id12_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 278
//Strength_mc (Strength_mc)
package {
import flash.display.*;
public dynamic class Strength_mc extends MovieClip {
}
}//package
Section 279
//subwaysneeze_all (subwaysneeze_all)
package {
import zlong.display.*;
public dynamic class subwaysneeze_all extends TranText {
}
}//package
Section 280
//subwaysneeze_logo2 (subwaysneeze_logo2)
package {
import zlong.display.*;
public dynamic class subwaysneeze_logo2 extends TranText {
}
}//package
Section 281
//Train_B (Train_B)
package {
import flash.display.*;
public dynamic class Train_B extends MovieClip {
public var point:MovieClip;
}
}//package
Section 282
//Train_F (Train_F)
package {
import flash.display.*;
public dynamic class Train_F extends MovieClip {
public var point:MovieClip;
}
}//package
Section 283
//Train_M (Train_M)
package {
import flash.display.*;
public dynamic class Train_M extends MovieClip {
public var point:MovieClip;
}
}//package
Section 284
//Tunnel_B (Tunnel_B)
package {
import flash.display.*;
public dynamic class Tunnel_B extends MovieClip {
public var point:MovieClip;
}
}//package
Section 285
//Tunnel_F (Tunnel_F)
package {
import flash.display.*;
public dynamic class Tunnel_F extends MovieClip {
public var point:MovieClip;
}
}//package
Section 286
//Tunnel_M (Tunnel_M)
package {
import flash.display.*;
public dynamic class Tunnel_M extends MovieClip {
public var point:MovieClip;
}
}//package
Section 287
//UI_ChineseLogo (UI_ChineseLogo)
package {
import flash.net.*;
import flash.events.*;
import flash.display.*;
public dynamic class UI_ChineseLogo extends MovieClip {
public function UI_ChineseLogo(){
addFrameScript(0, frame1, 7, frame8, 152, frame153, 239, frame240);
}
function frame153(){
}
public function onRemove(_arg1:Event){
this.removeEventListener("click", onPressLogo);
this.removeEventListener(Event.REMOVED_FROM_STAGE, onRemove);
}
function frame1(){
this.addEventListener("click", onPressLogo);
this.buttonMode = true;
this.addEventListener(Event.REMOVED_FROM_STAGE, onRemove);
}
public function onPressLogo(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.game.com.cn"), "_blank");
}
function frame8(){
}
function frame240(){
stop();
}
}
}//package
Section 288
//UI_Credits (UI_Credits)
package {
import flash.display.*;
import zlong.display.*;
public dynamic class UI_Credits extends MovieClip {
public var back_btn:button_Back;
public var __id2_:Logo;
public function UI_Credits(){
__setProp___id2__UI_Credits_spilGames_btn_1();
}
function __setProp___id2__UI_Credits_spilGames_btn_1(){
try {
__id2_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id2_.alignHorizontal = "Center";
__id2_.alignVertical = "Center";
__id2_.maxHeight = 40;
__id2_.maxWidth = 150;
__id2_.position = "logo_credits";
try {
__id2_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 289
//UI_EnglishLogo (UI_EnglishLogo)
package {
import flash.display.*;
public dynamic class UI_EnglishLogo extends MovieClip {
}
}//package
Section 290
//UI_GameOver (UI_GameOver)
package {
import flash.display.*;
import flash.text.*;
import zlong.display.*;
public dynamic class UI_GameOver extends MovieClip {
public var send_btn:button_SendToFriend;
public var warning_mc:MovieClip;
public var score_txt:TextField;
public var submit_btn:button_subimit;
public var name_txt:TextField;
public var __id3_:Logo;
public var again_btn:button_tryagain;
public function UI_GameOver(){
__setProp___id3__UI_GameOver_text_1();
}
function __setProp___id3__UI_GameOver_text_1(){
try {
__id3_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id3_.alignHorizontal = "Center";
__id3_.alignVertical = "Center";
__id3_.maxHeight = 40;
__id3_.maxWidth = 150;
__id3_.position = "logo_gameover";
try {
__id3_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 291
//UI_GameWorld (UI_GameWorld)
package {
import flash.display.*;
import zlong.display.*;
public dynamic class UI_GameWorld extends MovieClip {
public var quality_btn:button_Quality;
public var sound_btn:button_Sound;
public var record_mc:MovieClip;
public var score_mc:MovieClip;
public var music_btn:button_Music;
public var grnadma_mc:MovieClip;
public var tip_mc:MovieClip;
public var skill_1:Skill_btn;
public var skill_3:Skill_btn;
public var skill_2:Skill_btn;
public var __id4_:Logo;
public function UI_GameWorld(){
__setProp___id4__UI_GameWorld_Layer1_1();
}
function __setProp___id4__UI_GameWorld_Layer1_1(){
try {
__id4_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id4_.alignHorizontal = "Center";
__id4_.alignVertical = "Center";
__id4_.maxHeight = 40;
__id4_.maxWidth = 150;
__id4_.position = "logo_playingGame";
try {
__id4_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 292
//UI_HighScores (UI_HighScores)
package {
import flash.display.*;
import zlong.display.*;
public dynamic class UI_HighScores extends MovieClip {
public var back_btn:button_Back;
public var __id5_:Logo;
public var send_btn:button_SendToFriend;
public var credits_btn:button_Credits;
public var mainMenu_btn:button_MainMenu;
public function UI_HighScores(){
__setProp___id5__UI_HighScores_MC_button_back_1();
}
function __setProp___id5__UI_HighScores_MC_button_back_1(){
try {
__id5_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id5_.alignHorizontal = "Center";
__id5_.alignVertical = "Center";
__id5_.maxHeight = 40;
__id5_.maxWidth = 150;
__id5_.position = "logo_highscore";
try {
__id5_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 293
//UI_HowToPlay (UI_HowToPlay)
package {
import flash.display.*;
import zlong.display.*;
public dynamic class UI_HowToPlay extends MovieClip {
public var back_btn:button_Back;
public var __id6_:Logo;
public var play_btn:button_play;
public function UI_HowToPlay(){
__setProp___id6__UI_HowToPlay_content_1();
}
function __setProp___id6__UI_HowToPlay_content_1(){
try {
__id6_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id6_.alignHorizontal = "Center";
__id6_.alignVertical = "Center";
__id6_.maxHeight = 40;
__id6_.maxWidth = 150;
__id6_.position = "logo_howtoplay";
try {
__id6_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 294
//UI_LoadFromFriend (UI_LoadFromFriend)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_LoadFromFriend extends MovieClip {
public var startGame_btn:button_StartGame;
public var message_txt:TextField;
public var score_txt:TextField;
public var __id7_:MoreGamesLogo;
public var name_txt:TextField;
public function UI_LoadFromFriend(){
__setProp___id7__UI_LoadFromFriend_button_moregame_1();
}
function __setProp___id7__UI_LoadFromFriend_button_moregame_1(){
try {
__id7_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id7_.position = "button_sendtofriend_moregames";
__id7_.type = "moregames";
try {
__id7_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 295
//UI_Loading (UI_Loading)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_Loading extends MovieClip {
public var message_txt:TextField;
public var progress_mc:MovieClip;
}
}//package
Section 296
//UI_MainMenu (UI_MainMenu)
package {
import flash.display.*;
public dynamic class UI_MainMenu extends MovieClip {
public var howToPlay_btn:button_howToPlay;
public var quality_btn:button_Quality;
public var startGame_btn:button_StartGame;
public var sound_btn:button_Sound;
public var __id8_:MoreGamesLogo;
public var music_btn:button_Music;
public var highScores_btn:button_HighScores;
public function UI_MainMenu(){
__setProp___id8__UI_MainMenu_logo_1();
}
function __setProp___id8__UI_MainMenu_logo_1(){
try {
__id8_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id8_.position = "button_mainscreen_moregames";
__id8_.type = "moregames";
try {
__id8_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 297
//UI_SendToFriend (UI_SendToFriend)
package {
import flash.display.*;
import flash.text.*;
import zlong.display.*;
public dynamic class UI_SendToFriend extends MovieClip {
public var back_btn:button_Back;
public var message_txt:TextField;
public var score_txt:TextField;
public var mainMenu_btn:button_MainMenu;
public var __id9_:Logo;
public var copy_btn:button_copy;
public var name_txt:TextField;
public var website_txt:TextField;
public function UI_SendToFriend(){
__setProp___id9__UI_SendToFriend_text_1();
}
function __setProp___id9__UI_SendToFriend_text_1(){
try {
__id9_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id9_.alignHorizontal = "Center";
__id9_.alignVertical = "Center";
__id9_.maxHeight = 40;
__id9_.maxWidth = 150;
__id9_.position = "logo_sendtofriend";
try {
__id9_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package