Section 1
//Filters (as3lib.display.Filters)
package as3lib.display {
import flash.filters.*;
public class Filters {
private static var _outlines:GlowFilter;
private static var _dropShaddow:DropShadowFilter;
private static var _dropShaddow2:DropShadowFilter;
private static var _blurFilter:BlurFilter;
public static function getBlurFilter():BlurFilter{
if (!_blurFilter){
_blurFilter = new BlurFilter(30, 30, 1);
};
return (_blurFilter);
}
public static function getDropShaddowFilter2():DropShadowFilter{
if (!_dropShaddow2){
_dropShaddow2 = new DropShadowFilter(0, 45, 0, 0.3, 10, 10);
};
return (_dropShaddow2);
}
public static function getDropShaddowFilter():DropShadowFilter{
if (!_dropShaddow){
_dropShaddow = new DropShadowFilter(6, 45, 0, 0.3);
};
return (_dropShaddow);
}
}
}//package as3lib.display
Section 2
//ArrayTools (as3lib.utils.ArrayTools)
package as3lib.utils {
public class ArrayTools {
public static function contains(_arg1:Array, _arg2:Object):Boolean{
var _local3:Boolean;
var _local4:Number = 0;
while (_local4 < _arg1.length) {
if (_arg2 == _arg1[_local4]){
_local3 = true;
break;
};
_local4++;
};
return (_local3);
}
public static function removeItem(_arg1:Array, _arg2:Object):void{
var _local3:Number = 0;
while (_local3 < _arg1.length) {
if (_arg2 == _arg1[_local3]){
_arg1.splice(_local3, 1);
};
_local3++;
};
}
}
}//package as3lib.utils
Section 3
//DisplayTools (as3lib.utils.DisplayTools)
package as3lib.utils {
import flash.display.*;
import flash.filters.*;
import flash.geom.*;
public class DisplayTools {
public static function setBrightness(_arg1:DisplayObject, _arg2:Number):void{
var _local3:ColorTransform = new ColorTransform();
_local3.redOffset = (_arg2 * 0xFF);
_local3.greenOffset = (_arg2 * 0xFF);
_local3.blueOffset = (_arg2 * 0xFF);
_arg1.transform.colorTransform = _local3;
}
public static function getBlurFilter(_arg1:Number, _arg2:Number, _arg3:Number=1):BlurFilter{
var _local4:BlurFilter = new BlurFilter();
_local4.blurX = _arg1;
_local4.blurY = _arg2;
_local4.quality = _arg3;
return (_local4);
}
public static function removeAllChildrenFrom(_arg1:DisplayObjectContainer):void{
while (_arg1.numChildren > 0) {
_arg1.removeChildAt(0);
};
}
public static function getGlowFilter(_arg1:Number=0xFFFF00, _arg2:Number=10):GlowFilter{
var _local3:GlowFilter = new GlowFilter();
_local3.color = _arg1;
_local3.alpha = 1;
_local3.blurX = _arg2;
_local3.blurY = _arg2;
_local3.strength = 10;
return (_local3);
}
public static function getDropShadowFilter(_arg1:Number=0, _arg2:Number=45, _arg3:Number=0, _arg4:Number=1, _arg5:Number=5, _arg6:Number=5, _arg7:Number=0.6):DropShadowFilter{
var _local8:DropShadowFilter = new DropShadowFilter();
_local8.distance = _arg1;
_local8.angle = _arg2;
_local8.color = _arg3;
_local8.alpha = _arg4;
_local8.blurX = _arg5;
_local8.blurY = _arg6;
_local8.strength = _arg7;
return (_local8);
}
public static function setColour(_arg1:DisplayObject, _arg2:int, _arg3:int, _arg4:int):void{
var _local5:ColorTransform = _arg1.transform.colorTransform;
_local5.redOffset = _arg2;
_local5.greenOffset = _arg3;
_local5.blueOffset = _arg4;
_arg1.transform.colorTransform = _local5;
}
public static function getShapeRect(_arg1:Number, _arg2:Number, _arg3:Number=0xFFFFFF, _arg4:Number=1, _arg5:int=0, _arg6=0, _arg7:Number=1):Shape{
var _local8:Shape = new Shape();
_local8.graphics.lineStyle(_arg5, _arg6, _arg7);
_local8.graphics.beginFill(_arg3, _arg4);
_local8.graphics.drawRect(0, 0, _arg1, _arg2);
_local8.graphics.endFill();
return (_local8);
}
}
}//package as3lib.utils
Section 4
//HitTest (as3lib.utils.HitTest)
package as3lib.utils {
public class HitTest {
public static function lineToLineIntersection(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):Object{
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local9:Object = {b:false, x:0, y:0};
_local12 = (((_arg3 - _arg1) * (_arg8 - _arg6)) - ((_arg4 - _arg2) * (_arg7 - _arg5)));
if (_local12 != 0){
_local10 = ((((_arg2 - _arg6) * (_arg7 - _arg5)) - ((_arg1 - _arg5) * (_arg8 - _arg6))) / _local12);
_local11 = ((((_arg2 - _arg6) * (_arg3 - _arg1)) - ((_arg1 - _arg5) * (_arg4 - _arg2))) / _local12);
if ((((_local10 >= 0)) && ((_local10 <= 1)))){
if ((((_local11 >= 0)) && ((_local11 <= 1)))){
_local9.b = true;
_local9.x = (_arg1 + (_local10 * (_arg3 - _arg1)));
_local9.y = (_arg2 + (_local10 * (_arg4 - _arg2)));
};
};
};
return (_local9);
}
}
}//package as3lib.utils
Section 5
//NumberUtils (as3lib.utils.NumberUtils)
package as3lib.utils {
import flash.geom.*;
public class NumberUtils {
public static var sineTable:Array;
public static var cosTable:Array;
public static var initialised:Boolean;
public static function initialiseSinCos():void{
sineTable = [];
var _local1:int;
while (_local1 < 360) {
sineTable[_local1] = Math.sin(((Math.PI / 180) * _local1));
_local1++;
};
cosTable = [];
var _local2:int;
while (_local2 < 360) {
cosTable[_local2] = Math.cos(((Math.PI / 180) * _local2));
_local2++;
};
initialised = true;
}
public static function interpolate(_arg1:Number, _arg2:Number, _arg3:Number):Number{
return ((_arg2 + ((_arg3 - _arg2) * _arg1)));
}
public static function quickSin(_arg1:Number):Number{
if (!initialised){
initialiseSinCos();
};
return (sineTable[int(_arg1)]);
}
public static function normalize(_arg1:Number, _arg2:Number, _arg3:Number):Number{
return (((_arg1 - _arg2) / (_arg3 - _arg2)));
}
public static function quickCos(_arg1:Number):Number{
if (!initialised){
initialiseSinCos();
};
return (cosTable[int(_arg1)]);
}
public static function rotatePointByAngle(_arg1:Point, _arg2:Number):void{
var _local3:Number = _arg2;
var _local4:Number = _arg2;
if (_arg2 < 0){
_local3 = (180 - _arg2);
_local4 = (360 + _arg2);
};
var _local5:Number = quickCos(_local4);
var _local6:Number = quickSin(_local3);
var _local7:Number = _arg1.x;
var _local8:Number = _arg1.y;
var _local9:Number = ((_local5 * _local7) - (_local6 * _local8));
var _local10:Number = ((_local5 * _local8) + (_local6 * _local7));
_arg1.x = Math.round(_local9);
_arg1.y = Math.round(_local10);
}
public static function map(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{
return (interpolate(normalize(_arg1, _arg2, _arg3), _arg4, _arg5));
}
}
}//package as3lib.utils
Section 6
//CustomEvent (as3lib.CustomEvent)
package as3lib {
import flash.events.*;
public class CustomEvent extends Event {
protected var _data:Object;
protected var _type:String;
public static const LOAD_COMPLETE:String = "loadComplete";
public static const READY:String = "ready";
public static const CANCEL:String = "cancel";
public static const START_DRAG:String = "startDrag";
public static const HOVER:String = "hover";
public static const FAIL:String = "fail";
public static const DELETE:String = "delete";
public static const OUT:String = "out";
public static const CHANGE:String = "change";
public static const PREV:String = "prev";
public static const INTERACT:String = "interact";
public static const COMPLETE:String = "complete";
public static const EXIT_COMPLETE:String = "exitComplete";
public static const DESELECT:String = "deselect";
public static const INTERACT_FINISH:String = "interactFinish";
public static const EXIT_MIDPOINT:String = "exitMidpoint";
public static const OPEN:String = "open";
public static const OVER:String = "over";
public static const CLOSE:String = "close";
public static const SUCCESS:String = "successs";
public static const PLAY_COMPLETE:String = "playComplete";
public static const ENTER_COMPLETE:String = "enterComplete";
public static const DROP_ONTO:String = "dropOnto";
public static const ENTER_MIDPOINT:String = "enterMidpoint";
public static const NEXT:String = "next";
public static const INTERACT_START:String = "interactStart";
public static const SELECT:String = "select";
public function CustomEvent(_arg1:String, _arg2:Object=null){
super(_arg1);
_type = _arg1;
_data = _arg2;
}
public function get data():Object{
return (_data);
}
override public function clone():Event{
return (new CustomEvent(_type, _data));
}
}
}//package as3lib
Section 7
//KeyPoll (as3lib.KeyPoll)
package as3lib {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class KeyPoll {
private var states:ByteArray;
private var dispObj:DisplayObject;
public static var KEY_0:Number = 48;
public static var KEY_1:Number = 49;
public static var KEY_2:Number = 50;
public static var KEY_3:Number = 51;
public static var KEY_4:Number = 52;
public static var KEY_5:Number = 53;
public static var KEY_6:Number = 54;
public static var KEY_7:Number = 55;
public static var KEY_8:Number = 56;
public static var KEY_9:Number = 57;
public static var KEY_A:Number = 65;
public static var KEY_B:Number = 66;
public static var KEY_C:Number = 67;
public static var KEY_D:Number = 68;
public static var KEY_E:Number = 69;
public static var KEY_F:Number = 70;
public static var KEY_G:Number = 71;
public static var KEY_H:Number = 72;
public static var KEY_I:Number = 73;
public static var KEY_J:Number = 74;
public static var KEY_K:Number = 75;
public static var KEY_L:Number = 76;
public static var KEY_M:Number = 77;
public static var KEY_N:Number = 78;
public static var KEY_O:Number = 79;
public static var KEY_P:Number = 80;
public static var KEY_Q:Number = 81;
public static var KEY_R:Number = 82;
public static var KEY_S:Number = 83;
public static var KEY_T:Number = 84;
public static var KEY_U:Number = 85;
public static var KEY_V:Number = 86;
public static var KEY_W:Number = 87;
public static var KEY_X:Number = 88;
public static var KEY_Y:Number = 89;
public static var KEY_Z:Number = 90;
private static var _instance:KeyPoll = null;
public function initialise(_arg1:DisplayObject):void{
states = new ByteArray();
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
states.writeUnsignedInt(0);
dispObj = _arg1;
dispObj.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener, false, 0, true);
dispObj.addEventListener(KeyboardEvent.KEY_UP, keyUpListener, false, 0, true);
}
public function isDown(_arg1:uint):Boolean{
return (!(((states[(_arg1 >>> 3)] & (1 << (_arg1 & 7))) == 0)));
}
private function keyDownListener(_arg1:KeyboardEvent):void{
states[(_arg1.keyCode >>> 3)] = (states[(_arg1.keyCode >>> 3)] | (1 << (_arg1.keyCode & 7)));
}
public function isUp(_arg1:uint):Boolean{
return (((states[(_arg1 >>> 3)] & (1 << (_arg1 & 7))) == 0));
}
private function keyUpListener(_arg1:KeyboardEvent):void{
states[(_arg1.keyCode >>> 3)] = (states[(_arg1.keyCode >>> 3)] & ~((1 << (_arg1.keyCode & 7))));
}
public function reset():void{
dispObj.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownListener);
dispObj.removeEventListener(KeyboardEvent.KEY_UP, keyUpListener);
initialise(dispObj);
}
public static function get instance():KeyPoll{
if (_instance == null){
_instance = new (KeyPoll);
};
return (_instance);
}
}
}//package as3lib
Section 8
//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 9
//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"
public function CampaignKey(){
UCCN = "utm_campaign";
UCCT = "utm_content";
UCID = "utm_id";
UCMD = "utm_medium";
UCNO = "utm_nooverride";
UCSR = "utm_source";
UCTR = "utm_term";
UGCLID = "gclid";
super();
}
}
}//package com.google.analytics.campaign
Section 10
//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 11
//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 id:String;
public var clickId:String;
public var name:String;
public var term:String;
public var medium:String;
public var source: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 toTrackerString():String{
var _local1:Array;
_local1 = [];
_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));
}
public function isValid():Boolean{
if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){
return (true);
};
return (false);
}
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;
var _local3:Variables;
_local2 = _arg1.split(CampaignManager.trackingDelimiter).join("&");
_local3 = 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 12
//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 com.google.analytics.utils.*;
import flash.events.*;
import flash.display.*;
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 13
//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 14
//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 15
//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 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 clearCookies():void{
utma.reset();
utmb.reset();
utmc.reset();
utmz.reset();
utmv.reset();
utmk.reset();
}
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 isGenuine():Boolean{
if (!hasUTMK()){
return (true);
};
return ((utmk.hash == generateCookiesHash()));
}
public function resetCurrentSession():void{
_clearUTMB();
_clearUTMC();
save();
}
public function hasUTMC():Boolean{
if (_utmc){
return (true);
};
return (false);
}
public function hasUTMK():Boolean{
if (_utmk){
return (true);
};
return (false);
}
public function generateCookiesHash():Number{
var _local1:String;
_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 _createUMTA():void{
_utma = new UTMA();
_utma.proxy = this;
}
private function _createUMTB():void{
_utmb = new UTMB();
_utmb.proxy = this;
}
private function _createUMTC():void{
_utmc = new UTMC();
}
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 _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 _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 _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 16
//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 17
//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 _name:String;
private var _debug:DebugConfiguration;
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 18
//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 19
//EventInfo (com.google.analytics.core.EventInfo)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import com.google.analytics.data.*;
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 20
//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 21
//ga_internal (com.google.analytics.core.ga_internal)
package com.google.analytics.core {
public namespace ga_internal;
}//package com.google.analytics.core
Section 22
//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 com.google.analytics.utils.*;
import flash.events.*;
import flash.display.*;
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;
var _local3:String;
var _local4:String;
_local2 = _lastRequest.url;
_local3 = String((_requests.length - 1));
_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;
_local1 = [];
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 loader:Loader;
var context:LoaderContext;
var request = _arg1;
loader = new Loader();
loader.name = String(_count++);
context = 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 _local1:Number;
var _local2:Number;
_local1 = 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);
};
};
}
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);
}
public function get utmhn():String{
return (_info.domainName);
}
private function _debugSend(_arg1:URLRequest):void{
var _local2:String;
var _local3:String;
_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;
var _local3:String;
var _local4:String;
_local2 = _arg1.target.loader.name;
_requests[_local2].complete();
_local3 = (("Gif Request #" + _local2) + " sent");
_local4 = _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 23
//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 24
//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 25
//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 26
//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 27
//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 28
//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 trackTrans():void{
enqueue("trackTrans");
}
public function trackPageview(_arg1:String=""):void{
enqueue("trackPageview", _arg1);
}
public function setClientInfo(_arg1:Boolean):void{
enqueue("setClientInfo", _arg1);
}
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 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 resetSession():void{
enqueue("resetSession");
}
public function setDetectFlash(_arg1:Boolean):void{
enqueue("setDetectFlash", _arg1);
}
public function clear():void{
_ar = [];
}
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 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 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 setCampSourceKey(_arg1:String):void{
enqueue("setCampSourceKey", _arg1);
}
public function setCampContentKey(_arg1:String):void{
enqueue("setCampContentKey", _arg1);
}
public function clearIgnoredRef():void{
enqueue("clearIgnoredRef");
}
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 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 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 setDetectTitle(_arg1:Boolean):void{
enqueue("setDetectTitle", _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 29
//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 30
//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 31
//Cookie (com.google.analytics.data.Cookie)
package com.google.analytics.data {
public interface Cookie {
function toURLString():String;
function toSharedObject():Object;
function set creation(_arg1:Date):void;
function fromSharedObject(_arg1:Object):void;
function get expiration():Date;
function isExpired():Boolean;
function set expiration(_arg1:Date):void;
function get creation():Date;
}
}//package com.google.analytics.data
Section 32
//UTMA (com.google.analytics.data.UTMA)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMA extends UTMCookie {
private var _domainHash:Number;
private var _firstTime:Number;
private var _currentTime:Number;
private var _sessionId: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 get sessionCount():Number{
return (_sessionCount);
}
public function get firstTime():Number{
return (_firstTime);
}
public function set sessionId(_arg1:Number):void{
_sessionId = _arg1;
update();
}
public function set sessionCount(_arg1:Number):void{
_sessionCount = _arg1;
update();
}
public function set firstTime(_arg1:Number):void{
_firstTime = _arg1;
update();
}
public function set currentTime(_arg1:Number):void{
_currentTime = _arg1;
update();
}
public function get sessionId():Number{
return (_sessionId);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get currentTime():Number{
return (_currentTime);
}
public function get domainHash():Number{
return (_domainHash);
}
}
}//package com.google.analytics.data
Section 33
//UTMB (com.google.analytics.data.UTMB)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMB extends UTMCookie {
private var _lastTime:Number;
private var _domainHash:Number;
private var _trackCount: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 get token():Number{
return (_token);
}
public function set trackCount(_arg1:Number):void{
_trackCount = _arg1;
update();
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function get lastTime():Number{
return (_lastTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function set token(_arg1:Number):void{
_token = _arg1;
update();
}
public function get trackCount():Number{
return (_trackCount);
}
}
}//package com.google.analytics.data
Section 34
//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 35
//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 36
//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 get hash():Number{
return (_hash);
}
public function set hash(_arg1:Number):void{
_hash = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 37
//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;
}
public function get value():String{
return (_value);
}
public function set value(_arg1:String):void{
_value = _arg1;
update();
}
override public function toURLString():String{
return (((inURL + "=") + encodeURI(valueOf())));
}
public function get domainHash():Number{
return (_domainHash);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 38
//UTMZ (com.google.analytics.data.UTMZ)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMZ extends UTMCookie {
private var _domainHash:Number;
private var _campaignSessions:Number;
private var _campaignTracking:String;
private var _responseCount:Number;
private var _campaignCreation: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 get campaignCreation():Number{
return (_campaignCreation);
}
public function set campaignSessions(_arg1:Number):void{
_campaignSessions = _arg1;
update();
}
public function set responseCount(_arg1:Number):void{
_responseCount = _arg1;
update();
}
public function set campaignCreation(_arg1:Number):void{
_campaignCreation = _arg1;
update();
}
public function get campaignSessions():Number{
return (_campaignSessions);
}
public function get responseCount():Number{
return (_responseCount);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get campaignTracking():String{
return (_campaignTracking);
}
public function set campaignTracking(_arg1:String):void{
_campaignTracking = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
}
}//package com.google.analytics.data
Section 39
//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 40
//_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 41
//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 42
//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 43
//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 44
//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 45
//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
public var maxLines:uint;// = 16
private var _linediff:int;// = 0
public static var count:uint = 0;
public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){
_linediff = 0;
_preferredForcedWidth = 540;
maxLines = 16;
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 close():void{
dispose();
}
public function writeBold(_arg1:String):void{
write(_arg1, true);
}
override protected function dispose():void{
removeEventListener(KeyboardEvent.KEY_DOWN, onKey);
super.dispose();
}
override public function get forcedWidth():uint{
if (this.parent){
if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){
return (_preferredForcedWidth);
};
return (UISprite(this.parent).forcedWidth);
} else {
};
return (!NULL!);
}
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");
}
public function write(_arg1:String, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:String;
var _local5:String;
var _local6:int;
var _local7:Array;
if (_arg1.indexOf("") > -1){
_local3 = _arg1.split("\n");
} else {
_local3 = [_arg1];
};
_local4 = "";
_local5 = "";
if (_arg2){
_local4 = "<b>";
_local5 = "</b>";
};
_local6 = 0;
while (_local6 < _local3.length) {
_lines.push(((_local4 + _local3[_local6]) + _local5));
_local6++;
};
_local7 = _getLinesToDisplay();
text = _local7.join("\n");
}
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);
}
}
}//package com.google.analytics.debug
Section 46
//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 infoTimeout:Number;// = 1000
public var showInfos:Boolean;// = true
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(){
_active = false;
_verbose = false;
_visualInitialized = false;
_mode = VisualDebugMode.basic;
traceOutput = false;
javascript = false;
GIFRequests = false;
showInfos = true;
infoTimeout = 1000;
showWarnings = true;
warningTimeout = 1500;
minimizedOnStart = false;
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 _local2:Array;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:Array;
var _local8:int;
_local2 = [];
_local3 = "";
_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));
};
_local5 = _local2.length;
_local6 = 0;
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 47
//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 48
//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 49
//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 50
//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 51
//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 _text:String;
private var _textField:TextField;
private var _color:uint;
protected var selectable:Boolean;
public var stickToEdge:Boolean;
private var _background:Shape;
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);
}
override protected function dispose():void{
_textField.removeEventListener(TextEvent.LINK, onLink);
super.dispose();
}
private function _draw():void{
var _local1:Graphics;
var _local2:uint;
var _local3:uint;
_local1 = _background.graphics;
_local1.clear();
_local1.beginFill(_color);
_local2 = _textField.width;
_local3 = _textField.height;
if (forcedWidth > 0){
_local2 = forcedWidth;
};
Background.drawRounded(this, _local1, _local2, _local3);
_local1.endFill();
}
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 get text():String{
return (_textField.text);
}
public function set tag(_arg1:String):void{
_tag = _arg1;
text = "";
}
public function set text(_arg1:String):void{
if (_arg1 == ""){
_arg1 = _text;
};
_textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>");
_text = _arg1;
_draw();
resize();
}
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 onLink(_arg1:TextEvent):void{
}
public function get tag():String{
return (_tag);
}
}
}//package com.google.analytics.debug
Section 52
//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){
_maxCharPerLine = 85;
super();
_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 bringToFront(_arg1:DisplayObject):void{
_display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1));
}
public function createFailureAlert(_arg1:String):void{
var _local2:AlertAction;
var _local3:Alert;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
_local3 = 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:int;
var _local2:uint;
var _local3:uint;
var _local4:Panel;
_local1 = 10;
_local2 = (_display.stage.stageWidth - (_local1 * 2));
_local3 = (_display.stage.stageHeight - (_local1 * 2));
_local4 = 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 _local3:DisplayObject;
var _local4:Panel;
_local3 = _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 _local3:String;
var _local4:Array;
var _local5:Array;
var _local6:String;
var _local7:int;
_local3 = "\n";
_local4 = [];
_local5 = _arg1.split(_local3);
if (_arg2 == 0){
_arg2 = _maxCharPerLine;
};
_local7 = 0;
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));
}
public function createWarning(_arg1:String):void{
var _local2:Warning;
if (((_hasWarning) || (!(isAvailable())))){
_warningQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasWarning = true;
_local2 = new Warning(_arg1, _debug.warningTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
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;
var _local3:Alert;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
_local3 = 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{
var _local2:Alert;
_arg1 = _filterMaxChars(_arg1);
_local2 = new Alert(_arg1, [new AlertAction("Close", "close", "close")]);
addToPanel("analytics", _local2);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function createInfo(_arg1:String):void{
var _local2:Info;
if (((_hasInfo) || (!(isAvailable())))){
_infoQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasInfo = true;
_local2 = 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 f:Function;
var gra:GIFRequestAlert;
var message = _arg1;
var request = _arg2;
var ref = _arg3;
if (_hasGRAlert){
_GRAlertQueue.push([message, request, ref]);
return;
};
_hasGRAlert = true;
f = function ():void{
ref.sendRequest(request);
};
message = _filterMaxChars(message);
gra = 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;
_local4 = 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 53
//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 54
//Panel (com.google.analytics.debug.Panel)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class Panel extends UISprite {
protected var baseAlpha:Number;
private var _border:Shape;
private var _name:String;
private var _title:Label;
private var _data:UISprite;
private var _backgroundColor:uint;
private var _colapsed:Boolean;
private var _stickToEdge:Boolean;
private var _background:Shape;
private var _savedW:uint;
private var _mask:Sprite;
private var _savedH:uint;
private var _borderColor:uint;
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 set stickToEdge(_arg1:Boolean):void{
_stickToEdge = _arg1;
_title.stickToEdge = _arg1;
}
public function onToggle(_arg1:MouseEvent=null):void{
if (_colapsed){
_data.visible = true;
} else {
_data.visible = false;
};
_colapsed = !(_colapsed);
_update();
resize();
}
override protected function dispose():void{
_title.removeEventListener(MouseEvent.CLICK, onToggle);
super.dispose();
}
private function _draw():void{
var _local1:uint;
var _local2:uint;
var _local3:Graphics;
var _local4:Graphics;
var _local5:Graphics;
var _local6:Graphics;
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;
};
_local3 = _background.graphics;
_local3.clear();
_local3.beginFill(_backgroundColor);
Background.drawRounded(this, _local3, _local1, _local2);
_local3.endFill();
_local4 = _data.graphics;
_local4.clear();
_local4.beginFill(_backgroundColor, 0);
Background.drawRounded(this, _local4, _local1, _local2);
_local4.endFill();
_local5 = _border.graphics;
_local5.clear();
_local5.lineStyle(0.1, _borderColor);
Background.drawRounded(this, _local5, _local1, _local2);
_local5.endFill();
_local6 = _mask.graphics;
_local6.clear();
_local6.beginFill(_backgroundColor);
Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1));
_local6.endFill();
}
override protected function layout():void{
_update();
addChild(_background);
addChild(_data);
addChild(_title);
addChild(_border);
addChild(_mask);
mask = _mask;
}
public function get title():String{
return (_title.text);
}
public function get stickToEdge():Boolean{
return (_stickToEdge);
}
public function set title(_arg1:String):void{
_title.text = _arg1;
}
private function _update():void{
_draw();
if (baseAlpha < 1){
_background.alpha = baseAlpha;
_border.alpha = baseAlpha;
};
}
public function addData(_arg1:DisplayObject):void{
_data.addChild(_arg1);
}
public function close():void{
dispose();
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 55
//Style (com.google.analytics.debug.Style)
package com.google.analytics.debug {
public const Style:_Style = new _Style();
}//package com.google.analytics.debug
Section 56
//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 57
//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 58
//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 59
//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 60
//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 61
//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 62
//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 63
//JavascriptProxy (com.google.analytics.external.JavascriptProxy)
package com.google.analytics.external {
import com.google.analytics.debug.*;
import flash.system.*;
import flash.external.*;
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 64
//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 65
//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 66
//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 67
//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;
_local1 = _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 search():String{
var _local1:String;
_local1 = _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);
}
public function get subDomain():String{
if (((!((domain == ""))) && (!((domain == hostName))))){
return (hostName.split(("." + domain)).join(""));
};
return ("");
}
public function get protocol():Protocols{
var _local1:String;
_local1 = _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;
_local1 = _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);
}
}
}//package com.google.analytics.utils
Section 68
//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 69
//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 = [];
sort = true;
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;
var _local3:int;
_local2 = _args.length;
_local3 = 0;
while (_local3 < _local2) {
if (!(_args[_local3] is Variables)){
} else {
_join(_args[_local3]);
};
_local3++;
};
}
public function toString():String{
var _local1:Array;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:String;
var _local8:String;
_local1 = [];
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;
var _local7:int;
if (_arg1 == ""){
return;
};
if (_arg1.indexOf("&") > -1){
_local2 = _arg1.split("&");
} else {
_local2 = [_arg1];
};
_local7 = 0;
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 _local1:URLVariables;
var _local2:String;
_local1 = new URLVariables();
for (_local2 in this) {
_local1[_local2] = this[_local2];
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 70
//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 71
//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;
_hasGATracker = false;
_jsContainer = "_GATracker";
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 setClientInfo(_arg1:Boolean):void{
_debug.info((("setClientInfo( " + _arg1) + " )"));
_call("_setClientInfo", _arg1);
}
public function trackTrans():void{
_debug.info("trackTrans()");
_call("_trackTrans");
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5:int;
_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 trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
_call("_trackPageview", _arg1);
}
public function setCookieTimeout(_arg1:int):void{
_debug.info((("setCookieTimeout( " + _arg1) + " )"));
_call("_setCookieTimeout", _arg1);
}
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"));
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_call("_getClientInfo"));
}
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;
var _local3:Boolean;
_local2 = _proxy.hasProperty(_arg1);
_local3 = _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 setDetectFlash(_arg1:Boolean):void{
_debug.info((("setDetectFlash( " + _arg1) + " )"));
_call("_setDetectFlash", _arg1);
}
public function setCampNameKey(_arg1:String):void{
_debug.info((("setCampNameKey( " + _arg1) + " )"));
_call("_setCampNameKey", _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 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 setCampSourceKey(_arg1:String):void{
_debug.info((("setCampSourceKey( " + _arg1) + " )"));
_call("_setCampSourceKey", _arg1);
}
public function setCampContentKey(_arg1:String):void{
_debug.info((("setCampContentKey( " + _arg1) + " )"));
_call("_setCampContentKey", _arg1);
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_call("_clearIgnoreRef");
}
public function setLocalServerMode():void{
_debug.info("setLocalServerMode()");
_call("_setLocalServerMode");
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_call("_getLocalGifPath"));
}
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);
}
public function setCampTermKey(_arg1:String):void{
_debug.info((("setCampTermKey( " + _arg1) + " )"));
_call("_setCampTermKey", _arg1);
}
private function _createTrackingObject(_arg1:String):void{
_proxy.call(_createTrackingObject_js, _arg1);
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_call("_getDetectFlash"));
}
public function setCampaignTrack(_arg1:Boolean):void{
_debug.info((("setCampaignTrack( " + _arg1) + " )"));
_call("_setCampaignTrack", _arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_call("_clearOrganic");
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_call("_addIgnoredRef", _arg1);
}
public function setCampMediumKey(_arg1:String):void{
_debug.info((("setCampMediumKey( " + _arg1) + " )"));
_call("_setCampMediumKey", _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 72
//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 73
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
public interface GoogleAnalyticsAPI {
function getServiceMode():ServerOperationMode;
function setLocalRemoteServerMode():void;
function setCampSourceKey(_arg1:String):void;
function setCampContentKey(_arg1:String):void;
function addOrganic(_arg1:String, _arg2:String):void;
function setDetectFlash(_arg1:Boolean):void;
function resetSession():void;
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 addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object;
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 trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean;
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 linkByPost(_arg1:Object, _arg2:Boolean=false):void;
function setLocalServerMode():void;
function setDetectTitle(_arg1:Boolean):void;
function setAllowHash(_arg1:Boolean):void;
function clearOrganic():void;
function getAccount():String;
function setDomainName(_arg1:String):void;
function link(_arg1:String, _arg2:Boolean=false):void;
function setCampNOKey(_arg1:String):void;
function getClientInfo():Boolean;
function cookiePathCopy(_arg1:String):void;
function getDetectTitle():Boolean;
}
}//package com.google.analytics.v4
Section 74
//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.utils.*;
import com.google.analytics.data.*;
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;
_hasInitData = false;
_isNewVisitor = false;
_noSessionInformation = false;
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 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 trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5:Boolean;
var _local6:int;
_local5 = true;
_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 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();
}
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{
var _local2:String;
_config.campaignKey.UCCN = _arg1;
_local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCN]"));
} else {
_debug.info(_local2);
};
}
private function _formatReferrer():String{
var _local1:String;
var _local2:String;
var _local3:URL;
var _local4:URL;
_local1 = _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) + " )"));
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_config.detectClientInfo);
}
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);
}
public function setCampContentKey(_arg1:String):void{
var _local2:String;
_config.campaignKey.UCCT = _arg1;
_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()");
}
private function _renderMetricsSearchVariables(_arg1:String=""):Variables{
var _local2:Variables;
var _local3:DocumentInfo;
var _local4:Variables;
var _local5:Variables;
_local2 = new Variables();
_local2.URIencode = true;
_local3 = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense);
_debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek);
if (_config.campaignTracking){
_local4 = _campaignInfo.toVariables();
};
_local5 = _browserInfo.toVariables();
_local2.join(_local3.toVariables(), _local5, _local4);
return (_local2);
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_config.organic.clearIgnoredReferrals();
}
public function setCampSourceKey(_arg1:String):void{
var _local2:String;
_config.campaignKey.UCSR = _arg1;
_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;
var _local2:Boolean;
var _local3:Boolean;
var _local4:Boolean;
var _local5:Boolean;
_local1 = _config.domainName;
_local2 = (_local1.indexOf("www.google.") < 0);
_local3 = (_local1.indexOf(".google.") < 0);
_local4 = (_local1.indexOf("google.") < 0);
_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:String;
_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 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{
var _local2:String;
_config.campaignKey.UCTR = _arg1;
_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);
}
public function setCampNOKey(_arg1:String):void{
var _local2:String;
_config.campaignKey.UCNO = _arg1;
_local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCNO]"));
} else {
_debug.info(_local2);
};
}
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{
var _local2:String;
_config.campaignKey.UCMD = _arg1;
_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;
_local1 = ((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 75
//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 76
//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: 234 $ ".split(" ")[1];
}
}//package com.google.analytics
Section 77
//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 com.google.analytics.utils.*;
import flash.events.*;
import flash.display.*;
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 78
//Quad (gs.easing.Quad)
package gs.easing {
public class Quad {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
}
}//package gs.easing
Section 79
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _tweenVisible:Boolean;
protected var _target:Object;
protected var _visible:Boolean;
protected var _tween:TweenLite;
public static const VERSION:Number = 1;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
this.onComplete = onCompleteTween;
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
_tweenVisible = !(Boolean(("visible" in _arg1)));
}
public function onCompleteTween():void{
if (((((_tweenVisible) && (!((_tween.vars.runBackwards == true))))) && ((_tween.ease == _tween.vars.ease)))){
_target.visible = _visible;
};
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_tween = _arg3;
_visible = Boolean(!((_arg2 == 0)));
_tweenVisible = true;
addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (((!((_target.visible == true))) && (_tweenVisible))){
_target.visible = true;
};
}
}
}//package gs.plugins
Section 80
//EndArrayPlugin (gs.plugins.EndArrayPlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
import gs.utils.tween.*;
public class EndArrayPlugin extends TweenPlugin {
protected var _a:Array;
protected var _info:Array;
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function EndArrayPlugin(){
_info = [];
super();
this.propName = "endArray";
this.overwriteProps = ["endArray"];
}
public function init(_arg1:Array, _arg2:Array):void{
_a = _arg1;
var _local3:int = (_arg2.length - 1);
while (_local3 > -1) {
if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){
_info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3]));
};
_local3--;
};
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (false);
};
init((_arg1 as Array), _arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:ArrayTweenInfo;
var _local4:Number;
var _local5:int;
if (this.round){
_local2 = (_info.length - 1);
while (_local2 > -1) {
_local3 = _info[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_local5 = ((_local4)<0) ? -1 : 1;
_a[_local3.index] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4);
_local2--;
};
} else {
_local2 = (_info.length - 1);
while (_local2 > -1) {
_local3 = _info[_local2];
_a[_local3.index] = (_local3.start + (_local3.change * _arg1));
_local2--;
};
};
}
}
}//package gs.plugins
Section 81
//FramePlugin (gs.plugins.FramePlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
public class FramePlugin extends TweenPlugin {
protected var _target:MovieClip;
public var frame:int;
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function FramePlugin(){
this.propName = "frame";
this.overwriteProps = ["frame"];
this.round = true;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
addTween(this, "frame", this.frame, _arg2, "frame");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.gotoAndStop(this.frame);
}
}
}//package gs.plugins
Section 82
//RemoveTintPlugin (gs.plugins.RemoveTintPlugin)
package gs.plugins {
public class RemoveTintPlugin extends TintPlugin {
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function RemoveTintPlugin(){
this.propName = "removeTint";
}
}
}//package gs.plugins
Section 83
//TintPlugin (gs.plugins.TintPlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
import flash.geom.*;
import gs.utils.tween.*;
public class TintPlugin extends TweenPlugin {
protected var _target:DisplayObject;
protected var _ct:ColorTransform;
protected var _ignoreAlpha:Boolean;
public static const VERSION:Number = 1.1;
public static const API:Number = 1;
protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"];
public function TintPlugin(){
this.propName = "tint";
this.overwriteProps = ["tint"];
}
public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{
var _local3:int;
var _local4:String;
_target = _arg1;
_ct = _target.transform.colorTransform;
_local3 = (_props.length - 1);
while (_local3 > -1) {
_local4 = _props[_local3];
if (_ct[_local4] != _arg2[_local4]){
_tweens[_tweens.length] = new TweenInfo(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false);
};
_local3--;
};
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg1 is DisplayObject)){
return (false);
};
var _local4:ColorTransform = new ColorTransform();
if (((!((_arg2 == null))) && (!((_arg3.exposedVars.removeTint == true))))){
_local4.color = uint(_arg2);
};
_ignoreAlpha = true;
init((_arg1 as DisplayObject), _local4);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:ColorTransform;
updateTweens(_arg1);
if (_ignoreAlpha){
_local2 = _target.transform.colorTransform;
_ct.alphaMultiplier = _local2.alphaMultiplier;
_ct.alphaOffset = _local2.alphaOffset;
};
_target.transform.colorTransform = _ct;
}
}
}//package gs.plugins
Section 84
//TweenPlugin (gs.plugins.TweenPlugin)
package gs.plugins {
import gs.*;
import gs.utils.tween.*;
public class TweenPlugin {
public var overwriteProps:Array;
protected var _tweens:Array;
public var propName:String;
public var onComplete:Function;
public var round:Boolean;
protected var _changeFactor:Number;// = 0
public static const VERSION:Number = 1.03;
public static const API:Number = 1;
public function TweenPlugin(){
_tweens = [];
super();
}
protected function updateTweens(_arg1:Number):void{
var _local2:int;
var _local3:TweenInfo;
var _local4:Number;
var _local5:int;
if (this.round){
_local2 = (_tweens.length - 1);
while (_local2 > -1) {
_local3 = _tweens[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_local5 = ((_local4)<0) ? -1 : 1;
_local3.target[_local3.property] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4);
_local2--;
};
} else {
_local2 = (_tweens.length - 1);
while (_local2 > -1) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
_local2--;
};
};
}
public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_changeFactor = _arg1;
}
protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{
var _local6:Number;
if (_arg4 != null){
_local6 = ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4);
if (_local6 != 0){
_tweens[_tweens.length] = new TweenInfo(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false);
};
};
}
public function killProps(_arg1:Object):void{
var _local2:int;
_local2 = (this.overwriteProps.length - 1);
while (_local2 > -1) {
if ((this.overwriteProps[_local2] in _arg1)){
this.overwriteProps.splice(_local2, 1);
};
_local2--;
};
_local2 = (_tweens.length - 1);
while (_local2 > -1) {
if ((_tweens[_local2].name in _arg1)){
_tweens.splice(_local2, 1);
};
_local2--;
};
}
public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName);
return (true);
}
public function get changeFactor():Number{
return (_changeFactor);
}
public static function activate(_arg1:Array):Boolean{
var _local2:int;
var _local3:Object;
_local2 = (_arg1.length - 1);
while (_local2 > -1) {
_local3 = new (_arg1[_local2]);
TweenLite.plugins[_local3.propName] = _arg1[_local2];
_local2--;
};
return (true);
}
}
}//package gs.plugins
Section 85
//VisiblePlugin (gs.plugins.VisiblePlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
public class VisiblePlugin extends TweenPlugin {
protected var _target:Object;
protected var _visible:Boolean;
protected var _tween:TweenLite;
public static const VERSION:Number = 1;
public static const API:Number = 1;
public function VisiblePlugin(){
this.propName = "visible";
this.overwriteProps = ["visible"];
this.onComplete = onCompleteTween;
}
public function onCompleteTween():void{
if (((!((_tween.vars.runBackwards == true))) && ((_tween.ease == _tween.vars.ease)))){
_target.visible = _visible;
};
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_tween = _arg3;
_visible = Boolean(_arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
if (_target.visible != true){
_target.visible = true;
};
}
}
}//package gs.plugins
Section 86
//VolumePlugin (gs.plugins.VolumePlugin)
package gs.plugins {
import flash.display.*;
import flash.media.*;
import gs.*;
public class VolumePlugin extends TweenPlugin {
protected var _target:Object;
protected var _st:SoundTransform;
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function VolumePlugin(){
this.propName = "volume";
this.overwriteProps = ["volume"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){
return (false);
};
_target = _arg1;
_st = _target.soundTransform;
addTween(_st, "volume", _st.volume, _arg2, "volume");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.soundTransform = _st;
}
}
}//package gs.plugins
Section 87
//ArrayTweenInfo (gs.utils.tween.ArrayTweenInfo)
package gs.utils.tween {
public class ArrayTweenInfo {
public var change:Number;
public var start:Number;
public var index:uint;
public function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){
this.index = _arg1;
this.start = _arg2;
this.change = _arg3;
}
}
}//package gs.utils.tween
Section 88
//TweenInfo (gs.utils.tween.TweenInfo)
package gs.utils.tween {
public class TweenInfo {
public var start:Number;
public var name:String;
public var change:Number;
public var target:Object;
public var property:String;
public var isPlugin:Boolean;
public function TweenInfo(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
}
}
}//package gs.utils.tween
Section 89
//TweenLite (gs.TweenLite)
package gs {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import gs.utils.tween.*;
import gs.plugins.*;
public class TweenLite {
public var started:Boolean;
public var delay:Number;
protected var _hasUpdate:Boolean;
protected var _hasPlugins:Boolean;
public var initted:Boolean;
public var active:Boolean;
public var startTime:Number;
public var target:Object;
public var duration:Number;
public var gc:Boolean;
public var tweens:Array;
public var vars:Object;
public var ease:Function;
public var exposedVars:Object;
public var initTime:Number;
public var combinedTimeScale:Number;
public static const version:Number = 10.092;
private static var _timer:Timer = new Timer(2000);
public static var defaultEase:Function = TweenLite.easeOut;
public static var plugins:Object = {};
public static var currentTime:uint;
public static var masterList:Dictionary = new Dictionary(false);
protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, persist:1, renderOnStart:1, proxiedEase:1, easeParams:1, yoyo:1, loop:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, orientToBezier:1, timeScale:1};
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var timingSprite:Sprite = new Sprite();
public static var overwriteManager:Object;
private static var _tlInitted:Boolean;
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
if (_arg1 == null){
return;
};
if (!_tlInitted){
TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin]);
currentTime = getTimer();
timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
_timer.addEventListener("timer", killGarbage, false, 0, true);
_timer.start();
_tlInitted = true;
};
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
this.combinedTimeScale = ((_arg3.timeScale) || (1));
this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0))));
this.target = _arg1;
if (typeof(this.vars.ease) != "function"){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
this.ease = this.vars.ease;
this.exposedVars = ((this.vars.isTV)==true) ? this.vars.exposedVars : this.vars;
this.tweens = [];
this.initTime = currentTime;
this.startTime = (this.initTime + (this.delay * 1000));
var _local4:int = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
if (((!((_arg1 in masterList))) || ((_local4 == 1)))){
masterList[_arg1] = [this];
} else {
masterList[_arg1].push(this);
};
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){
initTweenVals();
if (this.active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
if (((((!((this.exposedVars.visible == null))) && ((this.vars.runBackwards == true)))) && ((this.target is DisplayObject)))){
this.target.visible = this.exposedVars.visible;
};
};
}
public function get enabled():Boolean{
return ((this.gc) ? false : true);
}
public function set enabled(_arg1:Boolean):void{
var _local2:Array;
var _local3:Boolean;
var _local4:int;
if (_arg1){
if (!(this.target in masterList)){
masterList[this.target] = [this];
} else {
_local2 = masterList[this.target];
_local4 = (_local2.length - 1);
while (_local4 > -1) {
if (_local2[_local4] == this){
_local3 = true;
break;
};
_local4--;
};
if (!_local3){
_local2[_local2.length] = this;
};
};
};
this.gc = (_arg1) ? false : true;
if (this.gc){
this.active = false;
} else {
this.active = this.started;
};
}
public function clear():void{
this.tweens = [];
this.vars = (this.exposedVars = {ease:this.vars.ease});
_hasUpdate = false;
}
public function render(_arg1:uint):void{
var _local3:Number;
var _local4:TweenInfo;
var _local5:int;
var _local2:Number = ((_arg1 - this.startTime) * 0.001);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4.target[_local4.property] = (_local4.start + (_local3 * _local4.change));
_local5--;
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
public function activate():void{
this.started = (this.active = true);
if (!this.initted){
initTweenVals();
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
}
public function initTweenVals():void{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:TweenInfo;
if (((!((this.exposedVars.timeScale == undefined))) && (this.target.hasOwnProperty("timeScale")))){
this.tweens[this.tweens.length] = new TweenInfo(this.target, "timeScale", this.target.timeScale, (this.exposedVars.timeScale - this.target.timeScale), "timeScale", false);
};
for (_local1 in this.exposedVars) {
if ((_local1 in _reservedProps)){
} else {
if ((_local1 in plugins)){
_local3 = new (plugins[_local1]);
if (_local3.onInitTween(this.target, this.exposedVars[_local1], this) == false){
this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false);
} else {
this.tweens[this.tweens.length] = new TweenInfo(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true);
_hasPlugins = true;
};
} else {
this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false);
};
};
};
if (this.vars.runBackwards == true){
_local2 = (this.tweens.length - 1);
while (_local2 > -1) {
_local4 = this.tweens[_local2];
this.tweens[_local2].start = (_local4.start + _local4.change);
_local4.change = -(_local4.change);
_local2--;
};
};
if (this.vars.onUpdate != null){
_hasUpdate = true;
};
if (((TweenLite.overwriteManager.enabled) && ((this.target in masterList)))){
overwriteManager.manageOverwrites(this, masterList[this.target]);
};
this.initted = true;
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function killVars(_arg1:Object):void{
if (overwriteManager.enabled){
overwriteManager.killVars(_arg1, this.exposedVars, this.tweens);
};
}
public function complete(_arg1:Boolean=false):void{
var _local2:int;
if (!_arg1){
if (!this.initted){
initTweenVals();
};
this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale));
render(currentTime);
return;
};
if (_hasPlugins){
_local2 = (this.tweens.length - 1);
while (_local2 > -1) {
if (((this.tweens[_local2].isPlugin) && (!((this.tweens[_local2].target.onComplete == null))))){
this.tweens[_local2].target.onComplete();
};
_local2--;
};
};
if (this.vars.persist != true){
this.enabled = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public static function updateAll(_arg1:Event=null):void{
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
var _local2:uint = (currentTime = getTimer());
var _local3:Dictionary = masterList;
for each (_local4 in _local3) {
_local5 = (_local4.length - 1);
while (_local5 > -1) {
_local6 = _local4[_local5];
if (_local6.active){
_local6.render(_local2);
} else {
if (_local6.gc){
_local4.splice(_local5, 1);
} else {
if (_local2 >= _local6.startTime){
_local6.activate();
_local6.render(_local2);
};
};
};
_local5--;
};
};
}
public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{
if (_arg1 != null){
if (_arg2){
_arg1.clear();
};
_arg1.enabled = false;
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
var _local5:TweenLite;
if (((!((_arg1 == null))) && ((_arg1 in masterList)))){
_local3 = masterList[_arg1];
_local4 = (_local3.length - 1);
while (_local4 > -1) {
_local5 = _local3[_local4];
if (((_arg2) && (!(_local5.gc)))){
_local5.complete(false);
};
_local5.clear();
_local4--;
};
delete masterList[_arg1];
};
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
protected static function killGarbage(_arg1:TimerEvent):void{
var _local3:Object;
var _local2:Dictionary = masterList;
for (_local3 in _local2) {
if (_local2[_local3].length == 0){
delete _local2[_local3];
};
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0}));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 90
//BossContainer_102 (penguin_fla.BossContainer_102)
package penguin_fla {
import flash.net.*;
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.filters.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class BossContainer_102 extends MovieClip {
public var prepuffed20:Puff;
public var prepuffed1:Puff;
public var testCoin1:Coin;
public var prepuffed6:Puff;
public var prepuffed7:Puff;
public var prepuffed8:Puff;
public var prepuffed11:Puff;
public var prepuffed12:Puff;
public var prepuffed13:Puff;
public var prepuffed14:Puff;
public var prepuffed16:Puff;
public var prepuffed17:Puff;
public var prepuffed18:Puff;
public var BossContainer:MovieClip;
public var prepuffed19:Puff;
public function BossContainer_102(){
addFrameScript(82, frame83, 108, frame109, 137, frame138, 219, frame220, 270, frame271, 297, frame298, 357, frame358, 459, frame460, 492, frame493, 526, frame527, 563, frame564, 592, frame593, 650, frame651, 691, frame692, 706, frame707, 783, frame784, 824, frame825);
}
function frame493(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_short");
}
function frame593(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwFish_short");
}
function frame298(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwFish_short");
}
function frame138(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwFish_medium");
}
function frame651(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_medium");
}
function frame358(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_medium");
}
function frame692(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_short");
}
function frame527(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_medium");
}
function frame460(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_short");
}
function frame707(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_short");
}
function frame220(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_medium");
}
function frame564(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_short");
}
function frame83(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_medium");
}
function frame109(){
SoundController.instance.playMusicLoop(SoundController.STAGE4_A);
}
function frame825(){
stop();
}
function frame784(){
SoundController.instance.fadeOutMusic();
}
function frame271(){
this.BossContainer.bossAnim.throwArm.gotoAndPlay("throwPuff_short");
}
}
}//package penguin_fla
Section 91
//ExportHolder_100 (penguin_fla.ExportHolder_100)
package penguin_fla {
import flash.display.*;
public dynamic class ExportHolder_100 extends MovieClip {
public function ExportHolder_100(){
addFrameScript(1, frame2);
}
function frame2(){
stop();
}
}
}//package penguin_fla
Section 92
//MainTimeline (penguin_fla.MainTimeline)
package penguin_fla {
import flash.events.*;
import flash.display.*;
import flash.ui.*;
import flash.text.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.utils.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var credit:ContextMenuItem;
public var preloaderClip:MovieClip;
public var IDLE_FRAMES_BEFORE_ASSUMING_LOADED:Number;
public var oldBytesLoaded:Number;
public var changeCounter:Number;
public var HARD_CODED_BYTES_TOTAL:Number;
public var traceCounter:Number;
public var fm_menu:ContextMenu;
public function MainTimeline(){
addFrameScript(0, frame1, 2, frame3);
}
function frame1(){
stop();
this.addEventListener("enterFrame", onEnterFrame);
traceCounter = 0;
changeCounter = 0;
oldBytesLoaded = 0;
IDLE_FRAMES_BEFORE_ASSUMING_LOADED = 100;
HARD_CODED_BYTES_TOTAL = 839000;
fm_menu = new ContextMenu();
credit = new ContextMenuItem("A game by Mark.");
credit.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, visitMark);
credit.separatorBefore = false;
fm_menu.hideBuiltInItems();
fm_menu.customItems.push(credit);
this.contextMenu = fm_menu;
}
public function visitMark(_arg1:Event){
var _local2:URLRequest;
var _local3:*;
if (((Settings.bareBones) || ((Settings.facebookMode == false)))){
_local2 = new URLRequest("http://www.mark.com.au");
navigateToURL(_local2);
} else {
if (Settings.connectionName){
_local3 = new LocalConnection();
_local3.send(Settings.connectionName, "callFBJS", "navigateTo", ["http://www.mark.com.au"]);
};
};
}
function frame3(){
stop();
}
public function onEnterFrame(_arg1:Event){
var _local2:Number;
if (this.loaderInfo.bytesTotal > 0){
_local2 = this.loaderInfo.bytesTotal;
} else {
_local2 = HARD_CODED_BYTES_TOTAL;
};
preloaderClip.percentText.text = (("LOADING " + String(Math.ceil(((this.loaderInfo.bytesLoaded / _local2) * 100)))) + "%");
if (int(((this.loaderInfo.bytesLoaded / _local2) * 100)) == 100){
completeLoad();
};
changeCounter++;
if (oldBytesLoaded != this.loaderInfo.bytesLoaded){
changeCounter = 0;
};
if (changeCounter == IDLE_FRAMES_BEFORE_ASSUMING_LOADED){
if (Math.ceil(((this.loaderInfo.bytesLoaded / _local2) * 100)) > 95){
completeLoad();
};
};
oldBytesLoaded = this.loaderInfo.bytesLoaded;
}
public function completeLoad():void{
gotoAndPlay(2);
this.removeEventListener("enterFrame", onEnterFrame);
}
}
}//package penguin_fla
Section 93
//NumbersPlain_240 (penguin_fla.NumbersPlain_240)
package penguin_fla {
import flash.display.*;
public dynamic class NumbersPlain_240 extends MovieClip {
public function NumbersPlain_240(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package penguin_fla
Section 94
//NumbersPlainSmall_9 (penguin_fla.NumbersPlainSmall_9)
package penguin_fla {
import flash.display.*;
public dynamic class NumbersPlainSmall_9 extends MovieClip {
public function NumbersPlainSmall_9(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package penguin_fla
Section 95
//penguinAnime_mc_209 (penguin_fla.penguinAnime_mc_209)
package penguin_fla {
import flash.events.*;
import flash.display.*;
public dynamic class penguinAnime_mc_209 extends MovieClip {
public var shakeContent:MovieClip;
public function penguinAnime_mc_209(){
addFrameScript(2, frame3, 57, frame58, 58, frame59, 99, frame100);
}
function frame58(){
dispatchEvent(new Event(Event.COMPLETE));
}
function frame59(){
trace("P ZIP..");
}
function frame100(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
}
function frame3(){
this.gotoAndPlay("flying");
}
}
}//package penguin_fla
Section 96
//PenguinBanking_210 (penguin_fla.PenguinBanking_210)
package penguin_fla {
import flash.display.*;
public dynamic class PenguinBanking_210 extends MovieClip {
public function PenguinBanking_210(){
addFrameScript(1, frame2);
}
function frame2(){
stop();
}
}
}//package penguin_fla
Section 97
//ScoreBoardSmall_7 (penguin_fla.ScoreBoardSmall_7)
package penguin_fla {
import flash.display.*;
public dynamic class ScoreBoardSmall_7 extends MovieClip {
public var hundreds:Digit1;
public var tens:Digit1;
public var ones:Digit1;
public function ScoreBoardSmall_7(){
addFrameScript(2, frame3, 41, frame42, 83, frame84);
}
function frame84(){
gotoAndStop(1);
}
function frame42(){
gotoAndStop(1);
}
function frame3(){
stop();
}
}
}//package penguin_fla
Section 98
//TestFishGroup1_188 (penguin_fla.TestFishGroup1_188)
package penguin_fla {
import flash.display.*;
public dynamic class TestFishGroup1_188 extends MovieClip {
public function TestFishGroup1_188(){
addFrameScript(81, frame82);
}
function frame82(){
stop();
}
}
}//package penguin_fla
Section 99
//TestFishGroup1_198 (penguin_fla.TestFishGroup1_198)
package penguin_fla {
import flash.display.*;
public dynamic class TestFishGroup1_198 extends MovieClip {
public function TestFishGroup1_198(){
addFrameScript(198, frame199, 199, frame200);
}
function frame199(){
stop();
}
function frame200(){
stop();
}
}
}//package penguin_fla
Section 100
//TestFishGroup2_196 (penguin_fla.TestFishGroup2_196)
package penguin_fla {
import flash.display.*;
public dynamic class TestFishGroup2_196 extends MovieClip {
public function TestFishGroup2_196(){
addFrameScript(196, frame197, 197, frame198);
}
function frame197(){
stop();
}
function frame198(){
stop();
}
}
}//package penguin_fla
Section 101
//TestFishGroup3_190 (penguin_fla.TestFishGroup3_190)
package penguin_fla {
import flash.display.*;
public dynamic class TestFishGroup3_190 extends MovieClip {
public function TestFishGroup3_190(){
addFrameScript(132, frame133);
}
function frame133(){
stop();
}
}
}//package penguin_fla
Section 102
//TestFishGroup4_192 (penguin_fla.TestFishGroup4_192)
package penguin_fla {
import flash.display.*;
public dynamic class TestFishGroup4_192 extends MovieClip {
public function TestFishGroup4_192(){
addFrameScript(199, frame200);
}
function frame200(){
stop();
}
}
}//package penguin_fla
Section 103
//TestFishGroupZipperJump_194 (penguin_fla.TestFishGroupZipperJump_194)
package penguin_fla {
import flash.display.*;
public dynamic class TestFishGroupZipperJump_194 extends MovieClip {
public function TestFishGroupZipperJump_194(){
addFrameScript(307, frame308);
}
function frame308(){
SoundController.instance.fadeOutMusic();
stop();
}
}
}//package penguin_fla
Section 104
//throwingArm_106 (penguin_fla.throwingArm_106)
package penguin_fla {
import flash.display.*;
public dynamic class throwingArm_106 extends MovieClip {
public function throwingArm_106(){
addFrameScript(1, frame2, 46, frame47, 89, frame90);
}
function frame47(){
stop();
}
function frame90(){
stop();
}
function frame2(){
stop();
}
}
}//package penguin_fla
Section 105
//Title2_20 (penguin_fla.Title2_20)
package penguin_fla {
import flash.display.*;
public dynamic class Title2_20 extends MovieClip {
public function Title2_20(){
addFrameScript(208, frame209);
}
function frame209(){
gotoAndPlay("shine");
}
}
}//package penguin_fla
Section 106
//Trophies_233 (penguin_fla.Trophies_233)
package penguin_fla {
import flash.display.*;
public dynamic class Trophies_233 extends MovieClip {
public function Trophies_233(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package penguin_fla
Section 107
//zipper1_171 (penguin_fla.zipper1_171)
package penguin_fla {
import flash.display.*;
public dynamic class zipper1_171 extends MovieClip {
public function zipper1_171(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package penguin_fla
Section 108
//AnimationPlane (AnimationPlane)
package {
import flash.events.*;
import flash.display.*;
import as3lib.*;
import as3lib.utils.*;
public class AnimationPlane extends Sprite {
private var _animationWidth:Number;
private var _contentMask:Sprite;
private var _animations:Array;
private var _maskHeight:Number;
private var _content:Sprite;
private var _animationGraphicClass:Class;
private var _scrollSpeedMultipyler:Number;
private var _maskWidth:Number;
private static const CREATE_BUFFER:Number = 100;
private static const DESTROY_BUFFER:Number = 200;
public function AnimationPlane(_arg1:Number, _arg2:Number){
_maskWidth = _arg1;
_maskHeight = _arg2;
_content = new Sprite();
this.addChild(_content);
_animations = new Array();
GlobalEvents.instance.addEventListener(GameEvent.PAUSE, handleGamePause);
GlobalEvents.instance.addEventListener(GameEvent.RESUME, handleGameResume);
}
private function handleGameResume(_arg1:CustomEvent):void{
var _local2:MovieClip;
var _local3:MovieClip;
var _local5:int;
var _local4:int;
while (_local4 < _animations.length) {
_local2 = _animations[_local4];
_local5 = 0;
while (_local5 < _local2.numChildren) {
_local3 = (_local2.getChildAt(_local5) as MovieClip);
if (_local3){
if (_local3.name.indexOf("holder") != -1){
if (_local3.BossContainer){
_local3.BossContainer.play();
if (_local3.BossContainer.bossAnim){
_local3.BossContainer.bossAnim.play();
if (_local3.BossContainer.bossAnim.throwArm){
_local3.BossContainer.bossAnim.throwArm.play();
};
};
};
_local3.play();
};
};
_local5++;
};
_local2.play();
_local4++;
};
}
private function createMask():Sprite{
var _local1:Sprite = new Sprite();
_local1.graphics.beginFill(0xFF00, 1);
_local1.graphics.drawRect(0, 0, _maskWidth, _maskHeight);
_local1.graphics.endFill();
return (_local1);
}
public function update(_arg1:Number){
}
public function addAnimationClip(_arg1:MovieClip):void{
_animations.push(_arg1);
_content.addChild(_arg1);
_arg1.addEventListener(Event.COMPLETE, handleAnimationComplete);
}
private function handleAnimationComplete(_arg1:Event):void{
var _local2:* = (_arg1.target as MovieClip);
_local2.removeEventListener(Event.COMPLETE, handleAnimationComplete);
ArrayTools.removeItem(_animations, _local2);
if (_content.contains(_local2)){
trace("==REMOVE ANIMATION==");
_content.removeChild(_local2);
};
}
private function handleGamePause(_arg1:CustomEvent):void{
var _local2:MovieClip;
var _local3:MovieClip;
var _local5:int;
var _local4:int;
while (_local4 < _animations.length) {
_local2 = (_animations[_local4] as MovieClip);
if (_local2){
_local5 = 0;
while (_local5 < _local2.numChildren) {
_local3 = (_local2.getChildAt(_local5) as MovieClip);
if (_local3){
if (_local3.name.indexOf("holder") != -1){
if (_local3.BossContainer){
_local3.BossContainer.stop();
if (_local3.BossContainer.bossAnim){
_local3.BossContainer.bossAnim.stop();
if (_local3.BossContainer.bossAnim.throwArm){
_local3.BossContainer.bossAnim.throwArm.stop();
};
};
};
_local3.stop();
};
};
_local5++;
};
_local2.stop();
};
_local4++;
};
}
public function addAnimation(_arg1:Class):void{
var _local2:MovieClip = new (_arg1);
addAnimationClip(_local2);
}
public function get content():Sprite{
return (_content);
}
public function destroy():void{
GlobalEvents.instance.removeEventListener(GameEvent.PAUSE, handleGamePause);
GlobalEvents.instance.removeEventListener(GameEvent.RESUME, handleGameResume);
}
}
}//package
Section 109
//BackgroundManager (BackgroundManager)
package {
import flash.events.*;
import flash.display.*;
import gs.*;
import as3lib.*;
import as3lib.utils.*;
import gs.easing.*;
public class BackgroundManager {
private var _background1:ScrollingPlane;// = null
private var _background2:ScrollingPlane;// = null
private var _background3:ScrollingPlane;// = null
private var _background4:ScrollingPlane;// = null
private var _transitioning_2_3:Boolean;
private var _stopped:Boolean;
private var _skyHolder:Sprite;
private var _transPlaneFront:ScrollingPlane;
private var _transPlaneBack:ScrollingPlane;
private var _transHolderBack:Sprite;
private var _bgHolders:Array;
private var _transitioning_1_2:Boolean;
private var _transitioning_3_4:Boolean;
private var _foreground:ScrollingPlane;// = null
private var _sky:MovieClip;
private var _transHolderFront:Sprite;
public function BackgroundManager(_arg1:Sprite, _arg2:Sprite, _arg3:Sprite, _arg4:Array, _arg5:Sprite){
_transHolderBack = _arg3;
_transHolderFront = _arg2;
_skyHolder = _arg5;
_foreground = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.FG_SPEED_MULTIPLYER);
_foreground.tileGraphicClassList = Settings.FG_GRAPHIC_LIST;
_foreground.tileWidth = 760;
_foreground.y = 0;
_foreground.animatedClasses = [Settings.FG_GRAPHIC_LIST[0]];
_foreground.drawFirst();
_background1 = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.BG1_SPEED_MULTIPLYER);
_background1.tileGraphicClassList = Settings.BG1_GRAPHIC_LIST;
_background1.tileWidth = 760;
_background1.y = 0;
_background1.drawFirst();
_background2 = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.BG2_SPEED_MULTIPLYER);
_background2.tileGraphicClassList = Settings.BG2_GRAPHIC_LIST;
_background2.tileWidth = 760;
_background2.y = 0;
_background2.drawFirst();
_background3 = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.BG3_SPEED_MULTIPLYER);
_background3.tileGraphicClassList = Settings.BG3_GRAPHIC_LIST;
_background3.tileWidth = 760;
_background3.y = 0;
_background3.drawFirst();
_sky = new BgSky1();
_bgHolders = _arg4;
_arg1.addChild(_foreground);
_arg4[0].addChild(_background1);
_arg4[1].addChild(_background2);
_arg4[2].addChild(_background3);
_skyHolder.addChild(_sky);
}
private function panTo(_arg1:Array, _arg2:Number=0, _arg3:Function=null){
if (_arg2 != 0){
if (_foreground){
TweenLite.to(_foreground, _arg2, {y:_arg1[0], ease:_arg3});
};
if (_transPlaneFront){
TweenLite.to(_transPlaneFront, _arg2, {y:_arg1[1], ease:_arg3});
};
if (_transPlaneBack){
TweenLite.to(_transPlaneBack, _arg2, {y:_arg1[2], ease:_arg3});
};
if (_background1){
TweenLite.to(_background1, _arg2, {y:_arg1[3], ease:_arg3});
};
if (_background2){
TweenLite.to(_background2, _arg2, {y:_arg1[4], ease:_arg3});
};
if (_background3){
TweenLite.to(_background3, _arg2, {y:_arg1[5], ease:_arg3});
};
if (_background4){
TweenLite.to(_background4, _arg2, {y:_arg1[6], ease:_arg3});
};
if (_sky){
TweenLite.to(_sky, _arg2, {y:_arg1[7], ease:_arg3});
};
} else {
if (_foreground){
_foreground.y = _arg1[0];
};
if (_transPlaneFront){
_transPlaneFront.y = _arg1[1];
};
if (_transPlaneBack){
_transPlaneBack.y = _arg1[2];
};
if (_background1){
_background1.y = _arg1[3];
};
if (_background2){
_background2.y = _arg1[4];
};
if (_background3){
_background3.y = _arg1[5];
};
if (_background4){
_background4.y = _arg1[6];
};
if (_sky){
_sky.y = _arg1[7];
};
};
}
public function panUp(_arg1:Boolean=false):void{
var _local2:Number = 0;
if (_arg1){
_local2 = 3;
};
var _local3:Array = [600, 500, 405, 305, 205, 155, 130, 115];
panTo(_local3, _local2, Quad.easeInOut);
}
private function switchToLevel3bComplete():void{
_foreground.scrollSpeedMultipyler = Settings.FG_SPEED_MULTIPLYER_OCEAN;
_foreground.setTileGraphicClassList(Settings.STAGE3_FG_GRAPHIC_LIST, false);
}
public function switchToLevel3aBackComplete():void{
_transitioning_2_3 = false;
_transHolderBack.removeChild(_transPlaneBack);
_transPlaneBack.destroy();
}
public function transitionToLevel2b():void{
_foreground.setTileGraphicClassList([S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk_Trans1, S1_EmptyChunk, S1_Bg0Chunk_Trans2, S1_Bg0Chunk_Trans1, S1_EmptyChunk, S1_Bg0Chunk_Trans1, S1_EmptyChunk, S1_Bg0Chunk_Trans3, S1_EmptyChunk, S1_Bg0Chunk_Trans7, S1_Bg0Chunk_Trans7, S1_Bg0Chunk_Trans2, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk_Trans4, S1_Bg0Chunk_Trans6, S1_EmptyChunk, S1_Bg0Chunk_Trans5, S1_EmptyChunk, S1_Bg0Chunk_Trans6, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk], false);
_foreground.addEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition2FgComplete);
}
public function transitionToLevel2c():void{
GlobalEvents.instance.broadcastEvent(new CustomEvent(Trigger.ANIMATION, Stage2Anim));
}
private function handleTransition3BackTransComplete(_arg1:CustomEvent):void{
_transPlaneBack.removeEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition3BackTransComplete);
switchToLevel3aBackComplete();
}
private function handleTransition2BackTransComplete(_arg1:CustomEvent):void{
_transPlaneBack.removeEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition2BackTransComplete);
switchToLevel2aComplete();
}
private function handleTransition2FgComplete(_arg1:CustomEvent):void{
_foreground.removeEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition2FgComplete);
switchToLevel2bComplete();
}
private function handleTransition4FgComplete(_arg1:CustomEvent):void{
_foreground.removeEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition4FgComplete);
switchToLevel4bComplete();
}
public function transitionToLevel2a():void{
_transPlaneBack = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.TRANS_BACK_SPEED_MULTIPLYER_1_2, true);
_transPlaneBack.tileGraphicClassList = [S1_EmptyChunk, S1_2_Trans1, S1_2_Trans2, S1_2_Trans3, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk];
_transPlaneBack.tileWidth = 760;
_transHolderBack.addChild(_transPlaneBack);
_transPlaneBack.addEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition2BackTransComplete);
_transitioning_1_2 = true;
}
public function transitionToLevel2d():void{
_background1.setTileGraphicClassList(Settings.STAGE2_BG1_GRAPHIC_LIST, true);
_background2.setTileGraphicClassList(Settings.STAGE2_BG2_GRAPHIC_LIST, true);
_background3.setTileGraphicClassList(Settings.STAGE2_BG3_GRAPHIC_LIST, true);
DisplayTools.removeAllChildrenFrom(_skyHolder);
_sky = new BgSky2();
_skyHolder.addChild(_sky);
}
public function switchToLevel4aFrontComplete():void{
_transHolderFront.removeChild(_transPlaneFront);
_transPlaneFront.destroy();
}
public function transitionToLevel3a():void{
_transPlaneFront = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.TRANS_FRONT_SPEED_MULTIPLYER, true);
_transPlaneFront.tileGraphicClassList = [S1_EmptyChunk, S2_3_Trans_Front1, S1_EmptyChunk, S2_3_Trans_Front1, S2_3_Trans_Front2, S2_3_Trans_Front3, S2_3_Trans_Front4, S1_EmptyChunk, S1_EmptyChunk];
_transPlaneFront.tileWidth = 760;
_transHolderFront.addChild(_transPlaneFront);
_transPlaneFront.addEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition3FrontTransComplete);
_transPlaneBack = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.TRANS_BACK_SPEED_MULTIPLYER_2_3, true);
_transPlaneBack.tileGraphicClassList = [S1_EmptyChunk, S2_3_Trans_Back1, S2_3_Trans_Back2, S2_3_Trans_Back4, S2_3_Trans_Back5, S1_EmptyChunk, S1_EmptyChunk];
_transPlaneBack.tileWidth = 760;
_transHolderBack.addChild(_transPlaneBack);
_transPlaneBack.addEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition3BackTransComplete);
_transitioning_2_3 = true;
}
public function transitionToLevel3d():void{
trace(("transitionToLevel3d " + transitionToLevel3d));
_background4 = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.BG4_SPEED_MULTIPLYER_OCEAN);
_background4.tileWidth = 760;
_background4.y = 0;
_bgHolders[3].addChild(_background4);
_background1.setTileGraphicClassList(Settings.STAGE3_BG1_GRAPHIC_LIST, true);
_background2.setTileGraphicClassList(Settings.STAGE3_BG2_GRAPHIC_LIST, true);
_background3.setTileGraphicClassList(Settings.STAGE3_BG3_GRAPHIC_LIST, true);
_background4.tileGraphicClassList = Settings.STAGE3_BG4_GRAPHIC_LIST;
Settings.FG_SPEED_MULTIPLYER_OCEAN;
_background4.scrollSpeedMultipyler = Settings.BG4_SPEED_MULTIPLYER_OCEAN;
_background3.scrollSpeedMultipyler = Settings.BG3_SPEED_MULTIPLYER_OCEAN;
_background2.scrollSpeedMultipyler = Settings.BG2_SPEED_MULTIPLYER_OCEAN;
_background1.scrollSpeedMultipyler = Settings.BG1_SPEED_MULTIPLYER_OCEAN;
DisplayTools.removeAllChildrenFrom(_skyHolder);
_sky = new BgSky3();
_skyHolder.addChild(_sky);
}
private function handleTransition3FrontTransComplete(_arg1:CustomEvent):void{
_transPlaneFront.removeEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition3FrontTransComplete);
switchToLevel3aFrontComplete();
}
public function update(_arg1:Number):void{
if (_stopped){
return;
};
_foreground.update(_arg1);
_background1.update(_arg1);
_background2.update(_arg1);
_background3.update(_arg1);
if (_background4 != null){
_background4.update(_arg1);
};
if (_transitioning_1_2){
_transPlaneBack.update(_arg1);
};
if (_transitioning_2_3){
_transPlaneFront.update(_arg1);
_transPlaneBack.update(_arg1);
};
if (_transitioning_3_4){
_transPlaneFront.update(_arg1);
_transPlaneBack.update(_arg1);
};
}
public function transitionToLevel3b():void{
_foreground.setTileGraphicClassList([S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk], false);
_foreground.addEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition3FgComplete);
}
public function switchToLevel4aBackComplete():void{
_transitioning_3_4 = false;
_transHolderBack.removeChild(_transPlaneBack);
_transPlaneBack.destroy();
}
private function switchToLevel4bComplete():void{
_foreground.setTileGraphicClassList([S1_EmptyChunk], false);
}
public function panDown(_arg1:Boolean=false):void{
var _local2:Number = 0;
if (_arg1){
_local2 = 3;
};
var _local3:Array = [0, 0, 0, 0, 0, 0, 0, 0];
panTo(_local3, _local2, Quad.easeOut);
}
public function transitionToLevel4a():void{
_transPlaneFront = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.TRANS_FRONT_SPEED_MULTIPLYER_3_4, true);
_transPlaneFront.tileGraphicClassList = [S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk];
_transPlaneFront.tileWidth = 760;
_transHolderFront.addChild(_transPlaneFront);
_transPlaneFront.addEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition4FrontTransComplete);
_transPlaneBack = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.TRANS_BACK_SPEED_MULTIPLYER_3_4, true);
_transPlaneBack.tileGraphicClassList = [S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S3_4_Trans_Back1, S3_4_Trans_Back2, S3_4_Trans_Back1, S3_4_Trans_Back1, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk];
_transPlaneBack.tileWidth = 760;
_transPlaneBack.animatedClasses = [S3_4_Trans_Back2];
_transHolderBack.addChild(_transPlaneBack);
_transPlaneBack.addEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition4BackTransComplete);
_transitioning_3_4 = true;
}
public function transitionToLevel4c():void{
}
public function transitionToLevel4d():void{
}
public function transitionToLevel4e():void{
_stopped = true;
GlobalEvents.instance.broadcastEvent(new CustomEvent(Trigger.END_GAME));
}
public function transitionToLevel3c():void{
GlobalEvents.instance.broadcastEvent(new CustomEvent(Trigger.ANIMATION, Stage3Anim));
}
private function handleTransition4BackTransComplete(_arg1:CustomEvent):void{
_transPlaneBack.removeEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition4BackTransComplete);
switchToLevel4aBackComplete();
}
private function handleTransition4FrontTransComplete(_arg1:CustomEvent):void{
_transPlaneFront.removeEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition4FrontTransComplete);
switchToLevel4aFrontComplete();
}
private function handleTransition3FgComplete(_arg1:CustomEvent):void{
_foreground.removeEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition3FgComplete);
switchToLevel3bComplete();
}
public function transitionToLevel4b():void{
_foreground.setTileGraphicClassList([S3_Bg0ChunkIce1, S1_EmptyChunk, S3_Bg0ChunkIce2, S1_EmptyChunk, S3_Bg0ChunkIce1, S3_Bg0ChunkIce1, S3_Bg0ChunkIce2, S3_Bg0ChunkIce1, S3_Bg0ChunkIce2, S3_Bg0ChunkIce1, S3_Bg0ChunkIce1, S3_Bg0ChunkIce2, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk], false);
_foreground.addEventListener(ScrollingPlane.COMPLETE_LIST, handleTransition4FgComplete);
}
public function switchToLevel2aComplete():void{
_transitioning_1_2 = false;
_transHolderBack.removeChild(_transPlaneBack);
_transPlaneBack.destroy();
}
private function switchToLevel2bComplete():void{
_foreground.setTileGraphicClassList(Settings.STAGE2_FG_GRAPHIC_LIST, false);
}
public function switchToLevel3aFrontComplete():void{
_transHolderFront.removeChild(_transPlaneFront);
_transPlaneFront.destroy();
}
}
}//package
Section 110
//BgSky1 (BgSky1)
package {
import flash.display.*;
public dynamic class BgSky1 extends MovieClip {
}
}//package
Section 111
//BgSky2 (BgSky2)
package {
import flash.display.*;
public dynamic class BgSky2 extends MovieClip {
}
}//package
Section 112
//BgSky3 (BgSky3)
package {
import flash.display.*;
public dynamic class BgSky3 extends MovieClip {
}
}//package
Section 113
//Boss (Boss)
package {
import flash.events.*;
import flash.display.*;
public dynamic class Boss extends MovieClip {
public var holder2:MovieClip;
public function Boss(){
addFrameScript(834, frame835, 835, frame836);
}
function frame836(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
}
function frame835(){
dispatchEvent(new Event("scrollResume"));
}
}
}//package
Section 114
//Cannon (Cannon)
package {
import flash.events.*;
import flash.display.*;
public class Cannon extends MovieClip {
public var instructionsContent:MovieClip;
public function Cannon(){
addFrameScript(4, frame5, 46, frame47, 125, frame126, 185, frame186);
trace("new Cannon..");
ElementManager.instance.registerCannon(this);
if (Settings.firstRun){
trace("FIRST RUN");
this.instructionsContent.gotoAndStop(1);
} else {
trace("NEXT RUN");
this.instructionsContent.gotoAndStop(2);
};
}
function frame47(){
SoundController.instance.playMusicLoop(SoundController.STAGE1_A);
}
function frame186(){
stop();
}
public function action():void{
this.gotoAndPlay("action");
}
function frame126(){
dispatchEvent(new Event(Event.COMPLETE));
}
function frame5(){
stop();
}
}
}//package
Section 115
//Coin (Coin)
package {
import flash.display.*;
public class Coin extends MovieClip implements ICollectable {
public var collected:Boolean;
public var value:int;// = 1
private var _nested:Boolean;
public function Coin(){
addFrameScript(1, frame2, 13, frame14);
this.cacheAsBitmap = true;
ElementManager.instance.registerCollectable(this);
if (this.parent.name.indexOf("holder") != -1){
_nested = true;
};
}
public function getGlobalY():Number{
if (_nested){
return (((this.y + this.parent.y) + this.parent.parent.y));
};
return ((this.y + this.parent.y));
}
function frame2(){
stop();
}
public function hasCollected():Boolean{
return (collected);
}
function frame14(){
stop();
}
public function collect():void{
this.cacheAsBitmap = false;
collected = true;
this.gotoAndPlay("capture");
SoundController.instance.playUniqueSound(SoundController.COLLECT_COIN);
}
public function getValue():int{
return (this.value);
}
public function getGlobalX():Number{
if (_nested){
return (((this.x + this.parent.x) + this.parent.parent.x));
};
return ((this.x + this.parent.x));
}
}
}//package
Section 116
//CountDownAnim (CountDownAnim)
package {
import flash.events.*;
import flash.display.*;
import as3lib.*;
public dynamic class CountDownAnim extends MovieClip {
public function CountDownAnim(){
addFrameScript(20, frame21, 149, frame150);
}
function frame21(){
SoundController.instance.playMusicLoop(SoundController.STAGE1_B, 1, true);
}
function frame150(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
GlobalEvents.instance.broadcastEvent(new CustomEvent("go"));
}
}
}//package
Section 117
//Crosshair (Crosshair)
package {
import flash.display.*;
public dynamic class Crosshair extends MovieClip {
}
}//package
Section 118
//CustomCursor (CustomCursor)
package {
import flash.events.*;
import flash.display.*;
import flash.ui.*;
public class CustomCursor extends MovieClip {
private static var _instance:CustomCursor;
public function CustomCursor(){
_instance = this;
this.parent.addEventListener(MouseEvent.MOUSE_MOVE, handleMouseMove);
this.cacheAsBitmap = true;
this.mouseEnabled = false;
this.mouseChildren = false;
this.visible = false;
hideMouse();
this.stage.addEventListener(Event.MOUSE_LEAVE, handleMouseLeave);
}
public function hide():void{
this.alpha = 0;
}
public function showMouse():void{
Mouse.show();
}
private function handleMouseLeave(_arg1:Event):void{
this.visible = false;
}
public function hideMouse():void{
Mouse.hide();
}
public function show():void{
this.alpha = 1;
}
private function handleMouseMove(_arg1:MouseEvent):void{
if (this.alpha == 0){
this.alpha = 1;
};
this.visible = true;
this.x = _arg1.stageX;
this.y = _arg1.stageY;
}
public static function get instance():CustomCursor{
if (_instance == null){
_instance = new (CustomCursor);
};
return (_instance);
}
}
}//package
Section 119
//Digit (Digit)
package {
import flash.events.*;
import flash.display.*;
public class Digit extends MovieClip {
public var bounceContent:MovieClip;
private var _value:Number;
private var _clip:MovieClip;
private var _pending:Boolean;
private var _tempValue:Number;
public function Digit(){
_clip = this;
_value = 0;
this.addEventListener("peek", updateToTemp);
}
public function get value():Number{
return (_value);
}
public function setValue(_arg1, _arg2:Boolean){
if (_pending){
updateToTemp(null);
};
_value = _arg1;
_tempValue = _value;
if (!_arg2){
updateToTemp(null);
} else {
_pending = true;
_clip.gotoAndPlay("bounce");
};
}
public function get clip():MovieClip{
return (_clip);
}
private function updateToTemp(_arg1:Event):void{
_pending = false;
_clip.bounceContent.gotoAndStop((_tempValue + 1));
}
}
}//package
Section 120
//Digit1 (Digit1)
package {
import flash.events.*;
public dynamic class Digit1 extends Digit {
public function Digit1(){
addFrameScript(2, frame3, 4, frame5, 6, frame7);
}
function frame5(){
dispatchEvent(new Event("peek"));
}
function frame7(){
dispatchEvent(new Event(Event.COMPLETE));
}
function frame3(){
stop();
}
}
}//package
Section 121
//Digit2 (Digit2)
package {
import flash.events.*;
public dynamic class Digit2 extends Digit {
public function Digit2(){
addFrameScript(2, frame3, 4, frame5, 6, frame7);
}
function frame5(){
dispatchEvent(new Event("peek"));
}
function frame7(){
dispatchEvent(new Event(Event.COMPLETE));
}
function frame3(){
stop();
}
}
}//package
Section 122
//ElementManager (ElementManager)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import as3lib.utils.*;
public class ElementManager extends MovieClip {
private var _coins:Array;
public var puffFrames:Array;
private var _zippers:Array;
private var _triggers:Array;
private var _lastHeadPoint:Point;
private var _avoidables:Array;
public var cannon:Cannon;
private static var _instance:ElementManager = null;
public function ElementManager(){
reset();
puffFrames = new Array();
}
public function registerCannon(_arg1:Cannon):void{
this.cannon = _arg1;
this.cannon.addEventListener(Event.COMPLETE, handleCannonComplete);
}
public function registerAnimTrigger(_arg1:MovieClip):void{
dispatchEvent(new GameEvent(GameEvent.TRIGGER_ANIMATION, _arg1));
}
public function update(_arg1:Array, _arg2:Number):void{
var _local3:Point;
var _local4:ICollectable;
var _local6:IAvoidable;
var _local8:Zipper;
var _local10:ITriggerable;
var _local12:int;
var _local13:int;
var _local5:int;
while (_local5 < _coins.length) {
_local4 = (_coins[_local5] as ICollectable);
if (!_local4.hasCollected()){
_local12 = 0;
while (_local12 < _arg1.length) {
_local3 = (_arg1[_local12] as Point);
if (Point.distance(_local3, new Point(_local4.getGlobalX(), _local4.getGlobalY())) < Settings.COLLECT_THRESH){
_local4.collect();
dispatchEvent(new GameEvent(GameEvent.COLLECT_COIN, _local4));
break;
};
_local12++;
};
};
_local5++;
};
var _local7:int;
while (_local7 < _avoidables.length) {
_local6 = (_avoidables[_local7] as IAvoidable);
if (!_local6.hasCollided()){
_local13 = 0;
while (_local13 < _arg1.length) {
_local3 = (_arg1[_local13] as Point);
if (Point.distance(_local3, new Point(_local6.getGlobalX(), _local6.getGlobalY())) < Settings.PUFF_THRESH){
_local6.puff();
if (Point.distance(_local3, new Point(_local6.getGlobalX(), _local6.getGlobalY())) < Settings.COLLECT_THRESH){
_local6.collide();
dispatchEvent(new GameEvent(GameEvent.COLLIDE_BOMB, _local4));
break;
};
};
_local13++;
};
};
_local6.update();
_local7++;
};
_local3 = _arg1[0];
var _local9:int;
while (_local9 < _zippers.length) {
_local8 = (_zippers[_local9] as Zipper);
if (!_local8.zipped){
if (Point.distance(_local3, new Point(_local8.getGlobalX(), _local8.getGlobalY())) < 100){
if (HitTest.lineToLineIntersection((_lastHeadPoint.x - _arg2), _lastHeadPoint.y, _local3.x, _local3.y, _local8.getGlobalX(), (_local8.getGlobalY() - _local8.radius), _local8.getGlobalX(), (_local8.getGlobalY() + _local8.radius)).b == true){
_local8.zip();
dispatchEvent(new GameEvent(GameEvent.HIT_ZIPPER, _local8));
};
};
};
_local9++;
};
_lastHeadPoint.x = _local3.x;
_lastHeadPoint.y = _local3.y;
var _local11:int;
while (_local11 < _triggers.length) {
_local10 = (_triggers[_local11] as ITriggerable);
if (!_local10.hasTriggered()){
if (_local10.getGlobalX() < 0){
_local10.trigger();
};
};
_local11++;
};
}
public function reset():void{
_coins = new Array();
_avoidables = new Array();
_zippers = new Array();
_lastHeadPoint = new Point();
_triggers = new Array();
}
private function handleTriggerRemoved(_arg1:Event):void{
var _local2:ITriggerable = (_arg1.target as ITriggerable);
_local2.removeEventListener(Event.REMOVED_FROM_STAGE, handleTriggerRemoved);
ArrayTools.removeItem(_triggers, _local2);
}
private function handleCollectableRemoved(_arg1:Event):void{
var _local2:ICollectable = (_arg1.target as ICollectable);
_local2.removeEventListener(Event.REMOVED_FROM_STAGE, handleCollectableRemoved);
ArrayTools.removeItem(_coins, _local2);
}
public function registerTrigger(_arg1:ITriggerable):void{
_triggers.push(_arg1);
_arg1.addEventListener(Event.REMOVED_FROM_STAGE, handleTriggerRemoved);
}
private function handleAvoidableRemoved(_arg1:Event):void{
var _local2:IAvoidable = (_arg1.target as IAvoidable);
_local2.removeEventListener(Event.REMOVED_FROM_STAGE, handleAvoidableRemoved);
ArrayTools.removeItem(_avoidables, _local2);
}
private function handleZipperRemoved(_arg1:Event):void{
var _local2:Zipper = (_arg1.target as Zipper);
_local2.removeEventListener(Event.REMOVED_FROM_STAGE, handleZipperRemoved);
ArrayTools.removeItem(_zippers, _local2);
}
private function handleCannonComplete(_arg1:Event):void{
this.cannon.removeEventListener(Event.COMPLETE, handleCannonComplete);
dispatchEvent(new GameEvent(GameEvent.CANNON_FIRE));
}
public function registerZipper(_arg1:Zipper):void{
_zippers.push(_arg1);
_arg1.addEventListener(Event.REMOVED_FROM_STAGE, handleZipperRemoved);
}
public function registerCollectable(_arg1:ICollectable):void{
_coins.push(_arg1);
_arg1.addEventListener(Event.REMOVED_FROM_STAGE, handleCollectableRemoved);
}
public function registerAvoidable(_arg1:IAvoidable):void{
_avoidables.push(_arg1);
_arg1.addEventListener(Event.REMOVED_FROM_STAGE, handleAvoidableRemoved);
}
public function initialiseBitmaps():void{
var _local1:PuffTemplate2 = new PuffTemplate2();
_local1.initialise();
puffFrames[Puff.IDLE] = _local1.idleFrames.slice(0, _local1.idleFrames.length);
puffFrames[Puff.PUFFING] = _local1.puffingFrames.slice(0, _local1.puffingFrames.length);
puffFrames[Puff.COLLIDING] = _local1.collidingFrames.slice(0, _local1.collidingFrames.length);
}
public static function resetSingleton():void{
_instance = new (ElementManager);
}
public static function get instance():ElementManager{
if (_instance == null){
_instance = new (ElementManager);
};
return (_instance);
}
}
}//package
Section 123
//Flake (Flake)
package {
import flash.display.*;
public class Flake extends MovieClip {
public var rotSpeed:Number;
public var ySpeed:Number;
public var homeX:Number;
public var maxDisplacement:Number;
public var xRot:Number;
}
}//package
Section 124
//GameEvent (GameEvent)
package {
import flash.events.*;
public class GameEvent extends Event {
protected var _data:Object;
protected var _type:String;
public static const COLLIDE_BOMB:String = "collideBomb";
public static const HIT_ZIPPER:String = "hitZipper";
public static const TRIGGER_SPEED_UP:String = "triggerSpeedUp";
public static const RESUME:String = "resume";
public static const COLLECT_COIN:String = "collectCoin";
public static const PAUSE:String = "pause";
public static const CANNON_FIRE:String = "cannonFire";
public static const TRIGGER_ANIMATION:String = "triggerAnimation";
public function GameEvent(_arg1:String, _arg2:Object=null){
super(_arg1);
_type = _arg1;
_data = _arg2;
}
public function get data():Object{
return (_data);
}
override public function clone():Event{
return (new GameEvent(_type, _data));
}
}
}//package
Section 125
//GamePlane (GamePlane)
package {
import flash.events.*;
import flash.display.*;
import as3lib.*;
public class GamePlane {
private var _running:Boolean;// = false
private var _triggerTimes:Array;
private var _runningGameAnimation:Boolean;// = false
private var _triggers:Array;
private var _easyIteratorIndex:int;// = 0
public var scrollingPlane:ScrollingPlane;
public var animationPlane:AnimationPlane;
public function GamePlane(_arg1:Number, _arg2:Number){
scrollingPlane = new ScrollingPlane(_arg1, _arg2, 1, true, false);
scrollingPlane.addEventListener(Event.CHANGE, handleScrollPlaneChange);
scrollingPlane.addEventListener(ScrollingPlane.COMPLETE_LIST, handleGameComplete);
scrollingPlane.tileWidth = 500;
animationPlane = new AnimationPlane(_arg1, _arg2);
_triggers = new Array();
_triggerTimes = new Array();
var _local3:Trigger = new Trigger(Trigger.ANIMATION, CountDownAnim);
var _local4:Trigger = new Trigger(Trigger.ANIMATION, InstructionsAnim);
var _local5:Trigger = new Trigger(Trigger.SPEED_UP, Settings.PLAYER_MAX_X_SPEEDS[1]);
var _local6:Trigger = new Trigger(Trigger.NEW_LEVEL, {level:2, transitionPart:"a"});
var _local7:Trigger = new Trigger(Trigger.NEW_LEVEL, {level:2, transitionPart:"b"});
var _local8:Trigger = new Trigger(Trigger.NEW_LEVEL, {level:3, transitionPart:"a"});
var _local9:Trigger = new Trigger(Trigger.NEW_LEVEL, {level:3, transitionPart:"b"});
var _local10:Trigger = new Trigger(Trigger.NEW_LEVEL, {level:4, transitionPart:"a"});
var _local11:Trigger = new Trigger(Trigger.NEW_LEVEL, {level:4, transitionPart:"b"});
var _local12:Trigger = new Trigger(Trigger.GAME_ANIMATION, JumpFishAnim_1);
var _local13:Trigger = new Trigger(Trigger.GAME_ANIMATION, JumpFishAnim_2);
var _local14:Trigger = new Trigger(Trigger.GAME_ANIMATION, JumpFishAnim_3);
var _local15:Trigger = new Trigger(Trigger.GAME_ANIMATION, JumpFishAnim_4);
var _local16:Trigger = new Trigger(Trigger.GAME_ANIMATION, JumpFishAnim_1_5);
var _local17:Trigger = new Trigger(Trigger.GAME_ANIMATION, ZipperJumpFishAnim);
var _local18:Trigger = new Trigger(Trigger.ENTER_BOSS, Boss);
var _local19:Trigger = new Trigger(Trigger.MUSIC_CHANGE, SoundController.STAGE2_B);
var _local20:Trigger = new Trigger(Trigger.MUSIC_CHANGE, SoundController.STAGE2_A);
var _local21:Trigger = new Trigger(Trigger.MUSIC_CHANGE, SoundController.STAGE3_B);
scrollingPlane.tileGraphicClassList = new Array();
addTiles([LevelChunk_Empty, LevelChunk_Empty, _local3]);
addTiles([LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty]);
addTiles([LevelChunk_FishIntro1, LevelChunk_Empty, LevelChunk_FishIntro3]);
addTiles([LevelChunk_Empty]);
addTiles([LevelChunk_SineA_1, LevelChunk_SineA_2, LevelChunk_SineA_3]);
addTiles([LevelChunk_Empty]);
addTiles([LevelChunk_ZipperIntroA_0, LevelChunk_ZipperIntroA_1, LevelChunk_ZipperIntroA_2, LevelChunk_ZipperIntroA_2, LevelChunk_ZipperIntroA_2, LevelChunk_ZipperIntroA_2, LevelChunk_ZipperIntroA_2, LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty, LevelChunk_ZipperIntroB_1, LevelChunk_ZipperIntroB_2, LevelChunk_ZipperIntroA_3, LevelChunk_ZipperIntroA_4, _local5, LevelChunk_ZipperIntroA_4, LevelChunk_ZipperIntroA_4, LevelChunk_ZipperIntroA_4, LevelChunk_Empty, LevelChunk_Empty, LevelChunk_ZipperIntroA_5]);
addTiles([LevelChunk_Empty, LevelChunk_Empty]);
addTiles([_local6]);
addTiles([LevelChunk_Empty]);
addTiles([_local7]);
addTiles([LevelChunk_Stage1Fin_1, LevelChunk_Stage1Fin_2, LevelChunk_Empty]);
addTiles([LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty]);
addTiles([LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty]);
addTiles([LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty]);
addTiles([LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty]);
addTiles([LevelChunk_BombIntro_1]);
addTiles([LevelChunk_Empty]);
addTiles([LevelChunk_SineB_1, LevelChunk_SineB_2, LevelChunk_SineB_3]);
addTiles([_local19]);
addTiles([LevelChunk_Empty]);
addTiles([LevelChunk_DeadEnd_1, LevelChunk_Empty, LevelChunk_DeadEnd_4]);
addTiles([LevelChunk_Empty]);
addTiles([LevelChunk_Gates_4, LevelChunk_Gates_3]);
addTiles([LevelChunk_ZipperSetA_1, LevelChunk_ZipperSetA_2, LevelChunk_ZipperSetA_3, LevelChunk_ZipperSetA_4, LevelChunk_ZipperSetA_5, LevelChunk_ZipperSetA_6, LevelChunk_ZipperSetA_7, LevelChunk_ZipperSetA_8, LevelChunk_ZipperSetA_10, LevelChunk_ZipperSetA_9, LevelChunk_ZipperSetA_9, LevelChunk_ZipperSetA_10, LevelChunk_Empty, LevelChunk_ZipperSetA_9, LevelChunk_Empty, LevelChunk_ZipperSetA_9, LevelChunk_Empty]);
addTiles([_local20]);
addTiles([LevelChunk_Roof_1, LevelChunk_Empty, LevelChunk_Roof_2, LevelChunk_Empty, LevelChunk_Roof_3, LevelChunk_Roof_4]);
addTiles([_local8]);
addTiles([LevelChunk_Empty]);
addTiles([_local9]);
addTiles([LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty]);
addTiles([LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty]);
addTiles([LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty]);
addTiles([_local12]);
addTiles([LevelChunk_Empty]);
addTiles([_local16]);
addTiles([LevelChunk_Empty]);
addTiles([_local13]);
addTiles([LevelChunk_Empty]);
addTiles([_local14]);
addTiles([LevelChunk_Empty]);
addTiles([_local15]);
addTiles([LevelChunk_Empty]);
addTiles([_local17]);
addTiles([LevelChunk_Empty]);
addTiles([_local18]);
addTiles([LevelChunk_Empty]);
addTiles([_local10]);
addTiles([LevelChunk_FinalZipper]);
addTiles([_local11]);
addTiles([LevelChunk_Empty]);
addTiles([LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty, LevelChunk_Empty]);
GlobalEvents.instance.addEventListener(Trigger.ANIMATION, handleAnimationTrigger);
GlobalEvents.instance.addEventListener(Trigger.GAME_ANIMATION, handleGameAnimationTrigger);
GlobalEvents.instance.addEventListener(Trigger.ENTER_BOSS, handleGameAnimationTrigger);
GlobalEvents.instance.addEventListener(Trigger.MUSIC_CHANGE, handleMusicChangeTrigger);
}
public function destroy():void{
GlobalEvents.instance.removeEventListener(Trigger.ANIMATION, handleAnimationTrigger);
GlobalEvents.instance.removeEventListener(Trigger.GAME_ANIMATION, handleGameAnimationTrigger);
GlobalEvents.instance.removeEventListener(Trigger.MUSIC_CHANGE, handleMusicChangeTrigger);
animationPlane.destroy();
}
public function update(_arg1:Number){
if (!_runningGameAnimation){
scrollingPlane.update(_arg1);
};
}
private function handleMusicChangeTrigger(_arg1:CustomEvent):void{
trace("handleMusicChangeTrigger");
var _local2:Class = (_arg1.data as Class);
SoundController.instance.playMusicLoop(_local2, 1, true);
}
private function handleGameComplete(_arg1:Event):void{
scrollingPlane.tileGraphicClassList = [LevelChunk_Empty];
}
private function handleScrollPlaneChange(_arg1:Event):void{
var _local2:Trigger;
var _local3:CustomEvent;
if (_triggerTimes[0] == scrollingPlane.itteratorIndex){
_triggerTimes.shift();
_local2 = _triggers.shift();
_local3 = new CustomEvent(_local2.type, _local2.data);
GlobalEvents.instance.broadcastEvent(_local3);
};
}
private function handleAnimationTrigger(_arg1:CustomEvent):void{
var _local2:Class = (_arg1.data as Class);
addAnimation(new (_local2));
}
public function addAnimation(_arg1:MovieClip):void{
animationPlane.addAnimationClip(_arg1);
}
private function addTiles(_arg1:Array):void{
var _local2:Class;
var _local3:Trigger;
var _local4:int;
while (_local4 < _arg1.length) {
_local3 = (_arg1[_local4] as Trigger);
if (_local3 != null){
_triggers.push(_local3);
_triggerTimes.push(scrollingPlane.tileGraphicClassList.length);
} else {
_local2 = (_arg1[_local4] as Class);
if (_local2){
scrollingPlane.tileGraphicClassList.push(_local2);
};
};
_local4++;
};
}
private function handleGameAnimationTrigger(_arg1:CustomEvent):void{
var _local2:Class;
trace(("1 == handleGameAnimationTrigger" + _local2));
_local2 = (_arg1.data as Class);
var _local3:MovieClip = new (_local2);
_runningGameAnimation = true;
_local3.addEventListener("scrollResume", handleGameAnimationScrollResume);
addAnimation(_local3);
}
private function handleGameAnimationScrollResume(_arg1:Event):void{
_arg1.target.removeEventListener("scrollResume", handleGameAnimationScrollResume);
_runningGameAnimation = false;
}
public function startGame():void{
_running = true;
}
private function handleBossCompelte(_arg1:Event):void{
trace("handleBossCompelte");
}
}
}//package
Section 126
//GlobalEvents (GlobalEvents)
package {
import flash.events.*;
import as3lib.*;
public class GlobalEvents extends EventDispatcher {
private static var _instance:GlobalEvents = null;
public function broadcastEvent(_arg1:CustomEvent):void{
dispatchEvent(_arg1);
}
public static function resetSingleton():void{
_instance = new (GlobalEvents);
}
public static function get instance():GlobalEvents{
if (_instance == null){
_instance = new (GlobalEvents);
};
return (_instance);
}
}
}//package
Section 127
//GoalAnim (GoalAnim)
package {
import flash.events.*;
import flash.display.*;
import as3lib.*;
public dynamic class GoalAnim extends MovieClip {
public function GoalAnim(){
addFrameScript(43, frame44);
}
function frame44(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
GlobalEvents.instance.broadcastEvent(new CustomEvent("go"));
}
}
}//package
Section 128
//HeadTracker (HeadTracker)
package {
import flash.display.*;
public dynamic class HeadTracker extends MovieClip {
}
}//package
Section 129
//Hud (Hud)
package {
import flash.display.*;
public dynamic class Hud extends MovieClip {
public var scoreBoard:MovieClip;
public var pauseButton:SimpleButton;
public var timeBoard:TimeBoard;
}
}//package
Section 130
//IAvoidable (IAvoidable)
package {
import flash.events.*;
public interface IAvoidable extends IEventDispatcher {
function hasCollided():Boolean;
function puff():void;
function getGlobalY():Number;
function update():void;
function collide():void;
function getGlobalX():Number;
}
}//package
Section 131
//ICollectable (ICollectable)
package {
import flash.events.*;
public interface ICollectable extends IEventDispatcher {
function getGlobalY():Number;
function hasCollected():Boolean;
function collect():void;
function getValue():int;
function getGlobalX():Number;
}
}//package
Section 132
//InstructionsAnim (InstructionsAnim)
package {
import flash.events.*;
import flash.display.*;
public dynamic class InstructionsAnim extends MovieClip {
public function InstructionsAnim(){
addFrameScript(133, frame134);
}
function frame134(){
dispatchEvent(new Event(Event.COMPLETE));
}
}
}//package
Section 133
//InterfaceSound1 (InterfaceSound1)
package {
import flash.media.*;
public dynamic class InterfaceSound1 extends Sound {
}
}//package
Section 134
//InterfaceSound3 (InterfaceSound3)
package {
import flash.media.*;
public dynamic class InterfaceSound3 extends Sound {
}
}//package
Section 135
//ITriggerable (ITriggerable)
package {
import flash.events.*;
public interface ITriggerable extends IEventDispatcher {
function trigger():void;
function hasTriggered():Boolean;
function getGlobalX():Number;
}
}//package
Section 136
//JumpFishAnim_1 (JumpFishAnim_1)
package {
import flash.events.*;
import flash.display.*;
public dynamic class JumpFishAnim_1 extends MovieClip {
public var holder1:MovieClip;
public function JumpFishAnim_1(){
addFrameScript(63, frame64, 101, frame102);
}
function frame64(){
dispatchEvent(new Event("scrollResume"));
}
function frame102(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
}
}
}//package
Section 137
//JumpFishAnim_1_5 (JumpFishAnim_1_5)
package {
import flash.events.*;
import flash.display.*;
public dynamic class JumpFishAnim_1_5 extends MovieClip {
public var holder2:MovieClip;
public function JumpFishAnim_1_5(){
addFrameScript(7, frame8, 183, frame184, 200, frame201);
}
function frame184(){
dispatchEvent(new Event("scrollResume"));
}
function frame201(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
}
function frame8(){
SoundController.instance.playMusicLoop(SoundController.STAGE3_B, 1, true);
}
}
}//package
Section 138
//JumpFishAnim_2 (JumpFishAnim_2)
package {
import flash.events.*;
import flash.display.*;
public dynamic class JumpFishAnim_2 extends MovieClip {
public var holder2:MovieClip;
public function JumpFishAnim_2(){
addFrameScript(151, frame152, 179, frame180);
}
function frame152(){
dispatchEvent(new Event("scrollResume"));
}
function frame180(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
}
}
}//package
Section 139
//JumpFishAnim_3 (JumpFishAnim_3)
package {
import flash.events.*;
import flash.display.*;
public dynamic class JumpFishAnim_3 extends MovieClip {
public var holder2:MovieClip;
public function JumpFishAnim_3(){
addFrameScript(128, frame129, 153, frame154);
}
function frame154(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
}
function frame129(){
dispatchEvent(new Event("scrollResume"));
}
}
}//package
Section 140
//JumpFishAnim_4 (JumpFishAnim_4)
package {
import flash.events.*;
import flash.display.*;
public dynamic class JumpFishAnim_4 extends MovieClip {
public var holder2:MovieClip;
public function JumpFishAnim_4(){
addFrameScript(174, frame175, 199, frame200);
}
function frame175(){
dispatchEvent(new Event("scrollResume"));
}
function frame200(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
}
}
}//package
Section 141
//LevelChunk_BombIntro_1 (LevelChunk_BombIntro_1)
package {
import flash.display.*;
public dynamic class LevelChunk_BombIntro_1 extends MovieClip {
}
}//package
Section 142
//LevelChunk_DeadEnd_1 (LevelChunk_DeadEnd_1)
package {
import flash.display.*;
public dynamic class LevelChunk_DeadEnd_1 extends MovieClip {
}
}//package
Section 143
//LevelChunk_DeadEnd_2 (LevelChunk_DeadEnd_2)
package {
import flash.display.*;
public dynamic class LevelChunk_DeadEnd_2 extends MovieClip {
}
}//package
Section 144
//LevelChunk_DeadEnd_3 (LevelChunk_DeadEnd_3)
package {
import flash.display.*;
public dynamic class LevelChunk_DeadEnd_3 extends MovieClip {
}
}//package
Section 145
//LevelChunk_DeadEnd_4 (LevelChunk_DeadEnd_4)
package {
import flash.display.*;
public dynamic class LevelChunk_DeadEnd_4 extends MovieClip {
}
}//package
Section 146
//LevelChunk_Empty (LevelChunk_Empty)
package {
import flash.display.*;
public dynamic class LevelChunk_Empty extends MovieClip {
}
}//package
Section 147
//LevelChunk_FinalZipper (LevelChunk_FinalZipper)
package {
import flash.display.*;
public dynamic class LevelChunk_FinalZipper extends MovieClip {
}
}//package
Section 148
//LevelChunk_FishIntro1 (LevelChunk_FishIntro1)
package {
import flash.display.*;
public dynamic class LevelChunk_FishIntro1 extends MovieClip {
}
}//package
Section 149
//LevelChunk_FishIntro2 (LevelChunk_FishIntro2)
package {
import flash.display.*;
public dynamic class LevelChunk_FishIntro2 extends MovieClip {
}
}//package
Section 150
//LevelChunk_FishIntro3 (LevelChunk_FishIntro3)
package {
import flash.display.*;
public dynamic class LevelChunk_FishIntro3 extends MovieClip {
}
}//package
Section 151
//LevelChunk_Gates_1 (LevelChunk_Gates_1)
package {
import flash.display.*;
public dynamic class LevelChunk_Gates_1 extends MovieClip {
}
}//package
Section 152
//LevelChunk_Gates_2 (LevelChunk_Gates_2)
package {
import flash.display.*;
public dynamic class LevelChunk_Gates_2 extends MovieClip {
}
}//package
Section 153
//LevelChunk_Gates_3 (LevelChunk_Gates_3)
package {
import flash.display.*;
public dynamic class LevelChunk_Gates_3 extends MovieClip {
}
}//package
Section 154
//LevelChunk_Gates_4 (LevelChunk_Gates_4)
package {
import flash.display.*;
public dynamic class LevelChunk_Gates_4 extends MovieClip {
}
}//package
Section 155
//LevelChunk_Gates_5 (LevelChunk_Gates_5)
package {
import flash.display.*;
public dynamic class LevelChunk_Gates_5 extends MovieClip {
}
}//package
Section 156
//LevelChunk_Roof_1 (LevelChunk_Roof_1)
package {
import flash.display.*;
public dynamic class LevelChunk_Roof_1 extends MovieClip {
}
}//package
Section 157
//LevelChunk_Roof_2 (LevelChunk_Roof_2)
package {
import flash.display.*;
public dynamic class LevelChunk_Roof_2 extends MovieClip {
}
}//package
Section 158
//LevelChunk_Roof_3 (LevelChunk_Roof_3)
package {
import flash.display.*;
public dynamic class LevelChunk_Roof_3 extends MovieClip {
}
}//package
Section 159
//LevelChunk_Roof_4 (LevelChunk_Roof_4)
package {
import flash.display.*;
public dynamic class LevelChunk_Roof_4 extends MovieClip {
}
}//package
Section 160
//LevelChunk_SineA_1 (LevelChunk_SineA_1)
package {
import flash.display.*;
public dynamic class LevelChunk_SineA_1 extends MovieClip {
}
}//package
Section 161
//LevelChunk_SineA_2 (LevelChunk_SineA_2)
package {
import flash.display.*;
public dynamic class LevelChunk_SineA_2 extends MovieClip {
}
}//package
Section 162
//LevelChunk_SineA_3 (LevelChunk_SineA_3)
package {
import flash.display.*;
public dynamic class LevelChunk_SineA_3 extends MovieClip {
}
}//package
Section 163
//LevelChunk_SineB_1 (LevelChunk_SineB_1)
package {
import flash.display.*;
public dynamic class LevelChunk_SineB_1 extends MovieClip {
}
}//package
Section 164
//LevelChunk_SineB_2 (LevelChunk_SineB_2)
package {
import flash.display.*;
public dynamic class LevelChunk_SineB_2 extends MovieClip {
}
}//package
Section 165
//LevelChunk_SineB_3 (LevelChunk_SineB_3)
package {
import flash.display.*;
public dynamic class LevelChunk_SineB_3 extends MovieClip {
}
}//package
Section 166
//LevelChunk_SlalemA_1 (LevelChunk_SlalemA_1)
package {
import flash.display.*;
public dynamic class LevelChunk_SlalemA_1 extends MovieClip {
}
}//package
Section 167
//LevelChunk_SlalemA_2 (LevelChunk_SlalemA_2)
package {
import flash.display.*;
public dynamic class LevelChunk_SlalemA_2 extends MovieClip {
}
}//package
Section 168
//LevelChunk_SlalemA_3 (LevelChunk_SlalemA_3)
package {
import flash.display.*;
public dynamic class LevelChunk_SlalemA_3 extends MovieClip {
}
}//package
Section 169
//LevelChunk_Stage1Fin_1 (LevelChunk_Stage1Fin_1)
package {
import flash.display.*;
public dynamic class LevelChunk_Stage1Fin_1 extends MovieClip {
}
}//package
Section 170
//LevelChunk_Stage1Fin_2 (LevelChunk_Stage1Fin_2)
package {
import flash.display.*;
public dynamic class LevelChunk_Stage1Fin_2 extends MovieClip {
}
}//package
Section 171
//LevelChunk_TEST_bombs (LevelChunk_TEST_bombs)
package {
import flash.display.*;
public dynamic class LevelChunk_TEST_bombs extends MovieClip {
}
}//package
Section 172
//LevelChunk_TEST_fish (LevelChunk_TEST_fish)
package {
import flash.display.*;
public dynamic class LevelChunk_TEST_fish extends MovieClip {
}
}//package
Section 173
//LevelChunk_ZipperIntroA_0 (LevelChunk_ZipperIntroA_0)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroA_0 extends MovieClip {
}
}//package
Section 174
//LevelChunk_ZipperIntroA_1 (LevelChunk_ZipperIntroA_1)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroA_1 extends MovieClip {
}
}//package
Section 175
//LevelChunk_ZipperIntroA_2 (LevelChunk_ZipperIntroA_2)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroA_2 extends MovieClip {
}
}//package
Section 176
//LevelChunk_ZipperIntroA_3 (LevelChunk_ZipperIntroA_3)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroA_3 extends MovieClip {
}
}//package
Section 177
//LevelChunk_ZipperIntroA_4 (LevelChunk_ZipperIntroA_4)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroA_4 extends MovieClip {
}
}//package
Section 178
//LevelChunk_ZipperIntroA_5 (LevelChunk_ZipperIntroA_5)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroA_5 extends MovieClip {
}
}//package
Section 179
//LevelChunk_ZipperIntroA_6 (LevelChunk_ZipperIntroA_6)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroA_6 extends MovieClip {
}
}//package
Section 180
//LevelChunk_ZipperIntroB_1 (LevelChunk_ZipperIntroB_1)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroB_1 extends MovieClip {
public var holder1:MovieClip;
}
}//package
Section 181
//LevelChunk_ZipperIntroB_2 (LevelChunk_ZipperIntroB_2)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroB_2 extends MovieClip {
public var holder1:MovieClip;
}
}//package
Section 182
//LevelChunk_ZipperIntroB_3 (LevelChunk_ZipperIntroB_3)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroB_3 extends MovieClip {
public var holder1:MovieClip;
}
}//package
Section 183
//LevelChunk_ZipperIntroB_4 (LevelChunk_ZipperIntroB_4)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroB_4 extends MovieClip {
}
}//package
Section 184
//LevelChunk_ZipperIntroB_5 (LevelChunk_ZipperIntroB_5)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroB_5 extends MovieClip {
}
}//package
Section 185
//LevelChunk_ZipperIntroB_6 (LevelChunk_ZipperIntroB_6)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroB_6 extends MovieClip {
}
}//package
Section 186
//LevelChunk_ZipperIntroB_7 (LevelChunk_ZipperIntroB_7)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroB_7 extends MovieClip {
}
}//package
Section 187
//LevelChunk_ZipperIntroB_8 (LevelChunk_ZipperIntroB_8)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperIntroB_8 extends MovieClip {
}
}//package
Section 188
//LevelChunk_ZipperJumpingFish (LevelChunk_ZipperJumpingFish)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperJumpingFish extends MovieClip {
}
}//package
Section 189
//LevelChunk_ZipperSetA_1 (LevelChunk_ZipperSetA_1)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_1 extends MovieClip {
}
}//package
Section 190
//LevelChunk_ZipperSetA_10 (LevelChunk_ZipperSetA_10)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_10 extends MovieClip {
}
}//package
Section 191
//LevelChunk_ZipperSetA_2 (LevelChunk_ZipperSetA_2)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_2 extends MovieClip {
}
}//package
Section 192
//LevelChunk_ZipperSetA_3 (LevelChunk_ZipperSetA_3)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_3 extends MovieClip {
}
}//package
Section 193
//LevelChunk_ZipperSetA_4 (LevelChunk_ZipperSetA_4)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_4 extends MovieClip {
}
}//package
Section 194
//LevelChunk_ZipperSetA_5 (LevelChunk_ZipperSetA_5)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_5 extends MovieClip {
}
}//package
Section 195
//LevelChunk_ZipperSetA_6 (LevelChunk_ZipperSetA_6)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_6 extends MovieClip {
}
}//package
Section 196
//LevelChunk_ZipperSetA_7 (LevelChunk_ZipperSetA_7)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_7 extends MovieClip {
}
}//package
Section 197
//LevelChunk_ZipperSetA_8 (LevelChunk_ZipperSetA_8)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_8 extends MovieClip {
}
}//package
Section 198
//LevelChunk_ZipperSetA_9 (LevelChunk_ZipperSetA_9)
package {
import flash.display.*;
public dynamic class LevelChunk_ZipperSetA_9 extends MovieClip {
}
}//package
Section 199
//LinePlane (LinePlane)
package {
import flash.display.*;
public class LinePlane extends Sprite {
private var _chunks:Array;
private var _contentMask:Sprite;
private var _maskHeight:Number;
private var _drawing:Boolean;// = false
private var _thicknessNow:Number;// = 1
private var _thicknessTarget:Number;
private var _scrollSpeedMultipyler:Number;
private var _chunkWidth:Number;
private var _content:Sprite;
private var _maskWidth:Number;
private var _testChunk:LinePlaneChunk;
private static const THICK_EASE:Number = 0.1;
private static const CREATE_BUFFER:Number = 100;
private static const TILE_WIDTH:Number = 500;
private static const DESTROY_BUFFER:Number = 200;
private static const DRAW_MIN_SPEED:Number = 15;
public function LinePlane(_arg1:Number, _arg2:Number, _arg3:Number){
_maskWidth = _arg1;
_maskHeight = _arg2;
_scrollSpeedMultipyler = _arg3;
_chunkWidth = TILE_WIDTH;
_content = new Sprite();
this.addChild(_content);
_chunks = new Array();
_thicknessTarget = Settings.STREAM_THICKNESS;
}
private function createMask():Sprite{
var _local1:Sprite = new Sprite();
_local1.graphics.beginFill(0xFF00, 1);
_local1.graphics.drawRect(0, 0, _maskWidth, _maskHeight);
_local1.graphics.endFill();
return (_local1);
}
public function update(_arg1:Number, _arg2, _arg3){
var _local5:LinePlaneChunk;
var _local7:*;
var _local4:Number = ((_chunks.length)>0) ? _chunks[0].x : 0;
if ((_local4 + (_chunks.length * _chunkWidth)) < (_maskWidth + CREATE_BUFFER)){
addChunk(_arg2, _arg3);
};
if (((_drawing) && ((_arg1 < DRAW_MIN_SPEED)))){
_drawing = false;
} else {
if (_arg1 >= DRAW_MIN_SPEED){
if (!_drawing){
_thicknessTarget = Settings.STREAM_THICKNESS;
_thicknessNow = 1;
_drawing = true;
};
_local7 = (_thicknessTarget - _thicknessNow);
_thicknessNow = (_thicknessNow + (_local7 * THICK_EASE));
};
};
var _local6:int;
while (_local6 < _chunks.length) {
_local5 = (_chunks[_local6] as LinePlaneChunk);
_local5.x = Math.floor((_local5.x + (-(_arg1) * _scrollSpeedMultipyler)));
_local5.update((_arg2 - _local5.x), _arg3, _arg1, _thicknessNow, _drawing);
_local6++;
};
if (_chunks.length > 0){
_local5 = (_chunks[0] as LinePlaneChunk);
if (_local5.x < -((_chunkWidth + DESTROY_BUFFER))){
_chunks.shift();
_content.removeChild(_local5);
};
};
}
private function addChunk(_arg1:Number, _arg2:Number):LinePlaneChunk{
var _local5:LinePlaneChunk;
var _local3:Number = 0;
if (_chunks.length > 0){
_local5 = _chunks[(_chunks.length - 1)];
_local3 = Math.floor((_local5.x + _chunkWidth));
};
var _local4:LinePlaneChunk = new LinePlaneChunk(TILE_WIDTH, 427, (_arg1 - _local3), _arg2);
_local4.x = _local3;
_chunks.push(_local4);
_content.addChild(_local4);
return (_local4);
}
public function get content():Sprite{
return (_content);
}
}
}//package
Section 200
//LinePlaneChunk (LinePlaneChunk)
package {
import flash.display.*;
import flash.filters.*;
import gs.*;
import flash.geom.*;
public class LinePlaneChunk extends MovieClip {
private var _drawing:Boolean;// = true
private var _display:Sprite;
private var _origin:Point;
private var _blur:BlurFilter;
private var _boardHeight:Number;
private var _oldX:Number;// = 0
private var _oldY:Number;// = 0
private var _bitmap:Bitmap;
private var _myShape:Shape;
private var _bitmapData:BitmapData;
private var _boardWidth:Number;
public function LinePlaneChunk(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
_display = new Sprite();
_myShape = new Shape();
_display.addChild(_myShape);
_boardWidth = _arg1;
_boardHeight = _arg2;
_origin = new Point(0, 0);
_oldX = _arg3;
_oldY = _arg4;
_bitmapData = new BitmapData(_boardWidth, _boardHeight, true, 0);
_bitmap = new Bitmap(_bitmapData);
this.addChild(_bitmap);
_bitmap.alpha = Settings.STREAM_ALPHA;
}
public function update(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean=true):void{
var _local6:uint;
var _local7:Number;
if (((!(_drawing)) && (_arg5))){
_oldX = _arg1;
_oldY = _arg2;
_bitmapData.fillRect(_bitmapData.rect, 0);
_bitmap.alpha = Settings.STREAM_ALPHA;
};
if (((_drawing) && (!(_arg5)))){
_myShape.graphics.clear();
TweenLite.to(_bitmap, 0.5, {alpha:0});
};
_drawing = _arg5;
if (_drawing){
_local6 = Math.floor(0xFFFFFF);
_local7 = 1;
_myShape.graphics.moveTo(_oldX, _oldY);
_myShape.graphics.lineStyle(_arg4, _local6, _local7);
_myShape.graphics.lineTo(_arg1, _arg2);
_oldX = _arg1;
_oldY = _arg2;
_bitmapData.draw(_display);
_myShape.graphics.clear();
};
}
}
}//package
Section 201
//PauseMenu (PauseMenu)
package {
import flash.events.*;
import flash.display.*;
public class PauseMenu extends MovieClip {
public var restartButton:SimpleButton;
public var resumeButton:SimpleButton;
public function PauseMenu(){
this.resumeButton.addEventListener(MouseEvent.CLICK, handleResumeClick);
this.restartButton.addEventListener(MouseEvent.CLICK, handleRestartClick);
}
private function handleRestartClick(_arg1:MouseEvent):void{
dispatchEvent(new Event("restart"));
}
private function handleResumeClick(_arg1:MouseEvent):void{
dispatchEvent(new Event("resume"));
}
}
}//package
Section 202
//PenguApp (PenguApp)
package {
import flash.events.*;
import flash.display.*;
import gs.*;
import as3lib.utils.*;
public class PenguApp extends MovieClip {
public var faderHolder:MovieClip;
private var _faderHolder:MovieClip;
private var _resultsHolder:MovieClip;
private var _penguGame:PenguGame;
private var _gameHolder:MovieClip;
public var titleHolder:MovieClip;
private var _titleHolder:MovieClip;
private var _bg:TitleBg;
private var _titleScreen:TitleScreen;
public var gameHolder:MovieClip;
public function PenguApp(){
var keyStr:String;
var valueStr:String;
var paramObj:Object;
super();
addFrameScript(1, frame2, 11, frame12);
SoundController.instance.playMusicLoop(SoundController.TITLE_LOOP);
try {
paramObj = LoaderInfo(this.root.loaderInfo).parameters;
if (paramObj.fb_local_connection){
Settings.connectionName = String(paramObj.fb_local_connection);
Settings.facebookMode = true;
} else {
Settings.facebookMode = false;
};
if (paramObj.bareBones){
Settings.bareBones = true;
} else {
Settings.bareBones = false;
};
if (paramObj.personalBest){
Settings.personalBest = Number(paramObj.personalBest);
};
if (paramObj.siteUrl){
Settings.siteUrl = String(paramObj.siteUrl);
};
} catch(error:Error) {
trace(("ERRROR " + error));
};
if (Settings.personalBest > 0){
Settings.firstRun = false;
};
init();
}
private function handleHitZipper(_arg1:GameEvent):void{
this.gotoAndPlay("shake");
}
private function handleTitleChallenge(_arg1:Event):void{
}
private function handleFacebook(_arg1:Event):void{
Settings.firstRun = false;
restartApp();
}
private function init():void{
stage.scaleMode = StageScaleMode.SHOW_ALL;
_titleHolder = this.titleHolder;
_gameHolder = this.gameHolder;
_faderHolder = this.faderHolder;
DisplayTools.removeAllChildrenFrom(_titleHolder);
DisplayTools.removeAllChildrenFrom(_gameHolder);
DisplayTools.removeAllChildrenFrom(_faderHolder);
Tracking.instance.initialise(this);
if (Settings.facebookMode == true){
Tracking.instance.trackPageView("jetstream/facebook");
} else {
Tracking.instance.trackPageView("jetstream/external");
};
restartApp();
}
private function handleGameComplete(_arg1:GameEvent):void{
var _local2:Number = (_arg1.data as Number);
showResultScreen(_local2);
}
private function showResultScreen(_arg1:Number):void{
DisplayTools.removeAllChildrenFrom(_titleHolder);
var _local2:* = new ResultScreen(_arg1);
_local2.addEventListener("skip", handleSkipFacebook);
_local2.addEventListener("facebook", handleFacebook);
_local2.y = -450;
TweenLite.to(_local2, 1.5, {y:0});
_titleHolder.addChild(_local2);
TweenLite.delayedCall(2, udpateServerScore, [_arg1]);
}
private function showGame():void{
if (_penguGame){
_penguGame.removeEventListener(Event.COMPLETE, handleGameComplete);
_penguGame.removeEventListener("restart", handleGameRestart);
_penguGame.destroy();
};
GlobalEvents.resetSingleton();
ElementManager.resetSingleton();
ElementManager.instance.addEventListener(GameEvent.HIT_ZIPPER, handleHitZipper);
ElementManager.instance.addEventListener(GameEvent.CANNON_FIRE, handleHitZipper);
ElementManager.instance.addEventListener(GameEvent.COLLIDE_BOMB, handleCollideBomb);
DisplayTools.removeAllChildrenFrom(_gameHolder);
_penguGame = new PenguGame();
_penguGame.addEventListener(Event.COMPLETE, handleGameComplete);
_penguGame.addEventListener("restart", handleGameRestart);
_gameHolder.addChild(_penguGame);
_penguGame.initialise();
}
private function restartApp():void{
showGame();
showTitleScreen();
}
private function udpateServerScore(_arg1:Number):void{
}
function frame12(){
gotoAndStop(1);
}
private function showTitleScreen():void{
var fader:MovieClip;
var handleFadeInComplete:Function;
handleFadeInComplete = function ():void{
if (_faderHolder.contains(fader)){
_faderHolder.removeChild(fader);
};
};
DisplayTools.removeAllChildrenFrom(_titleHolder);
if (_titleScreen){
_titleScreen.destroy();
_titleScreen.removeEventListener("play", handleTitlePlayGame);
_titleScreen.removeEventListener("challenge", handleTitleChallenge);
};
_titleScreen = new TitleScreen();
_titleScreen.addEventListener("play", handleTitlePlayGame);
_titleScreen.addEventListener("challenge", handleTitleChallenge);
fader = new WhiteFader();
fader.mouseEnabled = false;
fader.mouseChildren = false;
TweenLite.to(fader, 2, {alpha:0, onComplete:handleFadeInComplete});
var self:* = this;
_titleScreen.alpha = 1;
_titleScreen.y = 0;
_titleHolder.addChild(_titleScreen);
}
private function handleTitleExitCompletet1(_arg1:Event):void{
_titleScreen.removeEventListener("exitComplete1", handleTitleExitCompletet1);
_penguGame.start();
ElementManager.instance.cannon.action();
stage.focus = stage;
}
private function handleSkipFacebook(_arg1:Event):void{
Settings.firstRun = false;
restartApp();
}
private function handleGameRestart(_arg1:Event):void{
Settings.firstRun = false;
showGame();
_penguGame.start();
ElementManager.instance.cannon.action();
}
private function handleTitlePlayGame(_arg1:Event):void{
SoundController.instance.fadeOutMusic();
_titleScreen.exit();
_titleScreen.addEventListener("exitComplete1", handleTitleExitCompletet1);
_titleScreen.addEventListener("exitComplete2", handleTitleExitCompletet2);
}
private function handleCollideBomb(_arg1:GameEvent):void{
this.gotoAndPlay("overshoot");
}
function frame2(){
stop();
}
private function handleTitleExitCompletet2(_arg1:Event):void{
_titleScreen.removeEventListener("exitComplete2", handleTitleExitCompletet2);
DisplayTools.removeAllChildrenFrom(_titleHolder);
}
}
}//package
Section 203
//PenguGame (PenguGame)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import gs.*;
import flash.geom.*;
import as3lib.*;
import as3lib.utils.*;
import flash.ui.*;
public class PenguGame extends MovieClip {
private var _player:Player;
private var _gamePlane:GamePlane;
private var _screenXLimit:Number;// = 350
private var _headPoint:Point;
private var _score:int;// = 0
private var _keyYSpeed:Number;// = 0
private var _menuHolder:Sprite;
private var _timeBoard:TimeBoard;
private var _crosshair:Sprite;
private var _torsoTracker:MovieClip;
private var _bgManager:BackgroundManager;
private var _scoreBoard:ScoreBoard;
private var _playerLayer:Sprite;
private var _hud:MovieClip;
private var _playerBodyPoints:Array;
private var _gameState:String;
private var _gameOver:Boolean;
private var _linePlaneBack:LinePlane;
private var _slipStreamBitmapData1:BitmapData;
private var _blurFilter:BlurFilter;
private var _slipStreamLayer1:Sprite;
private var _linePlaneFront:LinePlane;
private var _slipStreamBitmap1:Bitmap;
private var _keyXSpeed:Number;// = 0
private var _headTracker:MovieClip;
private var _torsoPoint:Point;
private var _keyPoll:KeyPoll;
private static const PREPARING:String = "preparing";
private static const PAUSED:String = "paused";
private static const KEY_ACCEL:Number = 1;
private static const FINISHED:String = "finished";
private static const PLAYING:String = "playing";
private function handleNewLevel(_arg1:CustomEvent):void{
var _local2:Number = (_arg1.data.level as Number);
var _local3:String = (_arg1.data.transitionPart as String);
switch (_local2){
case 2:
switch (_local3){
case "a":
_bgManager.transitionToLevel2a();
break;
case "b":
_bgManager.transitionToLevel2b();
break;
case "c":
_bgManager.transitionToLevel2c();
break;
case "d":
_bgManager.transitionToLevel2d();
break;
};
break;
case 3:
switch (_local3){
case "a":
_bgManager.transitionToLevel3a();
break;
case "b":
_bgManager.transitionToLevel3b();
break;
case "c":
_bgManager.transitionToLevel3c();
break;
case "d":
_bgManager.transitionToLevel3d();
break;
};
break;
case 4:
switch (_local3){
case "a":
_bgManager.transitionToLevel4a();
break;
case "b":
_bgManager.transitionToLevel4b();
break;
case "c":
_bgManager.transitionToLevel4c();
break;
case "d":
_bgManager.transitionToLevel4d();
break;
case "e":
_bgManager.transitionToLevel4e();
break;
};
break;
};
}
public function start2():void{
_player.shootOut();
_gameState = PLAYING;
_player.visible = true;
}
private function handleCannonFire(_arg1:GameEvent):void{
start2();
}
private function handleEnterBoss(_arg1:CustomEvent):void{
_screenXLimit = Settings.SCREEN_X_LIMIT_2;
}
private function handleHitZipper(_arg1:GameEvent):void{
var _local2:Zipper = (_arg1.data as Zipper);
_score = (_score + Settings.ZIPPER_VALUE);
_scoreBoard.setScore(_score, true, true);
_player.hitZipper(_local2);
}
private function showPauseMenu():void{
if (_gameState != PLAYING){
return;
};
var _local1:PauseMenu = new PauseMenu();
_local1.addEventListener("resume", handleMenuResume);
_local1.addEventListener("restart", handleMenuRestart);
_menuHolder.addChild(_local1);
_gameState = PAUSED;
GlobalEvents.instance.broadcastEvent(new CustomEvent(GameEvent.PAUSE));
}
private function handleEndGame3():void{
dispatchEvent(new GameEvent(Event.COMPLETE, _score));
}
private function handleCollectCoin(_arg1:GameEvent):void{
var _local2:ICollectable = (_arg1.data as ICollectable);
_score = (_score + _local2.getValue());
_scoreBoard.setScore(_score);
_player.collectCoin();
}
public function initialise():void{
var _local1:Sprite = new Sprite();
var _local2:Sprite = new Sprite();
var _local3:Sprite = new Sprite();
var _local4:Sprite = new Sprite();
var _local5:Sprite = new Sprite();
var _local6:Sprite = new Sprite();
var _local7:Sprite = new Sprite();
var _local8:Sprite = new Sprite();
_bgManager = new BackgroundManager(_local1, _local2, _local3, [_local4, _local5, _local6, _local7], _local8);
_gamePlane = new GamePlane(Settings.WIDTH, Settings.HEIGHT);
_playerLayer = new Sprite();
_player = new Player();
_player.x = 230;
_player.y = 210;
_player.visible = false;
_playerLayer.addChild(_player);
_hud = new Hud();
_hud.alpha = 0;
_score = 0;
_scoreBoard = new ScoreBoard(_hud.scoreBoard);
var _local9:SimpleButton = _hud.pauseButton;
_local9.addEventListener(MouseEvent.MOUSE_DOWN, handlePausePress);
_timeBoard = _hud.timeBoard;
_timeBoard.setTime(Settings.GAME_TIME, 0);
_timeBoard.start();
_linePlaneBack = new LinePlane(Settings.WIDTH, Settings.HEIGHT, 1.5);
_linePlaneFront = new LinePlane(Settings.WIDTH, Settings.HEIGHT, 1.5);
_headPoint = new Point();
_headPoint = new Point();
_torsoPoint = new Point();
_playerBodyPoints = [_headPoint, _headPoint, _torsoPoint];
_crosshair = new Crosshair();
_crosshair.cacheAsBitmap = true;
_crosshair.x = 300;
_crosshair.y = _player.y;
_crosshair.alpha = 0;
_menuHolder = new Sprite();
this.addChild(_local8);
this.addChild(_local7);
this.addChild(_local6);
this.addChild(_local5);
this.addChild(_local4);
this.addChild(_local3);
this.addChild(_linePlaneBack);
this.addChild(_playerLayer);
this.addChild(_linePlaneFront);
this.addChild(_local2);
this.addChild(_gamePlane.scrollingPlane);
this.addChild(_gamePlane.animationPlane);
this.addChild(_local1);
this.addChild(_hud);
this.addChild(_menuHolder);
ElementManager.instance.reset();
ElementManager.instance.addEventListener(GameEvent.COLLECT_COIN, handleCollectCoin);
ElementManager.instance.addEventListener(GameEvent.COLLIDE_BOMB, handleCollideBomb);
ElementManager.instance.addEventListener(GameEvent.HIT_ZIPPER, handleHitZipper);
ElementManager.instance.addEventListener(GameEvent.CANNON_FIRE, handleCannonFire);
GlobalEvents.instance.addEventListener(Trigger.SPEED_UP, handleSpeedUpTrigger);
GlobalEvents.instance.addEventListener(Trigger.NEW_LEVEL, handleNewLevel);
GlobalEvents.instance.addEventListener(Trigger.END_GAME, handleEndGame);
GlobalEvents.instance.addEventListener(Trigger.ENTER_BOSS, handleEnterBoss);
GlobalEvents.instance.addEventListener("go", handleCountdownGo);
NumberUtils.initialiseSinCos();
_screenXLimit = Settings.SCREEN_X_LIMIT_1;
_bgManager.panUp(false);
_keyPoll = new KeyPoll();
_keyPoll.initialise(this.stage);
stage.addEventListener(Event.ACTIVATE, handleStageActivate);
stage.addEventListener(Event.DEACTIVATE, handleStageDeactivate);
stage.addEventListener(MouseEvent.MOUSE_MOVE, handleMouseMove);
ElementManager.instance.initialiseBitmaps();
}
private function handleMenuResume(_arg1:Event):void{
GlobalEvents.instance.broadcastEvent(new CustomEvent(GameEvent.RESUME));
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.RESUME);
DisplayTools.removeAllChildrenFrom(_menuHolder);
_gameState = PLAYING;
stage.focus = stage;
}
private function handleEndGame(_arg1:CustomEvent):void{
_gameState = FINISHED;
_hud.alpha = 0;
_gameOver = true;
_player.gameOver();
TweenLite.to(_linePlaneFront, 3, {alpha:0});
TweenLite.to(_linePlaneBack, 4, {alpha:0});
GlobalEvents.instance.broadcastEvent(new CustomEvent(Trigger.ANIMATION, GoalAnim));
_player.xScreenSpeed = (_player.xSpeed * 2);
SoundController.instance.playMusicLoop(SoundController.QUICK_BOOM);
SoundController.instance.playMusicLoop(SoundController.TITLE_LOOP);
TweenLite.delayedCall(2, handleEndGame2);
TweenLite.delayedCall(4, handleEndGame3);
}
private function handleCollideBomb(_arg1:GameEvent):void{
var _local2:IAvoidable = (_arg1.data as IAvoidable);
_score = (_score + Settings.BOMB_VALUE);
_score = Math.max(0, _score);
_scoreBoard.setScore(_score, true, false, true);
if (Settings.usingKeys){
_crosshair.x = Math.max((_crosshair.x - 30), 0);
};
_player.collideBomb();
}
private function handleMouseDown(_arg1:MouseEvent):void{
}
private function handleEnterFrame(_arg1:Event):void{
update();
}
private function handleStageDeactivate(_arg1:Event):void{
trace("_gameState...");
if (_gameState == PLAYING){
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.FOCUS_OUT);
showPauseMenu();
};
}
private function handleMouseMove(_arg1:MouseEvent):void{
if (_gameState == PLAYING){
Settings.usingKeys = false;
};
}
private function handleEndGame2():void{
_bgManager.panUp(true);
}
private function handleCountdownGo(_arg1:CustomEvent):void{
GlobalEvents.instance.removeEventListener("go", handleCountdownGo);
TweenLite.to(_hud, 2, {alpha:1});
}
private function handlePausePress(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.PAUSE);
showPauseMenu();
}
private function handleStageActivate(_arg1:Event):void{
_keyPoll.reset();
}
private function update(){
var _local1:Number;
var _local4:*;
var _local5:*;
if ((((_gameState == PREPARING)) || ((_gameState == PAUSED)))){
return;
};
updateCrosshair();
if (!_gameOver){
_timeBoard.update();
_local4 = (_crosshair.y - _player.y);
_local5 = (_crosshair.x - _player.x);
_player.update(_local4, _local5);
_player.y = (_player.y + _player.yScreenSpeed);
_player.x = (_player.x + _player.xScreenSpeed);
_local1 = _player.xScreenSpeed;
if (_player.playerState != Player.ZIPPING){
if ((((_player.x > (_screenXLimit - 100))) && ((_local1 > 0)))){
_local1 = (_local1 * ((_screenXLimit - _player.x) / 100));
};
};
_headPoint.x = _player.x;
_headPoint.y = _player.y;
_torsoPoint.x = (_player.x - (_player.normalisedX * 50));
_torsoPoint.y = (_player.y - (_player.normalisedY * 50));
if (_player.y > Settings.HEIGHT){
_player.y = Settings.HEIGHT;
};
if (_player.y < 0){
_player.y = 0;
};
if (_player.x > (Settings.WIDTH + 200)){
_player.x = (Settings.WIDTH + 200);
};
if (_player.x < 100){
_player.x = 100;
};
ElementManager.instance.update(_playerBodyPoints, _player.xSpeed);
SoundController.instance.update();
_bgManager.update(_player.xSpeed);
} else {
_local1 = _player.xScreenSpeed;
};
_gamePlane.update(_player.xSpeed);
_player.x = (_player.x + _local1);
var _local2:Point = _player.getFrontWingOffset();
var _local3:Point = _player.getBackWingOffset();
_linePlaneBack.update(_player.xSpeed, (_player.x + _local3.x), (_player.y + _local3.y));
_linePlaneFront.update(_player.xSpeed, (_player.x + _local2.x), (_player.y + _local2.y));
}
private function handleMouseUp(_arg1:MouseEvent):void{
}
private function updateCrosshair():void{
if (Settings.usingKeys){
if (((_keyPoll.isDown(Keyboard.LEFT)) || (_keyPoll.isDown(KeyPoll.KEY_A)))){
_keyXSpeed = (_keyXSpeed - Settings.KEY_X_ACCEL);
if (_keyXSpeed < -(Settings.KEY_MAX_X_SPEED)){
_keyXSpeed = -(Settings.KEY_MAX_X_SPEED);
};
} else {
if (((_keyPoll.isDown(Keyboard.RIGHT)) || (_keyPoll.isDown(KeyPoll.KEY_D)))){
_keyXSpeed = (_keyXSpeed + Settings.KEY_X_ACCEL);
if (_keyXSpeed > Settings.KEY_MAX_X_SPEED){
_keyXSpeed = Settings.KEY_MAX_X_SPEED;
};
} else {
if (_crosshair.x > Settings.KEY_DRIFITBACK_THRESH){
if (_keyXSpeed > 0.5){
_keyXSpeed = (_keyXSpeed * Settings.KEY_X_DECEL);
} else {
_keyXSpeed = Math.max((_keyXSpeed - 0.5), -(Settings.KEY_DRIFITBACK_SPEED));
};
} else {
_keyXSpeed = (_keyXSpeed * Settings.KEY_X_DECEL);
};
};
};
if (((_keyPoll.isDown(Keyboard.UP)) || (_keyPoll.isDown(KeyPoll.KEY_W)))){
_keyYSpeed = (_keyYSpeed - Settings.KEY_Y_ACCEL);
if (_keyYSpeed < -(Settings.KEY_MAX_Y_SPEED)){
_keyYSpeed = -(Settings.KEY_MAX_Y_SPEED);
};
} else {
if (((_keyPoll.isDown(Keyboard.DOWN)) || (_keyPoll.isDown(KeyPoll.KEY_S)))){
_keyYSpeed = (_keyYSpeed + Settings.KEY_Y_ACCEL);
if (_keyYSpeed > Settings.KEY_MAX_Y_SPEED){
_keyYSpeed = Settings.KEY_MAX_Y_SPEED;
};
} else {
_keyYSpeed = (_keyYSpeed * Settings.KEY_Y_DECEL);
};
};
_crosshair.x = (_crosshair.x + _keyXSpeed);
_crosshair.y = (_crosshair.y + _keyYSpeed);
_crosshair.x = Math.max(_crosshair.x, 0);
_crosshair.x = Math.min(_crosshair.x, Settings.WIDTH);
_crosshair.y = Math.max(_crosshair.y, 0);
_crosshair.y = Math.min(_crosshair.y, Settings.HEIGHT);
} else {
_crosshair.x = Math.min(Settings.WIDTH, Math.max(this.mouseX, 0));
_crosshair.y = Math.min(Settings.HEIGHT, Math.max(this.mouseY, 0));
if (((((((((((((((_keyPoll.isDown(Keyboard.LEFT)) || (_keyPoll.isDown(KeyPoll.KEY_A)))) || (_keyPoll.isDown(Keyboard.RIGHT)))) || (_keyPoll.isDown(KeyPoll.KEY_D)))) || (_keyPoll.isDown(Keyboard.UP)))) || (_keyPoll.isDown(KeyPoll.KEY_W)))) || (_keyPoll.isDown(Keyboard.DOWN)))) || (_keyPoll.isDown(KeyPoll.KEY_S)))){
Settings.usingKeys = true;
_crosshair.alpha = 0;
};
};
}
public function start():void{
_gameState = PREPARING;
this.addEventListener(Event.ENTER_FRAME, handleEnterFrame);
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
this.stage.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp);
_bgManager.panDown(true);
}
private function handleSpeedUpTrigger(_arg1:CustomEvent):void{
_player.increaseMaxSpeed();
}
private function handleMenuRestart(_arg1:Event):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.RESTART);
stage.focus = stage;
dispatchEvent(new Event("restart"));
}
public function destroy():void{
this.removeEventListener(Event.ENTER_FRAME, handleEnterFrame);
this.stage.removeEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
this.stage.removeEventListener(MouseEvent.MOUSE_UP, handleMouseUp);
ElementManager.instance.reset();
ElementManager.instance.removeEventListener(GameEvent.COLLECT_COIN, handleCollectCoin);
ElementManager.instance.removeEventListener(GameEvent.COLLIDE_BOMB, handleCollideBomb);
ElementManager.instance.removeEventListener(GameEvent.HIT_ZIPPER, handleHitZipper);
ElementManager.instance.removeEventListener(GameEvent.CANNON_FIRE, handleCannonFire);
GlobalEvents.instance.removeEventListener(Trigger.SPEED_UP, handleSpeedUpTrigger);
GlobalEvents.instance.removeEventListener(Trigger.NEW_LEVEL, handleNewLevel);
GlobalEvents.instance.removeEventListener(Trigger.END_GAME, handleEndGame);
GlobalEvents.instance.removeEventListener(Trigger.ENTER_BOSS, handleEnterBoss);
_gamePlane.destroy();
stage.removeEventListener(Event.ACTIVATE, handleStageActivate);
stage.removeEventListener(Event.DEACTIVATE, handleStageDeactivate);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleMouseMove);
}
}
}//package
Section 204
//Player (Player)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import as3lib.*;
import as3lib.utils.*;
public class Player extends MovieClip {
public var yScreenSpeed:Number;
private var _targetRot:Number;// = 0
private var _targetBackWingOffset:Point;
private var _maxScreenYSpeed:Number;// = 30
private var _minXSpeed:Number;// = 10
public var xScreenSpeed:Number;// = 0
public var normalisedX:Number;
public var normalisedY:Number;
public var xSpeed:Number;
public var playerState:String;
private var _contentClip:MovieClip;
private var _maxXSpeed:Number;
private var _targetFrontWingOffset:Point;
private var _frontWingOffset:Point;
private var _bankDown:Boolean;// = true
private var _backWingOffset:Point;
public var contentClip:MovieClip;
private var _zipperAnimStreamIndex;
private var _directionPoint:Point;
private var _targetXScreenSpeed:Number;// = 0
private var _maxXSpeedIndex:int;// = 0
private static const BACK_WING_OFFSETS:Array = [-25, -24, -21, -12, -3, 6, 15, 23, 26];
private static const COLLIDING_FRONT_WING_OFFSETS:Array = [18];
public static const X_SPEED_EASE_ZIPPER:Number = 0.1;
private static const ROTATION_EASE:Number = 1;
public static const FLYING:String = "flying";
public static const X_SPEED_EASE_NORMAL:Number = 1;
public static const COLLIDING:String = "colliding";
private static const COLLIDING_BACK_WING_OFFSETS:Array = [-3];
private static const FRONT_WING_OFFSETS:Array = [35, 28, 24, 20, 18, 1, -10, -23, -29];
public static const POST_ZIPPER:String = "postZipping";
public static const WING_OFFSET_EASE:Number = 0.5;
private static const ZIPPING_FRONT_WING_OFFSETS:Array = [19, 19, 19, 19, 19, -20, -24, -18, 1, 30, 34, 27, 18, 5, -20, -24, -18, 1, 30, 34, 34, 34, 34, 33, 30, 30, 29, 28, 27, 26, 25, 24, 23, 23, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19];
public static const ZIPPING:String = "zipping";
private static const ZIPPING_BACK_WING_OFFSETS:Array = [-19, -19, -19, -19, -19, 20, 24, 18, -1, -21, -23, -23, -18, -5, 20, 24, 18, -1, -25, -24, -24, -24, -24, -23, -22, -21, -20, -19, -17, -15, -10, -8, -7, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3];
public static const CANNON:String = "cannon";
public function Player(){
addFrameScript(0, frame1);
_contentClip = this.contentClip;
_directionPoint = new Point();
_maxXSpeedIndex = 0;
_maxXSpeed = Settings.PLAYER_MAX_X_SPEEDS[_maxXSpeedIndex];
this.xSpeed = 0;
playerState = CANNON;
_targetBackWingOffset = new Point(-55, 0);
_targetFrontWingOffset = new Point(-55, 0);
_backWingOffset = new Point(-55, 0);
_frontWingOffset = new Point(-55, 0);
GlobalEvents.instance.addEventListener(GameEvent.PAUSE, handlePause);
GlobalEvents.instance.addEventListener(GameEvent.RESUME, handleResume);
}
public function collideBomb(){
trace("COLLIDE.. ");
playerState = COLLIDING;
this.xSpeed = -10;
_contentClip.gotoAndPlay("explode");
_contentClip.addEventListener(Event.COMPLETE, handleCollideComplete);
}
private function handleResume(_arg1:CustomEvent):void{
_contentClip.play();
}
public function increaseMaxSpeed():void{
if (_maxXSpeedIndex < (Settings.PLAYER_MAX_X_SPEEDS.length - 1)){
_maxXSpeedIndex++;
};
_maxXSpeed = Settings.PLAYER_MAX_X_SPEEDS[_maxXSpeedIndex];
}
private function handlePause(_arg1:CustomEvent):void{
_contentClip.stop();
}
public function shootOut(){
playerState = ZIPPING;
_zipperAnimStreamIndex = 0;
this.xSpeed = Settings.CANNON_SPEED;
xScreenSpeed = Settings.ZIPPER_EXIT_SCREEN_SPEED;
_contentClip.gotoAndPlay("zip");
_contentClip.addEventListener(Event.COMPLETE, handleZipperComplete);
}
public function getBackWingOffset():Point{
return (_backWingOffset);
}
public function update(_arg1:Number, _arg2:Number){
var _local6:int;
if (playerState == CANNON){
return;
};
var _local3:Number = _arg2;
_arg2 = Math.max(100, _arg2);
_directionPoint.x = _arg2;
_directionPoint.y = _arg1;
_directionPoint.normalize(1);
this.normalisedX = _directionPoint.x;
this.normalisedY = _directionPoint.y;
if ((_local3 - 100) < 0){
if ((((playerState == ZIPPING)) || ((playerState == POST_ZIPPER)))){
_targetXScreenSpeed = (((_local3 - 100) / Settings.PLAYER_MAX_SPEED_X_OFFSET) * (Settings.PLAYER_MAX_SCREEN_X_SPEED_REVERSE * 0.6));
} else {
_targetXScreenSpeed = (((_local3 - 100) / Settings.PLAYER_MAX_SPEED_X_OFFSET) * Settings.PLAYER_MAX_SCREEN_X_SPEED_REVERSE);
};
} else {
_targetXScreenSpeed = (((_local3 - 100) / Settings.PLAYER_MAX_SPEED_X_OFFSET) * Settings.PLAYER_MAX_SCREEN_X_SPEED);
};
var _local4:Number = (_targetXScreenSpeed - this.xScreenSpeed);
if ((((playerState == ZIPPING)) || ((playerState == POST_ZIPPER)))){
this.xScreenSpeed = (this.xScreenSpeed + (_local4 * X_SPEED_EASE_ZIPPER));
} else {
this.xScreenSpeed = (this.xScreenSpeed + (_local4 * X_SPEED_EASE_NORMAL));
};
this.yScreenSpeed = (_maxScreenYSpeed * _directionPoint.y);
if (this.xSpeed < _maxXSpeed){
this.xSpeed = (this.xSpeed + Settings.PLAYER_ACCELERATION);
if (this.xSpeed > _maxXSpeed){
this.xSpeed = _maxXSpeed;
};
};
var _local5:int = Math.max(-4, Math.min(4, ((yScreenSpeed / 10) * 4)));
if ((((playerState == FLYING)) || ((playerState == POST_ZIPPER)))){
if (_bankDown){
_local6 = (7 - _local5);
} else {
_local6 = (7 + _local5);
};
_targetFrontWingOffset.y = FRONT_WING_OFFSETS[(_local6 - 3)];
_targetBackWingOffset.y = BACK_WING_OFFSETS[(_local6 - 3)];
if (playerState == POST_ZIPPER){
if (_local6 == 7){
playerState = FLYING;
} else {
_local6 = 7;
};
};
if (_contentClip.shakeContent){
_contentClip.shakeContent.gotoAndStop(_local6);
};
} else {
if (playerState == ZIPPING){
_zipperAnimStreamIndex++;
_targetFrontWingOffset.y = ZIPPING_FRONT_WING_OFFSETS[_zipperAnimStreamIndex];
_targetBackWingOffset.y = ZIPPING_BACK_WING_OFFSETS[_zipperAnimStreamIndex];
} else {
if (playerState == COLLIDING){
_targetFrontWingOffset.y = COLLIDING_FRONT_WING_OFFSETS[0];
_targetBackWingOffset.y = COLLIDING_BACK_WING_OFFSETS[0];
};
};
};
_targetFrontWingOffset.x = -59;
_targetBackWingOffset.x = -57;
var _local7:Number = Math.atan2(_arg1, _arg2);
var _local8:Number = Math.floor(((_local7 * 180) / Math.PI));
_contentClip.rotation = _local8;
NumberUtils.rotatePointByAngle(_targetFrontWingOffset, _local8);
NumberUtils.rotatePointByAngle(_targetBackWingOffset, _local8);
var _local9:Number = (_targetFrontWingOffset.x - _frontWingOffset.x);
var _local10:Number = (_targetFrontWingOffset.y - _frontWingOffset.y);
_frontWingOffset.x = (_frontWingOffset.x + (_local9 * WING_OFFSET_EASE));
_frontWingOffset.y = (_frontWingOffset.y + (_local10 * WING_OFFSET_EASE));
var _local11:Number = (_targetBackWingOffset.x - _backWingOffset.x);
var _local12:Number = (_targetBackWingOffset.y - _backWingOffset.y);
_backWingOffset.x = (_backWingOffset.x + (_local11 * WING_OFFSET_EASE));
_backWingOffset.y = (_backWingOffset.y + (_local12 * WING_OFFSET_EASE));
if (xSpeed > _maxXSpeed){
this.xSpeed = (this.xSpeed - Settings.POST_ZIPPER_DECELERATION);
};
}
public function getFrontWingOffset():Point{
return (_frontWingOffset);
}
private function handleCollideComplete(_arg1:Event):void{
trace("COLLIDE..2 ");
_contentClip.gotoAndPlay("flying");
_contentClip.removeEventListener(Event.COMPLETE, handleCollideComplete);
playerState = FLYING;
}
public function collectCoin(){
}
function frame1(){
stop();
}
public function hitZipper(_arg1:Zipper){
playerState = ZIPPING;
_zipperAnimStreamIndex = 0;
this.xSpeed = _arg1.exitSpeed;
xScreenSpeed = Settings.ZIPPER_EXIT_SCREEN_SPEED;
_contentClip.gotoAndPlay("zip");
_contentClip.addEventListener(Event.COMPLETE, handleZipperComplete);
}
public function gameOver():void{
contentClip.rotation = 0;
if (_contentClip.shakeContent){
_contentClip.shakeContent.gotoAndStop(7);
};
}
public function destroy():void{
GlobalEvents.instance.removeEventListener(GameEvent.PAUSE, handlePause);
GlobalEvents.instance.removeEventListener(GameEvent.RESUME, handleResume);
}
private function handleZipperComplete(_arg1:Event):void{
playerState = POST_ZIPPER;
_contentClip.gotoAndPlay("flying");
if (_contentClip.shakeContent){
_contentClip.shakeContent.gotoAndStop(5);
};
_contentClip.removeEventListener(Event.COMPLETE, handleZipperComplete);
}
}
}//package
Section 205
//Puff (Puff)
package {
import flash.events.*;
import flash.display.*;
import as3lib.utils.*;
public class Puff extends Sprite implements IAvoidable {
private var _animState:String;
private var _puffed:Boolean;// = false
private var _frames:Array;
private var _collided:Boolean;
private var _nested:Boolean;// = false
private var _bitmapHolder:Sprite;
private var _bitmapIndex:int;// = 0
public static const COLLIDING:String = "colliding";
public static const PUFFED:String = "puffed";
public static const COLLIDED:String = "collided";
public static const IDLE:String = "idle";
public static const PUFFING:String = "puffing";
public function Puff(){
var _local1:Bitmap;
super();
trace(("new Puff..." + this.parent.name));
ElementManager.instance.registerAvoidable(this);
DisplayTools.removeAllChildrenFrom(this);
if (this.parent.name.indexOf("holder") != -1){
_nested = true;
};
_bitmapHolder = new Sprite();
this.addChild(_bitmapHolder);
_bitmapHolder.x = -139;
_bitmapHolder.y = -113;
_frames = new Array();
initFrames(IDLE);
initFrames(PUFFING);
initFrames(COLLIDING);
if (this.name.indexOf("prepuffed") != -1){
_local1 = (_frames[PUFFING][(_frames[PUFFING].length - 1)] as Bitmap);
_animState = PUFFED;
_bitmapIndex = 0;
_puffed = true;
this.cacheAsBitmap = true;
} else {
_animState = IDLE;
_local1 = (_frames[IDLE][0] as Bitmap);
};
_bitmapHolder.addChild(_local1);
}
public function update():void{
var _local1:Bitmap;
if ((((_animState == PUFFING)) || ((_animState == COLLIDING)))){
if (_bitmapHolder.numChildren > 0){
_bitmapHolder.removeChildAt(0);
};
_local1 = (_frames[_animState][_bitmapIndex] as Bitmap);
_bitmapHolder.addChild(_local1);
_bitmapIndex++;
if (_bitmapIndex == _frames[_animState].length){
if (_animState == PUFFING){
_animState = PUFFED;
} else {
_animState = COLLIDED;
};
};
};
}
public function collide():void{
this.cacheAsBitmap = false;
_collided = true;
_animState = COLLIDING;
_bitmapIndex = 0;
SoundController.instance.playUniqueSound(SoundController.HIT_BOMB);
}
public function puff():void{
if (!_puffed){
_animState = PUFFING;
_bitmapIndex = 0;
SoundController.instance.playUniqueSound(SoundController.PUFF);
_puffed = true;
};
}
public function hasCollided():Boolean{
return (_collided);
}
private function initFrames(_arg1:String):void{
var _local3:BitmapData;
var _local4:Bitmap;
var _local2:Array = ElementManager.instance.puffFrames[_arg1];
_frames[_arg1] = new Array();
var _local5:Number = 0;
while (_local5 < _local2.length) {
_local3 = (_local2[_local5] as BitmapData);
_local4 = new Bitmap(_local3, "auto", true);
_frames[_arg1][_local5] = _local4;
_local5++;
};
}
public function getGlobalX():Number{
if (_nested){
return (((this.x + this.parent.x) + this.parent.parent.x));
};
return ((this.x + this.parent.x));
}
public function getGlobalY():Number{
if (_nested){
return (((this.y + this.parent.y) + this.parent.parent.y));
};
return ((this.y + this.parent.y));
}
}
}//package
Section 206
//PuffTemplate2 (PuffTemplate2)
package {
import flash.display.*;
public class PuffTemplate2 extends MovieClip {
public var collidingFrames:Array;
public var puffingFrames:Array;
public var idleFrames:Array;
private static const PUFFING_START:int = 2;
private static const IDLE_START:int = 1;
private static const WIDTH:int = 327;
private static const IDLE_END:int = 1;
private static const HEIGHT:int = 281;
private static const COLLIDING_END:int = 39;
private static const PUFFING_END:int = 22;
private static const COLLIDING_START:int = 23;
public function PuffTemplate2(){
idleFrames = new Array();
puffingFrames = new Array();
collidingFrames = new Array();
}
public function initialise():void{
var _local1:BitmapData;
var _local2:Number = IDLE_START;
while (_local2 <= IDLE_END) {
this.gotoAndStop(_local2);
_local1 = new BitmapData(WIDTH, HEIGHT, true, 0);
_local1.draw(this);
idleFrames.push(_local1);
_local2++;
};
var _local3:Number = PUFFING_START;
while (_local3 <= PUFFING_END) {
this.gotoAndStop(_local3);
_local1 = new BitmapData(WIDTH, HEIGHT, true, 0);
_local1.draw(this);
puffingFrames.push(_local1);
_local3++;
};
var _local4:Number = COLLIDING_START;
while (_local4 <= COLLIDING_END) {
this.gotoAndStop(_local4);
_local1 = new BitmapData(WIDTH, HEIGHT, true, 0);
_local1.draw(this);
collidingFrames.push(_local1);
_local4++;
};
}
}
}//package
Section 207
//ResultScreen (ResultScreen)
package {
import flash.net.*;
import flash.events.*;
import flash.display.*;
public class ResultScreen extends MovieClip {
public var ctaChallenge:MovieClip;
public var trophies:MovieClip;
public var ctaPost:MovieClip;
public var fgSnowPlane:SnowPlane2;
private var _score:Number;
public var ctaReplay:MovieClip;
public var ctaPortal:MovieClip;
public var scoreBoard:MovieClip;
public var ctaInvite:MovieClip;
private var _connection:LocalConnection;
public function ResultScreen(_arg1:Number){
_score = Math.min(_arg1, 300);
var _local2:ScoreBoard = new ScoreBoard(this.scoreBoard);
_local2.setScore(_arg1, false);
this.ctaInvite.visible = false;
this.ctaChallenge.visible = false;
this.ctaPost.visible = false;
showCta();
showTophy();
this.fgSnowPlane.mouseEnabled = false;
this.fgSnowPlane.mouseChildren = false;
if ((((Settings.facebookMode == true)) && (!(Settings.bareBones)))){
_connection = new LocalConnection();
if (Settings.connectionName){
_connection.send(Settings.connectionName, "callFBJS", "scoreUpdate", [_score]);
};
};
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.FINISH_GAME, String(_arg1), 1);
}
private function handleChallengeOkClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.CHALLENGE_OK);
if (Settings.facebookMode == true){
_connection = new LocalConnection();
if (Settings.connectionName){
_connection.send(Settings.connectionName, "callFBJS", "scorePost", [_score]);
};
};
dispatchEvent(new Event("skip"));
}
private function handlePostSkipClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.POST_SKIP);
dispatchEvent(new Event("skip"));
}
private function handlePortalSkipClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.PORTAL_SKIP);
dispatchEvent(new Event("skip"));
}
private function handleChallengeSkipClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.CHALLENGE_SKIP);
dispatchEvent(new Event("skip"));
}
private function handlePortalOkClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.PORTAL_OK);
SoundController.instance.fadeOutMusic();
var _local2:URLRequest = new URLRequest("http://apps.facebook.com/jetstream-penguin");
navigateToURL(_local2);
}
private function setViewPortal():void{
this.ctaInvite.visible = false;
this.ctaChallenge.visible = false;
this.ctaPost.visible = false;
this.ctaReplay.visible = false;
this.ctaPortal.visible = true;
}
private function showCta():void{
if (Settings.facebookMode == false){
if (Settings.bareBones){
setViewReplay();
} else {
setViewPortal();
};
} else {
if (_score > Settings.personalBest){
Settings.personalBest = _score;
if (Math.random() > 0.5){
setViewPost();
} else {
setViewChallenge();
};
} else {
setViewInvite();
};
};
this.ctaReplay.replayButton.addEventListener(MouseEvent.CLICK, handleReplayClick);
this.ctaPortal.skipButton.addEventListener(MouseEvent.CLICK, handlePortalSkipClick);
this.ctaPortal.okButton.addEventListener(MouseEvent.CLICK, handlePortalOkClick);
this.ctaPost.skipButton.addEventListener(MouseEvent.CLICK, handlePostSkipClick);
this.ctaPost.okButton.addEventListener(MouseEvent.CLICK, handlePostOkClick);
this.ctaPost.skipButton.addEventListener(MouseEvent.CLICK, handlePostSkipClick);
this.ctaPost.okButton.addEventListener(MouseEvent.CLICK, handlePostOkClick);
this.ctaChallenge.skipButton.addEventListener(MouseEvent.CLICK, handleChallengeSkipClick);
this.ctaChallenge.okButton.addEventListener(MouseEvent.CLICK, handleChallengeOkClick);
this.ctaInvite.skipButton.addEventListener(MouseEvent.CLICK, handleInviteSkipClick);
this.ctaInvite.okButton.addEventListener(MouseEvent.CLICK, handleInviteOkClick);
}
private function setViewInvite():void{
this.ctaInvite.visible = true;
this.ctaChallenge.visible = false;
this.ctaPost.visible = false;
this.ctaReplay.visible = false;
this.ctaPortal.visible = false;
}
private function handleReplayClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.REPLAY);
dispatchEvent(new Event("skip"));
}
private function setViewPost():void{
this.ctaInvite.visible = false;
this.ctaChallenge.visible = false;
this.ctaPost.visible = true;
this.ctaReplay.visible = false;
this.ctaPortal.visible = false;
}
private function showTophy():void{
if (_score >= Settings.PLATINUM_SCORE){
this.trophies.gotoAndStop(4);
} else {
if (_score >= Settings.GOLD_SCORE){
this.trophies.gotoAndStop(3);
} else {
if (_score >= Settings.SILVER_SCORE){
this.trophies.gotoAndStop(2);
} else {
if (_score >= Settings.BRONZE_SCORE){
this.trophies.gotoAndStop(1);
} else {
this.trophies.gotoAndStop(5);
};
};
};
};
}
private function handlePostOkClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.POST_OK);
if (Settings.facebookMode == true){
_connection = new LocalConnection();
if (Settings.connectionName){
_connection.send(Settings.connectionName, "callFBJS", "scorePost", [_score]);
};
};
dispatchEvent(new Event("skip"));
}
private function setViewReplay():void{
this.ctaInvite.visible = false;
this.ctaChallenge.visible = false;
this.ctaPost.visible = false;
this.ctaReplay.visible = true;
this.ctaPortal.visible = false;
}
private function handleInviteOkClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.INVITE_OK);
if (Settings.facebookMode == true){
_connection = new LocalConnection();
if (Settings.connectionName){
_connection.send(Settings.connectionName, "callFBJS", "inviteFriends", []);
};
};
}
private function setViewChallenge():void{
this.ctaInvite.visible = false;
this.ctaChallenge.visible = true;
this.ctaPost.visible = false;
this.ctaReplay.visible = false;
this.ctaPortal.visible = false;
}
private function handleInviteSkipClick(_arg1:MouseEvent):void{
dispatchEvent(new Event("skip"));
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.INVITE_SKIP);
}
}
}//package
Section 208
//S1_2_Trans1 (S1_2_Trans1)
package {
import flash.display.*;
public dynamic class S1_2_Trans1 extends MovieClip {
public var trigger_2_d:TransitionTrigger;
public var trigger_2_c:TransitionTrigger;
}
}//package
Section 209
//S1_2_Trans2 (S1_2_Trans2)
package {
import flash.display.*;
public dynamic class S1_2_Trans2 extends MovieClip {
}
}//package
Section 210
//S1_2_Trans3 (S1_2_Trans3)
package {
import flash.display.*;
public dynamic class S1_2_Trans3 extends MovieClip {
}
}//package
Section 211
//S1_Bg0Chunk_Trans1 (S1_Bg0Chunk_Trans1)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk_Trans1 extends MovieClip {
}
}//package
Section 212
//S1_Bg0Chunk_Trans2 (S1_Bg0Chunk_Trans2)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk_Trans2 extends MovieClip {
}
}//package
Section 213
//S1_Bg0Chunk_Trans3 (S1_Bg0Chunk_Trans3)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk_Trans3 extends MovieClip {
}
}//package
Section 214
//S1_Bg0Chunk_Trans4 (S1_Bg0Chunk_Trans4)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk_Trans4 extends MovieClip {
}
}//package
Section 215
//S1_Bg0Chunk_Trans5 (S1_Bg0Chunk_Trans5)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk_Trans5 extends MovieClip {
}
}//package
Section 216
//S1_Bg0Chunk_Trans6 (S1_Bg0Chunk_Trans6)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk_Trans6 extends MovieClip {
}
}//package
Section 217
//S1_Bg0Chunk_Trans7 (S1_Bg0Chunk_Trans7)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk_Trans7 extends MovieClip {
}
}//package
Section 218
//S1_Bg0Chunk1 (S1_Bg0Chunk1)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk1 extends MovieClip {
}
}//package
Section 219
//S1_Bg0Chunk2 (S1_Bg0Chunk2)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk2 extends MovieClip {
}
}//package
Section 220
//S1_Bg0Chunk3 (S1_Bg0Chunk3)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk3 extends MovieClip {
}
}//package
Section 221
//S1_Bg0Chunk4 (S1_Bg0Chunk4)
package {
import flash.display.*;
public dynamic class S1_Bg0Chunk4 extends MovieClip {
}
}//package
Section 222
//S1_Bg1Chunk1 (S1_Bg1Chunk1)
package {
import flash.display.*;
public dynamic class S1_Bg1Chunk1 extends MovieClip {
}
}//package
Section 223
//S1_Bg1Chunk2 (S1_Bg1Chunk2)
package {
import flash.display.*;
public dynamic class S1_Bg1Chunk2 extends MovieClip {
}
}//package
Section 224
//S1_Bg1Chunk3 (S1_Bg1Chunk3)
package {
import flash.display.*;
public dynamic class S1_Bg1Chunk3 extends MovieClip {
}
}//package
Section 225
//S1_Bg1Chunk4 (S1_Bg1Chunk4)
package {
import flash.display.*;
public dynamic class S1_Bg1Chunk4 extends MovieClip {
}
}//package
Section 226
//S1_Bg2Chunk1 (S1_Bg2Chunk1)
package {
import flash.display.*;
public dynamic class S1_Bg2Chunk1 extends MovieClip {
}
}//package
Section 227
//S1_Bg2Chunk2 (S1_Bg2Chunk2)
package {
import flash.display.*;
public dynamic class S1_Bg2Chunk2 extends MovieClip {
}
}//package
Section 228
//S1_Bg3Chunk1 (S1_Bg3Chunk1)
package {
import flash.display.*;
public dynamic class S1_Bg3Chunk1 extends MovieClip {
}
}//package
Section 229
//S1_Bg3Chunk2 (S1_Bg3Chunk2)
package {
import flash.display.*;
public dynamic class S1_Bg3Chunk2 extends MovieClip {
}
}//package
Section 230
//S1_Cannon (S1_Cannon)
package {
import flash.display.*;
public dynamic class S1_Cannon extends MovieClip {
}
}//package
Section 231
//S1_EmptyChunk (S1_EmptyChunk)
package {
import flash.display.*;
public dynamic class S1_EmptyChunk extends MovieClip {
}
}//package
Section 232
//S2_3_Trans_Back1 (S2_3_Trans_Back1)
package {
import flash.display.*;
public dynamic class S2_3_Trans_Back1 extends MovieClip {
public var trigger_3_c:TransitionTrigger;
public var trigger_3_d:TransitionTrigger;
}
}//package
Section 233
//S2_3_Trans_Back2 (S2_3_Trans_Back2)
package {
import flash.display.*;
public dynamic class S2_3_Trans_Back2 extends MovieClip {
}
}//package
Section 234
//S2_3_Trans_Back3 (S2_3_Trans_Back3)
package {
import flash.display.*;
public dynamic class S2_3_Trans_Back3 extends MovieClip {
}
}//package
Section 235
//S2_3_Trans_Back4 (S2_3_Trans_Back4)
package {
import flash.display.*;
public dynamic class S2_3_Trans_Back4 extends MovieClip {
}
}//package
Section 236
//S2_3_Trans_Back5 (S2_3_Trans_Back5)
package {
import flash.display.*;
public dynamic class S2_3_Trans_Back5 extends MovieClip {
}
}//package
Section 237
//S2_3_Trans_Front1 (S2_3_Trans_Front1)
package {
import flash.display.*;
public dynamic class S2_3_Trans_Front1 extends MovieClip {
}
}//package
Section 238
//S2_3_Trans_Front2 (S2_3_Trans_Front2)
package {
import flash.display.*;
public dynamic class S2_3_Trans_Front2 extends MovieClip {
}
}//package
Section 239
//S2_3_Trans_Front3 (S2_3_Trans_Front3)
package {
import flash.display.*;
public dynamic class S2_3_Trans_Front3 extends MovieClip {
}
}//package
Section 240
//S2_3_Trans_Front4 (S2_3_Trans_Front4)
package {
import flash.display.*;
public dynamic class S2_3_Trans_Front4 extends MovieClip {
}
}//package
Section 241
//S2_Bg0Chunk1 (S2_Bg0Chunk1)
package {
import flash.display.*;
public dynamic class S2_Bg0Chunk1 extends MovieClip {
}
}//package
Section 242
//S2_Bg0Chunk2 (S2_Bg0Chunk2)
package {
import flash.display.*;
public dynamic class S2_Bg0Chunk2 extends MovieClip {
}
}//package
Section 243
//S2_Bg0Chunk3 (S2_Bg0Chunk3)
package {
import flash.display.*;
public dynamic class S2_Bg0Chunk3 extends MovieClip {
}
}//package
Section 244
//S2_Bg1Chunk1 (S2_Bg1Chunk1)
package {
import flash.display.*;
public dynamic class S2_Bg1Chunk1 extends MovieClip {
}
}//package
Section 245
//S2_Bg2Chunk1 (S2_Bg2Chunk1)
package {
import flash.display.*;
public dynamic class S2_Bg2Chunk1 extends MovieClip {
}
}//package
Section 246
//S2_Bg3Chunk1 (S2_Bg3Chunk1)
package {
import flash.display.*;
public dynamic class S2_Bg3Chunk1 extends MovieClip {
}
}//package
Section 247
//S3_4_Trans_Back1 (S3_4_Trans_Back1)
package {
import flash.display.*;
public dynamic class S3_4_Trans_Back1 extends MovieClip {
}
}//package
Section 248
//S3_4_Trans_Back2 (S3_4_Trans_Back2)
package {
import flash.display.*;
import as3lib.*;
public dynamic class S3_4_Trans_Back2 extends MovieClip {
public var trigger_4_e:TransitionTrigger;
public var flag1:MovieClip;
public var flag2:MovieClip;
public function S3_4_Trans_Back2(){
addFrameScript(0, frame1, 5, frame6, 33, frame34);
}
public function handleEndGame(_arg1:CustomEvent):void{
gotoAndPlay("fireworks");
}
function frame6(){
stop();
}
function frame1(){
GlobalEvents.instance.addEventListener(Trigger.END_GAME, handleEndGame);
flag1.gotoAndPlay(3);
}
function frame34(){
stop();
}
}
}//package
Section 249
//S3_4_Trans_Front1 (S3_4_Trans_Front1)
package {
import flash.display.*;
public dynamic class S3_4_Trans_Front1 extends MovieClip {
}
}//package
Section 250
//S3_4_Trans_Front2 (S3_4_Trans_Front2)
package {
import flash.display.*;
public dynamic class S3_4_Trans_Front2 extends MovieClip {
}
}//package
Section 251
//S3_4_Trans_Front3 (S3_4_Trans_Front3)
package {
import flash.display.*;
public dynamic class S3_4_Trans_Front3 extends MovieClip {
}
}//package
Section 252
//S3_4_Trans_Front4 (S3_4_Trans_Front4)
package {
import flash.display.*;
public dynamic class S3_4_Trans_Front4 extends MovieClip {
}
}//package
Section 253
//S3_Bg0Chunk1 (S3_Bg0Chunk1)
package {
import flash.display.*;
public dynamic class S3_Bg0Chunk1 extends MovieClip {
}
}//package
Section 254
//S3_Bg0ChunkIce1 (S3_Bg0ChunkIce1)
package {
import flash.display.*;
public dynamic class S3_Bg0ChunkIce1 extends MovieClip {
}
}//package
Section 255
//S3_Bg0ChunkIce2 (S3_Bg0ChunkIce2)
package {
import flash.display.*;
public dynamic class S3_Bg0ChunkIce2 extends MovieClip {
}
}//package
Section 256
//S3_Bg1Chunk1 (S3_Bg1Chunk1)
package {
import flash.display.*;
public dynamic class S3_Bg1Chunk1 extends MovieClip {
}
}//package
Section 257
//S3_Bg2Chunk1 (S3_Bg2Chunk1)
package {
import flash.display.*;
public dynamic class S3_Bg2Chunk1 extends MovieClip {
}
}//package
Section 258
//S3_Bg3Chunk1 (S3_Bg3Chunk1)
package {
import flash.display.*;
public dynamic class S3_Bg3Chunk1 extends MovieClip {
}
}//package
Section 259
//S3_Bg3Chunk2 (S3_Bg3Chunk2)
package {
import flash.display.*;
public dynamic class S3_Bg3Chunk2 extends MovieClip {
}
}//package
Section 260
//S3_Bg3Chunk3 (S3_Bg3Chunk3)
package {
import flash.display.*;
public dynamic class S3_Bg3Chunk3 extends MovieClip {
}
}//package
Section 261
//S3_Bg3Chunk4 (S3_Bg3Chunk4)
package {
import flash.display.*;
public dynamic class S3_Bg3Chunk4 extends MovieClip {
}
}//package
Section 262
//S3_Bg4Chunk1 (S3_Bg4Chunk1)
package {
import flash.display.*;
public dynamic class S3_Bg4Chunk1 extends MovieClip {
}
}//package
Section 263
//S3_Bg4Chunk2 (S3_Bg4Chunk2)
package {
import flash.display.*;
public dynamic class S3_Bg4Chunk2 extends MovieClip {
}
}//package
Section 264
//S4_Bg1Chunk1 (S4_Bg1Chunk1)
package {
import flash.display.*;
public dynamic class S4_Bg1Chunk1 extends MovieClip {
}
}//package
Section 265
//ScoreBoard (ScoreBoard)
package {
import flash.display.*;
public class ScoreBoard extends MovieClip {
private var _step:Number;
private var _ones:Digit;
private var _clip:MovieClip;
private var _hundeds:Digit;
private var _tens:Digit;
private var _countUpTarget:Number;
private var _counter:Number;
private var _currentScore:Number;
public function ScoreBoard(_arg1:MovieClip){
_clip = _arg1;
_ones = _clip.ones;
_tens = _clip.tens;
_hundeds = _clip.hundreds;
}
public function get clip():MovieClip{
return (_clip);
}
public function setScore(_arg1:Number, _arg2:Boolean=true, _arg3:Boolean=false, _arg4:Boolean=false):void{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg3){
_clip.gotoAndPlay("zipper");
} else {
if (_arg4){
_clip.gotoAndPlay("bomb");
};
};
var _local5:Number = _arg1;
_local8 = Math.floor((_local5 / 100));
_local5 = (_local5 - (_local8 * 100));
_local7 = Math.floor((_local5 / 10));
_local5 = (_local5 - (_local7 * 10));
_local6 = _local5;
var _local9:Number = _hundeds.value;
var _local10:Number = _tens.value;
var _local11:Number = _ones.value;
if (_local8 != _local9){
_hundeds.setValue(_local8, _arg2);
};
if (((!((_local7 == _local10))) || (!((_local8 == _local9))))){
_tens.setValue(_local7, _arg2);
};
if (((((!((_local6 == _local11))) || (!((_local7 == _local10))))) || (!((_local8 == _local9))))){
_ones.setValue(_local6, _arg2);
};
}
}
}//package
Section 266
//ScrollingPlane (ScrollingPlane)
package {
import flash.events.*;
import flash.display.*;
import as3lib.*;
public class ScrollingPlane extends Sprite {
private var _cacheTiles:Boolean;// = false
private var _animatedClasses:Array;
private var _contentMask:Sprite;
private var _tiles:Array;
private var _maskHeight:Number;
private var _scrollSpeedMultipyler:Number;
private var _tileGraphicClassList:Array;
private var _tileGraphicClass:Class;
private var _itteratorIndex:int;
private var _dispatchUpdates:Boolean;// = false
private var _tileWidth:Number;
private var _content:Sprite;
private var _maskWidth:Number;
private static const CREATE_BUFFER:Number = 100;
public static const COMPLETE_LIST:String = "completeList";
private static const DESTROY_BUFFER:Number = 200;
public function ScrollingPlane(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=true){
_maskWidth = _arg1;
_maskHeight = _arg2;
_scrollSpeedMultipyler = _arg3;
_dispatchUpdates = _arg4;
_cacheTiles = _arg5;
_content = new Sprite();
this.addChild(_content);
_tiles = new Array();
_itteratorIndex = 0;
}
public function get content():Sprite{
return (_content);
}
public function update(_arg1:Number){
var _local3:ScrollingTile;
var _local2:Number = ((_tiles.length)>0) ? _tiles[0].accurateX : 0;
if ((_local2 + (_tiles.length * _tileWidth)) < (_maskWidth + CREATE_BUFFER)){
addTile();
};
var _local4:int;
while (_local4 < _tiles.length) {
_local3 = (_tiles[_local4] as ScrollingTile);
_local3.accurateX = (_local3.accurateX + (-(_arg1) * _scrollSpeedMultipyler));
_local3.tileClip.x = Math.floor(_local3.accurateX);
_local4++;
};
if (_tiles.length > 0){
_local3 = (_tiles[0] as ScrollingTile);
if (_local3.accurateX < -((_tileWidth + DESTROY_BUFFER))){
_tiles.shift();
_content.removeChild(_local3.tileClip);
_local3.destroy();
};
};
}
private function createMask():Sprite{
var _local1:Sprite = new Sprite();
_local1.graphics.beginFill(0xFF00, 1);
_local1.graphics.drawRect(0, 0, _maskWidth, _maskHeight);
_local1.graphics.endFill();
return (_local1);
}
public function get itteratorIndex():int{
return (_itteratorIndex);
}
public function destroy():void{
}
public function set animatedClasses(_arg1:Array):void{
_animatedClasses = _arg1;
}
public function set scrollSpeedMultipyler(_arg1:Number):void{
_scrollSpeedMultipyler = _arg1;
}
public function drawFirst():void{
addTile();
}
private function addTile():void{
var _local5:int;
var _local6:ScrollingTile;
var _local1:* = new ScrollingTile();
var _local2:Class = _tileGraphicClassList[_itteratorIndex];
var _local3:MovieClip = new (_local2);
var _local4:* = _cacheTiles;
if (_animatedClasses){
_local5 = 0;
while (_local5 < _animatedClasses.length) {
if (_local2 == _animatedClasses[_local5]){
_local4 = false;
break;
};
_local5++;
};
};
_local3.cacheAsBimap = _local4;
_local1.tileClip = _local3;
if (_tiles.length > 0){
_local6 = (_tiles[(_tiles.length - 1)] as ScrollingTile);
_local1.tileClip.x = Math.floor((_local6.tileClip.x + _tileWidth));
_local1.accurateX = (_local6.accurateX + _tileWidth);
} else {
_local1.accurateX = 0;
};
_tiles.push(_local1);
_content.addChild(_local1.tileClip);
if (_dispatchUpdates){
dispatchEvent(new Event(Event.CHANGE));
};
_itteratorIndex++;
if (_itteratorIndex == _tileGraphicClassList.length){
dispatchEvent(new CustomEvent(ScrollingPlane.COMPLETE_LIST));
_itteratorIndex = 0;
};
}
public function set tileWidth(_arg1:Number):void{
_tileWidth = _arg1;
}
public function set tileGraphicClassList(_arg1:Array):void{
_tileGraphicClassList = _arg1;
}
public function get tileGraphicClassList():Array{
return (_tileGraphicClassList);
}
public function setTileGraphicClassList(_arg1:Array, _arg2:Boolean=true){
var _local3:ScrollingTile;
var _local4:int;
this.tileGraphicClassList = _arg1;
_itteratorIndex = 0;
if (_arg2){
_local4 = 0;
while (_local4 < _tiles.length) {
_local3 = (_tiles[_local4] as ScrollingTile);
_content.removeChild(_local3.tileClip);
_local4++;
};
_tiles = new Array();
};
}
}
}//package
Section 267
//ScrollingTile (ScrollingTile)
package {
import flash.display.*;
public class ScrollingTile {
public var accurateX:Number;
public var tileClip:MovieClip;
public function destroy():void{
tileClip = null;
}
}
}//package
Section 268
//Settings (Settings)
package {
import flash.text.*;
public class Settings {
public static const GAME_TIME:Number = 90;
public static const POST_ZIPPER_DECELERATION:Number = 1;
public static const PLAYER_MAX_X_SPEEDS:Array = [17, 25];
public static const COLLECT_THRESH:Number = 40;
public static const PLAYER_MIN_X_SPEED:Number = 10;
public static const BG1_SPEED_MULTIPLYER_OCEAN:Number = 0.1;
public static const PLAYER_ACCELERATION:Number = 1;
public static const ZIPPER_BURN_TIME:Number = 60;
public static const PLAYER_MAX_SCREEN_X_SPEED:Number = 15;
public static const HEIGHT:Number = 427;
public static const PLAYER_MOUSE_OFFSET:Number = 230;
public static const TRANS_BACK_SPEED_MULTIPLYER_3_4:Number = 1;
public static const KEY_X_ACCEL:Number = 3;
public static const PUFF_THRESH:Number = 500;
public static const BG1_SPEED_MULTIPLYER:Number = 0.05;
public static const KEY_DRIFITBACK_THRESH:Number = 300;
public static const FG_SPEED_MULTIPLYER_OCEAN:Number = 3.5;
public static const STREAM_THICKNESS:Number = 5;
public static const BG2_SPEED_MULTIPLYER:Number = 0.02;
public static const TRANS_FRONT_SPEED_MULTIPLYER_3_4:Number = 1.7;
public static const KEY_X_DECEL:Number = 0.8;
public static const CANNON_SPEED:Number = 30;
public static const PLAYER_MAX_SCREEN_Y_SPEED:Number = 30;
public static const KEY_Y_ACCEL:Number = 2.8;
public static const TRANS_BACK_SPEED_MULTIPLYER_2_3:Number = 0.8;
public static const BOMB_VALUE:Number = -5;
public static const BG3_SPEED_MULTIPLYER:Number = 0.01;
public static const KEY_MAX_X_SPEED:Number = 20;
public static const BRONZE_SCORE:int = 1;
public static const MUSIC_VOLUME:Number = 0.65;
public static const ZIPPER_EXIT_SPEED:Number = 90;
public static const BG4_SPEED_MULTIPLYER:Number = 0.005;
public static const SCREEN_X_LIMIT_1:Number = 760;
public static const SCREEN_X_LIMIT_2:Number = 355;
public static const PLATINUM_SCORE:int = 300;
public static const KEY_Y_DECEL:Number = 0.75;
public static const FG_SPEED_MULTIPLYER:Number = 3.5;
public static const PLAYER_MAX_SCREEN_X_SPEED_REVERSE:Number = 7;
public static const PLAYER_CENTER_X_OFFSET:Number = 20;
public static const ZIPPER_VALUE:Number = 5;
public static const TRANS_BACK_SPEED_MULTIPLYER_1_2:Number = 0.25;
public static const WIDTH:Number = 760;
public static const BG4_SPEED_MULTIPLYER_OCEAN:Number = 0.07;
public static const STREAM_ALPHA:Number = 0.15;
public static const SILVER_SCORE:int = 1;
public static const KEY_MAX_Y_SPEED:Number = 16;
public static const GOLD_SCORE:int = 275;
public static const BG3_SPEED_MULTIPLYER_OCEAN:Number = 0.08;
public static const TITLE_SCROLL_SPEED:Number = 17;
public static const KEY_DRIFITBACK_SPEED:Number = 3;
public static const PLAYER_MAX_SPEED_X_OFFSET:Number = 200;
public static const ZIPPER_EXIT_SCREEN_SPEED:Number = 25;
public static const TRANS_FRONT_SPEED_MULTIPLYER:Number = 1.7;
public static const BG2_SPEED_MULTIPLYER_OCEAN:Number = 0.09;
public static var debugText:TextField;
public static var BG2_GRAPHIC_LIST:Array = [S1_Bg2Chunk1, S1_Bg2Chunk2];
public static var personalBest:int = 0;
public static var STAGE2_FG_GRAPHIC_LIST:Array = [S2_Bg0Chunk1, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk2, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk3, S2_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk3, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk3, S2_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk3, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk3, S2_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk3, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk3, S2_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk3, S2_Bg0Chunk2, S1_EmptyChunk, S2_Bg0Chunk3, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk2, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1, S2_Bg0Chunk1, S1_EmptyChunk, S1_EmptyChunk, S2_Bg0Chunk1, S2_Bg0Chunk1];
public static var STAGE3_FG_GRAPHIC_LIST:Array = [S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk, S1_EmptyChunk];
public static var STAGE3_BG2_GRAPHIC_LIST:Array = [S3_Bg2Chunk1];
public static var STAGE2_BG1_GRAPHIC_LIST:Array = [S2_Bg1Chunk1, S2_Bg1Chunk1];
public static var STAGE3_BG1_GRAPHIC_LIST:Array = [S3_Bg1Chunk1];
public static var TITLE_FG_GRAPHIC_LIST:Array = [S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk];
public static var TITLE_BG2_GRAPHIC_LIST:Array = [S1_Bg2Chunk1, S1_Bg2Chunk2];
public static var FG_GRAPHIC_LIST:Array = [S1_Cannon, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk1, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk, S1_Bg0Chunk4, S1_EmptyChunk, S1_Bg0Chunk2, S1_Bg0Chunk3, S1_EmptyChunk, S1_EmptyChunk];
public static var facebookMode:Boolean = false;
public static var BG1_GRAPHIC_LIST:Array = [S1_Bg1Chunk1, S1_Bg1Chunk2, S1_Bg1Chunk3, S1_Bg1Chunk4];
public static var connectionName:String;
public static var STAGE2_BG3_GRAPHIC_LIST:Array = [S2_Bg3Chunk1, S2_Bg3Chunk1];
public static var STAGE3_BG4_GRAPHIC_LIST:Array = [S3_Bg4Chunk1, S3_Bg4Chunk1, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2, S3_Bg4Chunk2];
public static var bareBones:Boolean = false;
public static var siteUrl:String;
public static var usingKeys:Boolean = true;
public static var STAGE3_BG3_GRAPHIC_LIST:Array = [S3_Bg3Chunk1, S3_Bg3Chunk1, S3_Bg3Chunk1, S3_Bg3Chunk1, S3_Bg3Chunk2, S3_Bg3Chunk3, S3_Bg3Chunk3, S3_Bg3Chunk3];
public static var firstRun:Boolean = true;
public static var BG3_GRAPHIC_LIST:Array = [S1_Bg3Chunk1, S1_Bg3Chunk2];
public static var TITLE_BG3_GRAPHIC_LIST:Array = [S1_Bg3Chunk1, S1_Bg3Chunk2];
public static var TITLE_BG1_GRAPHIC_LIST:Array = [S1_Bg1Chunk1, S1_Bg1Chunk2, S1_Bg1Chunk3, S1_Bg1Chunk4];
public static var STAGE2_BG2_GRAPHIC_LIST:Array = [S2_Bg2Chunk1, S2_Bg2Chunk1];
}
}//package
Section 269
//SnowPlane (SnowPlane)
package {
import flash.events.*;
import flash.display.*;
import as3lib.utils.*;
public class SnowPlane extends MovieClip {
private var _flakeHolder:Sprite;
public var collected:Boolean;
private var _count:int;// = 0
public var value:int;// = 1
private var _destroyCount:int;// = 0
public var sizeGuide:MovieClip;
private var _flakes:Array;
private static const MAX_X_DISPLACEMENT:Number = 10;
private static const MAX_ALPHA:Number = 0.6;
private static const FLAKES_PER_PERIOD:int = 2;
private static const MAX_Y_SPEED:Number = 4;
private static const MAX_ROT_SPEED:Number = 3;
private static const DISPLACEMENT_ROT_SPEED:Number = 0.1;
private static const MIN_ALPHA:Number = 0.2;
private static const MIN_Y_SPEED:Number = 1;
private static const CREATE_FREQUENCY:int = 10;
private static const MIN_SCALE:Number = 0.2;
private static const ROT_SPEED:Number = 1;
public function SnowPlane(){
trace("NEW SP");
_flakeHolder = new Sprite();
_flakes = new Array();
this.addChild(_flakeHolder);
this.addEventListener(Event.ADDED_TO_STAGE, handleAdded);
this.addEventListener(Event.REMOVED_FROM_STAGE, handleRemoved);
}
public function destroy():void{
this.removeEventListener(Event.ADDED_TO_STAGE, handleAdded);
this.removeEventListener(Event.REMOVED_FROM_STAGE, handleRemoved);
this.removeEventListener(Event.ENTER_FRAME, run);
}
private function run(_arg1:Event):void{
var _local2:Flake;
var _local4:int;
_count++;
_destroyCount++;
if (_count == CREATE_FREQUENCY){
createFlakes();
_count = 0;
};
var _local3:int;
while (_local3 < _flakes.length) {
_local2 = (_flakes[_local3] as Flake);
_local2.y = (_local2.y + _local2.ySpeed);
_local2.rotation = (_local2.rotation + _local2.rotSpeed);
_local2.xRot = (_local2.xRot + DISPLACEMENT_ROT_SPEED);
_local2.x = (_local2.homeX + (Math.sin(_local2.xRot) * _local2.maxDisplacement));
_local3++;
};
if (_destroyCount == 10){
_local4 = (_flakes.length - 1);
while (_local4 >= 0) {
_local2 = (_flakes[_local4] as Flake);
if (_local2.y > 450){
_local2.ySpeed = 0;
_flakes.splice(_local4, 1);
_flakeHolder.removeChild(_local2);
};
_local4--;
};
_destroyCount = 0;
};
}
public function initialise():void{
NumberUtils.initialiseSinCos();
this.addEventListener(Event.ENTER_FRAME, run);
}
private function handleAdded(_arg1:Event):void{
initialise();
}
private function createFlakes():void{
var _local2:Flake;
var _local3:Number;
var _local4:Number;
var _local1:int;
while (_local1 < FLAKES_PER_PERIOD) {
_local2 = new Flake();
_flakes.push(_local2);
_flakeHolder.addChild(_local2);
_local2.x = (Math.random() * this.sizeGuide.width);
_local2.y = -20;
_local2.homeX = _local2.x;
_local3 = Math.random();
_local4 = Math.random();
_local2.scaleX = (MIN_SCALE + (_local3 * (1 - MIN_SCALE)));
_local2.scaleY = (MIN_SCALE + (_local3 * (1 - MIN_SCALE)));
_local2.alpha = (MIN_ALPHA + (_local3 * (MAX_ALPHA - MIN_ALPHA)));
_local2.ySpeed = (MIN_Y_SPEED + (_local3 * (MAX_Y_SPEED - MIN_Y_SPEED)));
_local2.maxDisplacement = (_local3 * MAX_X_DISPLACEMENT);
_local2.cacheAsBitmap = true;
_local2.rotSpeed = (_local4 * MAX_ROT_SPEED);
_local2.xRot = (360 * _local4);
_local1++;
};
}
private function handleRemoved(_arg1:Event):void{
destroy();
}
}
}//package
Section 270
//SnowPlane2 (SnowPlane2)
package {
import flash.events.*;
import flash.display.*;
import as3lib.utils.*;
import as3lib.display.*;
public class SnowPlane2 extends MovieClip {
private var _flakeHolder:Sprite;
public var collected:Boolean;
private var _count:int;// = 0
public var value:int;// = 1
private var _destroyCount:int;// = 0
public var sizeGuide:MovieClip;
private var _flakes:Array;
private static const MAX_X_DISPLACEMENT:Number = 10;
private static const MAX_ALPHA:Number = 0.6;
private static const FLAKES_PER_PERIOD:int = 1;
private static const MAX_Y_SPEED:Number = 4;
private static const MAX_ROT_SPEED:Number = 3;
private static const DISPLACEMENT_ROT_SPEED:Number = 0.1;
private static const MIN_ALPHA:Number = 0.2;
private static const MIN_Y_SPEED:Number = 1;
private static const CREATE_FREQUENCY:int = 15;
private static const MIN_SCALE:Number = 0.2;
private static const ROT_SPEED:Number = 1;
public function SnowPlane2(){
trace("NEW SP2");
_flakeHolder = new Sprite();
_flakes = new Array();
this.addChild(_flakeHolder);
this.addEventListener(Event.ADDED_TO_STAGE, handleAdded);
this.addEventListener(Event.REMOVED_FROM_STAGE, handleRemoved);
}
public function destroy():void{
this.removeEventListener(Event.ADDED_TO_STAGE, handleAdded);
this.removeEventListener(Event.REMOVED_FROM_STAGE, handleRemoved);
this.removeEventListener(Event.ENTER_FRAME, run);
}
private function run(_arg1:Event):void{
var _local2:Flake;
var _local4:int;
_count++;
_destroyCount++;
if (_count == CREATE_FREQUENCY){
if (Math.random() < 0.5){
createFlakes();
};
_count = 0;
};
var _local3:int;
while (_local3 < _flakes.length) {
_local2 = (_flakes[_local3] as Flake);
_local2.y = (_local2.y + _local2.ySpeed);
_local2.rotation = (_local2.rotation + _local2.rotSpeed);
_local2.xRot = (_local2.xRot + DISPLACEMENT_ROT_SPEED);
_local2.x = (_local2.homeX + (Math.sin(_local2.xRot) * _local2.maxDisplacement));
_local3++;
};
if (_destroyCount == 10){
_local4 = (_flakes.length - 1);
while (_local4 >= 0) {
_local2 = (_flakes[_local4] as Flake);
if (_local2.y > 450){
_local2.ySpeed = 0;
_flakes.splice(_local4, 1);
_flakeHolder.removeChild(_local2);
};
_local4--;
};
_destroyCount = 0;
};
}
public function initialise():void{
NumberUtils.initialiseSinCos();
this.addEventListener(Event.ENTER_FRAME, run);
}
private function handleAdded(_arg1:Event):void{
initialise();
}
private function createFlakes():void{
var _local2:Flake;
var _local3:Number;
var _local4:Number;
var _local1:int;
while (_local1 < FLAKES_PER_PERIOD) {
_local2 = new Flake();
_flakes.push(_local2);
_flakeHolder.addChild(_local2);
_local2.x = (Math.random() * this.sizeGuide.width);
_local2.y = -20;
_local2.homeX = _local2.x;
_local3 = 4;
_local4 = Math.random();
_local2.scaleX = (MIN_SCALE + (_local3 * (1 - MIN_SCALE)));
_local2.scaleY = (MIN_SCALE + (_local3 * (1 - MIN_SCALE)));
_local2.alpha = (MIN_ALPHA + (_local3 * (MAX_ALPHA - MIN_ALPHA)));
_local2.ySpeed = (MIN_Y_SPEED + (_local3 * (MAX_Y_SPEED - MIN_Y_SPEED)));
_local2.maxDisplacement = (_local3 * MAX_X_DISPLACEMENT);
_local2.rotSpeed = (_local4 * MAX_ROT_SPEED);
_local2.xRot = (360 * _local4);
_local2.filters = [Filters.getBlurFilter()];
_local2.cacheAsBitmap = true;
_local1++;
};
}
private function handleRemoved(_arg1:Event):void{
destroy();
}
}
}//package
Section 271
//SoundController (SoundController)
package {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class SoundController {
private var _counter:int;
private var _musicSound:Sound;
private var _playingSounds:Array;
private var _oldMusicClass:Class;
private var _windChannel:SoundChannel;
private var _musicVolume:Number;
private var _windSound:Sound;
private var _fadeTimer:Timer;
private var _pendingUniqueSounds:Array;
private var _musicClass:Class;
private var _musicTransform:SoundTransform;
private var _musicChannel:SoundChannel;
public static var PUFF:Class = SoundPuff;
public static var TITLE_LOOP:Class = SoundMusicTitleLoop;
public static var STAGE1_A:Class = SoundMusicStage1_A;
public static var STAGE2_A:Class = SoundMusicStage2_A;
public static var STAGE2_B:Class = SoundMusicStage2_B;
public static var STAGE3_B:Class = SoundMusicStage3_B;
public static var STAGE3_A:Class = SoundMusicStage3_A;
public static var STAGE4_A:Class = SoundMusicBoss_A;
private static var MAX_MULTISOUNDS:int = 2;
public static var QUICK_BOOM:Class = SoundQuickBoom;
public static var STAGE1_B:Class = SoundMusicStage1_B;
public static var COLLECT_COIN:Class = SoundPickup;
public static var HIT_BOMB:Class = SoundPufferHit;
public static var USE_ZIPPER:Class = SoundZipper1;
public static var FADE_STEP:Number = 0.05;
private static var _instance:SoundController;
private function handleMusicComplete(_arg1):void{
playMusicLoop(_musicClass, _musicVolume);
}
private function handleTic(_arg1:TimerEvent):void{
_musicVolume = (_musicVolume - FADE_STEP);
if (_musicVolume <= 0){
_musicVolume = 0;
};
_musicTransform.volume = _musicVolume;
_musicChannel.soundTransform = _musicTransform;
if (_musicVolume == 0){
stopFadeTimer();
};
}
private function stopFadeTimer():void{
if (_fadeTimer){
_fadeTimer.stop();
_fadeTimer.removeEventListener(TimerEvent.TIMER, handleTic);
_fadeTimer = null;
if (_musicChannel){
_musicChannel.stop();
_musicChannel.removeEventListener(Event.SOUND_COMPLETE, handleMusicComplete);
};
};
}
public function playMusicLoop(_arg1:Class, _arg2:Number=1, _arg3:Boolean=false):void{
var _local4:*;
_musicClass = _arg1;
_arg2 = Settings.MUSIC_VOLUME;
_musicVolume = _arg2;
if (!_arg3){
if (((!(_musicSound)) || (!((_oldMusicClass == _musicClass))))){
_musicSound = new (_arg1);
_oldMusicClass = _arg1;
};
if (_musicChannel){
stopFadeTimer();
_musicChannel.stop();
_musicChannel.removeEventListener(Event.SOUND_COMPLETE, handleMusicComplete);
};
_musicChannel = _musicSound.play();
_musicChannel.addEventListener(Event.SOUND_COMPLETE, handleMusicComplete);
if (_arg2 != 1){
_local4 = new SoundTransform();
_local4.volume = _arg2;
_musicChannel.soundTransform = _local4;
};
};
}
public function playOrRestartSound(_arg1:Class, _arg2:Number=1):Sound{
var _local3:Object;
var _local7:*;
if (!_playingSounds){
_playingSounds = new Array();
};
var _local4:int;
while (_local4 < _playingSounds.length) {
_local3 = (_playingSounds[_local4] as Object);
if (_local3.soundClass == _arg1){
_local3.channel.stop();
_playingSounds.splice(_local4, 1);
break;
};
_local4++;
};
var _local5:Sound = new (_arg1);
var _local6:SoundChannel = _local5.play();
if (_arg2 != 1){
_local7 = new SoundTransform();
_local7.volume = _arg2;
_local6.soundTransform = _local7;
};
_playingSounds.push({id:_counter++, channel:_local6, soundClass:_arg1, volume:_arg2});
_local6.addEventListener(Event.SOUND_COMPLETE, handlePlayingSoundComplete);
return (_local5);
}
public function update():void{
var _local1:Number;
if (_pendingUniqueSounds){
_local1 = 0;
while (_local1 < _pendingUniqueSounds.length) {
playOrRestartSound(_pendingUniqueSounds[_local1][0], Number(_pendingUniqueSounds[_local1][1]));
_local1++;
};
_pendingUniqueSounds = null;
};
}
public function fadeOutMusic():void{
if (!_fadeTimer){
_fadeTimer = new Timer(100);
_musicTransform = new SoundTransform();
_fadeTimer.addEventListener(TimerEvent.TIMER, handleTic);
_fadeTimer.start();
};
}
public function playWindLoop():void{
}
private function handleWindComplete(_arg1:Event):void{
_windChannel.removeEventListener(Event.SOUND_COMPLETE, handleWindComplete);
playWindLoop();
}
private function handlePlayingSoundComplete(_arg1:Event):void{
var _local3:Object;
var _local2:SoundChannel = (_arg1.target as SoundChannel);
var _local4:int;
while (_local4 < _playingSounds.length) {
_local3 = (_playingSounds[_local4] as Object);
if (_local3.channel == _local2){
_playingSounds.splice(_local4, 1);
break;
};
_local4++;
};
}
public function playUniqueSound(_arg1:Class, _arg2:Number=1):void{
if (_pendingUniqueSounds == null){
_pendingUniqueSounds = new Array();
};
var _local3:Number = 0;
while (_local3 < _pendingUniqueSounds.length) {
if (_pendingUniqueSounds[_local3][0] == _arg1){
if (_pendingUniqueSounds[_local3][2] < MAX_MULTISOUNDS){
var _local4 = _pendingUniqueSounds[_local3];
var _local5 = 2;
var _local6 = (_local4[_local5] + 1);
_local4[_local5] = _local6;
};
return;
};
_local3++;
};
_pendingUniqueSounds.push([_arg1, _arg2, 1]);
}
public function playSound(_arg1:Class, _arg2:Number=1):Sound{
var _local5:*;
var _local3:Sound = new (_arg1);
var _local4:SoundChannel = _local3.play();
if (_arg2 != 1){
_local5 = new SoundTransform();
_local5.volume = _arg2;
_local4.soundTransform = _local5;
};
return (_local3);
}
public static function get instance():SoundController{
if (!_instance){
_instance = new (SoundController);
};
return (_instance);
}
}
}//package
Section 272
//SoundMusicBoss_A (SoundMusicBoss_A)
package {
import flash.media.*;
public dynamic class SoundMusicBoss_A extends Sound {
}
}//package
Section 273
//SoundMusicStage1_A (SoundMusicStage1_A)
package {
import flash.media.*;
public dynamic class SoundMusicStage1_A extends Sound {
}
}//package
Section 274
//SoundMusicStage1_B (SoundMusicStage1_B)
package {
import flash.media.*;
public dynamic class SoundMusicStage1_B extends Sound {
}
}//package
Section 275
//SoundMusicStage2_A (SoundMusicStage2_A)
package {
import flash.media.*;
public dynamic class SoundMusicStage2_A extends Sound {
}
}//package
Section 276
//SoundMusicStage2_B (SoundMusicStage2_B)
package {
import flash.media.*;
public dynamic class SoundMusicStage2_B extends Sound {
}
}//package
Section 277
//SoundMusicStage3_A (SoundMusicStage3_A)
package {
import flash.media.*;
public dynamic class SoundMusicStage3_A extends Sound {
}
}//package
Section 278
//SoundMusicStage3_B (SoundMusicStage3_B)
package {
import flash.media.*;
public dynamic class SoundMusicStage3_B extends Sound {
}
}//package
Section 279
//SoundMusicTitleLoop (SoundMusicTitleLoop)
package {
import flash.media.*;
public dynamic class SoundMusicTitleLoop extends Sound {
}
}//package
Section 280
//SoundPickup (SoundPickup)
package {
import flash.media.*;
public dynamic class SoundPickup extends Sound {
}
}//package
Section 281
//SoundPuff (SoundPuff)
package {
import flash.media.*;
public dynamic class SoundPuff extends Sound {
}
}//package
Section 282
//SoundPufferHit (SoundPufferHit)
package {
import flash.media.*;
public dynamic class SoundPufferHit extends Sound {
}
}//package
Section 283
//SoundQuickBoom (SoundQuickBoom)
package {
import flash.media.*;
public dynamic class SoundQuickBoom extends Sound {
}
}//package
Section 284
//SoundZipper1 (SoundZipper1)
package {
import flash.media.*;
public dynamic class SoundZipper1 extends Sound {
}
}//package
Section 285
//Stage2Anim (Stage2Anim)
package {
import flash.events.*;
import flash.display.*;
import as3lib.*;
public dynamic class Stage2Anim extends MovieClip {
public function Stage2Anim(){
addFrameScript(28, frame29, 43, frame44);
}
function frame29(){
SoundController.instance.playMusicLoop(SoundController.STAGE2_A);
}
function frame44(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
GlobalEvents.instance.broadcastEvent(new CustomEvent("go"));
}
}
}//package
Section 286
//Stage3Anim (Stage3Anim)
package {
import flash.events.*;
import flash.display.*;
import as3lib.*;
public dynamic class Stage3Anim extends MovieClip {
public function Stage3Anim(){
addFrameScript(28, frame29, 43, frame44);
}
function frame29(){
SoundController.instance.playMusicLoop(SoundController.STAGE3_A);
}
function frame44(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
GlobalEvents.instance.broadcastEvent(new CustomEvent("go"));
}
}
}//package
Section 287
//TimeBoard (TimeBoard)
package {
import flash.events.*;
import flash.display.*;
public class TimeBoard extends MovieClip {
private var _running:Boolean;// = false
public var fracTens:Digit1;
private var _counter:int;
public var ones:Digit1;
private var _tens:Digit;
public var fracOnes:Digit1;
private var _fracTens:Digit;
private var _clip:MovieClip;
public var tens:Digit1;
private var _fracOnes:Digit;
private var _ones:Digit;
private static const FRAME_RATE:int = 31;
public static const TIME_OUT:String = "timeout";
public function TimeBoard(){
_clip = this;
_ones = this.ones;
_tens = this.tens;
_fracOnes = this.fracOnes;
_fracTens = this.fracTens;
}
public function pause():void{
_running = false;
}
public function update():void{
var _local1:Number;
var _local2:Number;
if (_running){
_counter = (_counter - 1);
if (_counter == 0){
pause();
renderDigits(0, 0, true);
dispatchEvent(new Event(TIME_OUT));
} else {
_local1 = Math.floor(((_counter * 100) / FRAME_RATE));
_local2 = 0;
if (_local1 > 0){
while (_local1 > 99) {
_local2++;
_local1 = (_local1 - 100);
};
};
renderDigits(_local2, _local1, true);
};
};
}
public function setTime(_arg1:Number, _arg2:Number=0):void{
renderDigits(_arg1, _arg2, false);
_counter = (_arg1 * FRAME_RATE);
}
public function get clip():MovieClip{
return (_clip);
}
private function renderDigits(_arg1:int, _arg2:int=0, _arg3:Boolean=true):void{
var _local5:int;
var _local6:int;
var _local10:int;
var _local11:int;
var _local4:Number = _arg1;
_local6 = Math.floor((_local4 / 10));
_local4 = (_local4 - (_local6 * 10));
_local5 = _local4;
var _local7:int = _tens.value;
var _local8:int = _ones.value;
if (_local6 != _local7){
_tens.setValue(_local6, _arg3);
};
if (((!((_local5 == _local8))) || (!((_local6 == _local7))))){
_ones.setValue(_local5, _arg3);
};
var _local9:int = _arg2;
_local11 = Math.floor((_local9 / 10));
_local9 = (_local9 - (_local11 * 10));
_local10 = _local9;
var _local12:int = _fracTens.value;
var _local13:int = _fracOnes.value;
if (_local11 != _local12){
_fracTens.setValue(_local11, false);
};
if (((!((_local10 == _local13))) || (!((_local11 == _local12))))){
_fracOnes.setValue(_local10, false);
};
}
public function start():void{
_running = true;
}
}
}//package
Section 288
//TitleBg (TitleBg)
package {
import flash.events.*;
import flash.display.*;
import as3lib.utils.*;
public class TitleBg extends MovieClip {
private var _foreground:ScrollingPlane;
private var _background1:ScrollingPlane;
private var _background2:ScrollingPlane;
private var _background3:ScrollingPlane;
private var _background4:ScrollingPlane;
private var _sky:MovieClip;
public function TitleBg(){
_foreground = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.FG_SPEED_MULTIPLYER);
_foreground.tileGraphicClassList = Settings.TITLE_FG_GRAPHIC_LIST;
_foreground.tileWidth = 760;
_foreground.y = 0;
_foreground.content.filters = [DisplayTools.getBlurFilter(50, 0, 1)];
_background1 = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.BG1_SPEED_MULTIPLYER);
_background1.tileGraphicClassList = Settings.TITLE_BG1_GRAPHIC_LIST;
_background1.tileWidth = 760;
_background1.y = 0;
_background2 = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, Settings.BG2_SPEED_MULTIPLYER);
_background2.tileGraphicClassList = Settings.TITLE_BG2_GRAPHIC_LIST;
_background2.tileWidth = 760;
_background2.y = 0;
_background3 = new ScrollingPlane(Settings.WIDTH, Settings.HEIGHT, 0);
_background3.tileGraphicClassList = Settings.TITLE_BG3_GRAPHIC_LIST;
_background3.tileWidth = 760;
_background3.y = 0;
_sky = new BgSky1();
this.addChild(_sky);
this.addChild(_background3);
this.addChild(_background2);
this.addChild(_background1);
this.addChild(_foreground);
this.addEventListener(Event.ENTER_FRAME, handleEnterFrame);
}
public function destroy():void{
this.removeEventListener(Event.ENTER_FRAME, handleEnterFrame);
}
public function update():void{
_foreground.update(Settings.TITLE_SCROLL_SPEED);
_background1.update(Settings.TITLE_SCROLL_SPEED);
_background2.update(Settings.TITLE_SCROLL_SPEED);
_background3.update(Settings.TITLE_SCROLL_SPEED);
}
private function handleEnterFrame(_arg1:Event):void{
update();
}
}
}//package
Section 289
//TitleScreen (TitleScreen)
package {
import flash.net.*;
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class TitleScreen extends MovieClip {
public var unmuteButton:SimpleButton;
public var playButton:SimpleButton;
public var muteButton:SimpleButton;
public var challengeButton:SimpleButton;
public var optusLogo:MovieClip;
private var _globalSoundTransform:SoundTransform;
public function TitleScreen(){
addFrameScript(86, frame87, 88, frame89, 105, frame106);
this.playButton.addEventListener(MouseEvent.MOUSE_DOWN, handlePlayClick);
this.challengeButton.addEventListener(MouseEvent.CLICK, handleChallengeClick);
this.addEventListener(Event.ADDED_TO_STAGE, handleAddedToStage);
_globalSoundTransform = SoundMixer.soundTransform;
this.muteButton.addEventListener(MouseEvent.MOUSE_DOWN, handleMuteClick);
this.unmuteButton.addEventListener(MouseEvent.MOUSE_DOWN, handleUnMuteClick);
if (_globalSoundTransform.volume == 0){
this.muteButton.visible = false;
this.unmuteButton.visible = true;
} else {
this.muteButton.visible = true;
this.unmuteButton.visible = false;
};
if (!Settings.facebookMode){
this.optusLogo.visible = true;
this.optusLogo.addEventListener(MouseEvent.CLICK, handleLogoClick);
this.optusLogo.buttonMode = true;
} else {
this.optusLogo.visible = false;
};
}
public function exit():void{
gotoAndPlay("exit");
}
private function handleMuteClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.MUTE);
this.muteButton.visible = false;
this.unmuteButton.visible = true;
_globalSoundTransform.volume = 0;
SoundMixer.soundTransform = _globalSoundTransform;
}
private function handleChallengeClick(_arg1:MouseEvent):void{
trace("handleChallengeClick");
}
private function handleUnMuteClick(_arg1:MouseEvent):void{
this.muteButton.visible = true;
this.unmuteButton.visible = false;
_globalSoundTransform.volume = 1;
SoundMixer.soundTransform = _globalSoundTransform;
}
function frame106(){
stop();
dispatchEvent(new Event("exitComplete2"));
}
private function handleAddedToStage(_arg1:Event):void{
}
private function handleLogoClick(_arg1:MouseEvent):void{
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.LOGO);
var _local2:URLRequest = new URLRequest("http://apps.facebook.com/jetstream-penguin");
navigateToURL(_local2);
}
function frame87(){
stop();
}
public function destroy():void{
this.muteButton.removeEventListener(MouseEvent.MOUSE_DOWN, handleMuteClick);
this.unmuteButton.removeEventListener(MouseEvent.MOUSE_DOWN, handleUnMuteClick);
}
private function handlePlayClick(_arg1:MouseEvent):void{
if (Settings.facebookMode){
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.PLAY_GAME);
} else {
Tracking.instance.trackEvent(Tracking.CAT_GAME, Tracking.PLAY_GAME_EXTERNAL);
};
dispatchEvent(new Event("play"));
}
function frame89(){
dispatchEvent(new Event("exitComplete1"));
}
}
}//package
Section 290
//Tracking (Tracking)
package {
import flash.display.*;
import com.google.analytics.*;
public class Tracking {
private var _googleTracker:AnalyticsTracker;
private var _initialised:Boolean;// = false
public static const LOGO:String = "logo";
public static const PORTAL_OK:String = "portal/ok";
public static const INVITE_OK:String = "invite/ok";
public static const PAUSE:String = "pause";
public static const CHALLENGE_OK:String = "challenge/ok";
public static const MUTE:String = "mute";
public static const POST_OK:String = "post/ok";
public static const PLAY_GAME:String = "playGame";
public static const FINISH_GAME:String = "finishGame";
public static const FOCUS_OUT:String = "focusOut";
public static const CAT_GAME:String = "game";
public static const RESUME:String = "resume";
public static const REPLAY:String = "replay";
public static const RESTART:String = "restart";
public static const PLAY_GAME_EXTERNAL:String = "playGameExternal";
public static const INVITE_SKIP:String = "invite/skip";
public static const PORTAL_SKIP:String = "portal/skip";
public static const CHALLENGE_SKIP:String = "challenge/skip";
public static const POST_SKIP:String = "post/skip";
private static var _instance:Tracking;
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=-1):void{
if (_googleTracker){
if (_arg3 != null){
_googleTracker.trackEvent(_arg1, _arg2, _arg3, _arg4);
} else {
_googleTracker.trackEvent(_arg1, _arg2);
};
};
}
public function trackPageView(_arg1:String):void{
if (_googleTracker){
_googleTracker.trackPageview(_arg1);
};
}
public function initialise(_arg1:MovieClip):void{
if (!_initialised){
_googleTracker = new GATracker(_arg1, "UA-99999999-99", "AS3", false);
_initialised = true;
};
}
public static function get instance():Tracking{
if (_instance == null){
_instance = new (Tracking);
};
return (_instance);
}
}
}//package
Section 291
//TransitionTrigger (TransitionTrigger)
package {
import flash.display.*;
import as3lib.*;
public class TransitionTrigger extends MovieClip implements ITriggerable {
private var _transitionPart:String;
private var _levelNumber:int;
private var _triggered:Boolean;
private var _parentClip:MovieClip;
public function TransitionTrigger(){
ElementManager.instance.registerTrigger(this);
switch (this.name){
case "trigger_2_c":
_levelNumber = 2;
_transitionPart = "c";
break;
case "trigger_2_d":
_levelNumber = 2;
_transitionPart = "d";
break;
case "trigger_3_c":
_levelNumber = 3;
_transitionPart = "c";
break;
case "trigger_3_d":
_levelNumber = 3;
_transitionPart = "d";
break;
case "trigger_4_c":
_levelNumber = 4;
_transitionPart = "c";
break;
case "trigger_4_d":
_levelNumber = 4;
_transitionPart = "d";
break;
case "trigger_4_e":
_levelNumber = 4;
_transitionPart = "e";
break;
default:
trace(("UNKNOWN TRIGGER" + this.name));
};
this.alpha = 0;
}
public function hasTriggered():Boolean{
return (_triggered);
}
public function trigger():void{
if (!_triggered){
_triggered = true;
GlobalEvents.instance.broadcastEvent(new CustomEvent(Trigger.NEW_LEVEL, {level:_levelNumber, transitionPart:_transitionPart}));
};
}
public function getGlobalX():Number{
return ((this.x + this.parent.x));
}
}
}//package
Section 292
//Trigger (Trigger)
package {
public class Trigger {
public var type:String;
public var data:Object;
public static const ANIMATION:String = "animation";
public static const NEW_LEVEL:String = "triggerLevelEnd";
public static const MUSIC_CHANGE:String = "musicChange";
public static const BOSS_ANIMATION:String = "bossAnimation";
public static const SPEED_UP:String = "speedUp";
public static const END_GAME:String = "triggerEndGame";
public static const GAME_ANIMATION:String = "gameAnimation";
public static const ENTER_BOSS:String = "enterBoss";
public function Trigger(_arg1:String, _arg2:Object=null){
this.type = _arg1;
this.data = _arg2;
}
}
}//package
Section 293
//WhiteFader (WhiteFader)
package {
import flash.display.*;
public dynamic class WhiteFader extends MovieClip {
}
}//package
Section 294
//Zipper (Zipper)
package {
import flash.display.*;
public class Zipper extends MovieClip {
public var exitSpeed:Number;// = 90
public var zipped:Boolean;
public var radius:Number;// = 50
public var burnTime:Number;// = 500
public function Zipper(){
addFrameScript(2, frame3, 23, frame24);
cacheAsBitmap = true;
ElementManager.instance.registerZipper(this);
}
public function getGlobalY():Number{
return ((this.y + this.parent.y));
}
public function zip():void{
cacheAsBitmap = false;
this.zipped = true;
this.gotoAndPlay("zip");
SoundController.instance.playUniqueSound(SoundController.USE_ZIPPER);
}
function frame3(){
stop();
}
function frame24(){
stop();
}
public function getGlobalX():Number{
return ((this.x + this.parent.x));
}
}
}//package
Section 295
//ZipperJumpFishAnim (ZipperJumpFishAnim)
package {
import flash.events.*;
import flash.display.*;
public dynamic class ZipperJumpFishAnim extends MovieClip {
public var holder2:MovieClip;
public function ZipperJumpFishAnim(){
addFrameScript(300, frame301, 345, frame346);
}
function frame346(){
stop();
dispatchEvent(new Event(Event.COMPLETE));
}
function frame301(){
dispatchEvent(new Event("scrollResume"));
}
}
}//package