//¡ABC File MinorVersion:16 , MajorVersion:46
//INT cnt=259
//UINT cnt=1
//DOUBLE cnt=62
//STRING cnt=12387
//NAMESPACES cnt=2372
//NAMESPACE_SETS cnt=493
//MULTINAMES cnt=11948
//Methods cnt=8750
//METADATA cnt=0
//INTERFACE cnt=932
//CLASS cnt=932
//SCRIPT cnt=925
//¡script000¡
package ru.rutube.manager.extern{
//¡class(instance)_index:0
public interface IExternalPlayer
{
//static constructor
public static function IExternalPlayer$cinit()
{ //MethodID:0, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
}
//variables/etc.
function openContentPage():void; //MethodID:1, dispID:0
function externalNotify(hug1:String):void; //MethodID:2, dispID:0
function restart(hug1:Object):Boolean; //MethodID:3, dispID:0
//constructor
public function IExternalPlayer(); //MethodID:4, dispID:0
}
}
//¡script001¡
package{
import flash.display.DisplayObject
import flash.display.DisplayObjectContainer
import flash.display.Sprite
import flash.display.StageAlign
import flash.display.StageScaleMode
import flash.events.Event
import flash.geom.Rectangle
import flash.system.Security
import flash.ui.ContextMenu
import ru.rutube.event.EventManager
import ru.rutube.event.InternalEvent
import ru.rutube.event.PlayerStateEvent
import ru.rutube.event.RestartEvent
import ru.rutube.manager.extern.ExternalFunctId
import ru.rutube.manager.extern.ExternalJSController
import ru.rutube.managers.advertisement.AdvertisementManager
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.remote.RemoteEvent
import ru.rutube.managers.state.PlayerStatesManager
import ru.rutube.managers.statistic.google.GoogleAnalytics
import ru.rutube.managers.statistic.player.PlayerStatistic
//¡class(instance)_index:1
public class RutubePlayer extends Sprite implements IExternalPlayer
{
//static constructor
public static function RutubePlayer$cinit()
{ //MethodID:6, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
instanceRutubePlayer = null;
}
//static variables/etc.
private static var instanceRutubePlayer:RutubePlayer = null; //slotID:1
public static function get instance():RutubePlayer
{ //dispID:3, MethodID:7, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
return instanceRutubePlayer;
}
//constructor
public function RutubePlayer()
{ //MethodID:8, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 45
super();
instanceRutubePlayer = this;
if(!parent){
addEventListener(Event.ADDED_TO_STAGE, this.listenerAddedToStage);
}else{
this.init();
}
}
//variables/etc.
public function getContainer():DisplayObjectContainer
{ //MethodID:9, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
return instanceRutubePlayer;
}
public function getStageBounds():Rectangle
{ //MethodID:10, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 73
var hug1:Rectangle = new Rectangle();
if(this.getContainer().stage != null){
hug1.width = this.getContainer().stage.stageWidth;
hug1.height = this.getContainer().stage.stageHeight;
}else{
hug1.width = width;
hug1.height = height;
}
return hug1;
}
public function getRelativeStageBounds(hug1:DisplayObject):Rectangle
{ //MethodID:11, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 60
var hug2:Rectangle = null;
if(hug1 != null){
if(this.getContainer().stage != null){
hug2 = hug1.getBounds(this.getContainer().stage);
}else{
hug2 = hug1.getBounds(this.getContainer());
}
}
return hug2;
}
public function removeAllChildrens():void
{ //MethodID:12, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33
while(this.getContainer().numChildren > 0){
this.getContainer().removeChildAt(0);
}
}
public function getPlayerRectangle():Rectangle
{ //MethodID:13, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 116
var hug1:Rectangle = new Rectangle();
hug1.width = ((parent != null) ? ((parent.stage != null) ? parent.stage.stageWidth : parent.width) : width);
hug1.height = ((parent != null) ? ((parent.stage != null) ? parent.stage.stageHeight : parent.height) : height);
return hug1;
}
private function init():void
{ //MethodID:14, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 250
PlayerStatistic.instance.finishPlayerLoading();
if(!ContentManager.instance.playerIsChild) stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.stageFocusRect = false;
stage.tabChildren = false;
Security.allowDomain("*", "*.rutube.ru", "*.ezn-dev01.rutube.corp", "*.doubleclick.net");
Security.allowInsecureDomain("*.rutube.ru", "*.ezn-dev01.rutube.corp");
contextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
Security.loadPolicyFile("http://tub.rutube.ru/crossdomain.xml");
Security.loadPolicyFile("http://al.rutube.ru/crossdomain.xml");
Security.loadPolicyFile("http://rutube.ru/crossdomain.xml");
Security.loadPolicyFile("http://img.rutube.ru/crossdomain.xml");
Security.loadPolicyFile("http://img-5.rutube.ru/crossdomain.xml");
EventManager.instance.addEventListener(PlayerStateEvent.CHANGE_PLAYER_STATE, this.listenerChangePlayerState);
AdvertisementManager.instance;
ExternalJSController.instance;
GoogleAnalytics.instance.eventDispatcher = EventManager.instance;
GoogleAnalytics.instance.displayObject = this;
PlayerStatesManager.instance.changePlayerState(PlayerStatesManager.instance.getFirstStateId());
addEventListener(Event.REMOVED_FROM_STAGE, this.listenerRemovedFromStage);
}
private function listenerChangePlayerState(hug1:PlayerStateEvent):void
{ //MethodID:15, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16
PlayerStatesManager.instance.changePlayerState(hug1.needState);
}
private function listenerAddedToStage(hug1:Event):void
{ //MethodID:16, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 40
removeEventListener(Event.ADDED_TO_STAGE, this.listenerAddedToStage);
addEventListener(Event.ADDED_TO_STAGE, this.listenerNextAddedToStage);
this.init();
}
private function listenerNextAddedToStage(hug1:Event):void
{ //MethodID:17, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 12
EventManager.instance.addStageListeners();
}
private function listenerRemovedFromStage(hug1:Event):void
{ //MethodID:18, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 24
EventManager.instance.dispatchEvent(new InternalEvent(InternalEvent.FREE, 0));
}
public function openContentPage():void
{ //MethodID:19, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
PlayerStatesManager.instance.getCurrentState().externalFunctionCall(ExternalFunctId.FUNCTION_OPEN_CONTENT_PAGE);
}
public function externalNotify(hug1:String):void
{ //MethodID:20, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 20
EventManager.instance.dispatchEvent(new RemoteEvent(hug1));
}
public function restart(hug1:Object):Boolean
{ //MethodID:21, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 24
EventManager.instance.dispatchEvent(new RestartEvent(RestartEvent.RESTART, hug1));
return true;
}
}
}
//¡script002¡
//skip components :fl.controls.listClasses
//as filename :ICellRenderer.as
//¡script003¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:3
public dynamic class CloseButtonOldSkin extends MovieClip
{
//static constructor
public static function CloseButtonOldSkin$cinit()
{ //MethodID:36, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CloseButtonOldSkin()
{ //MethodID:37, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script004¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:4
public dynamic class CloseButtonSkin extends MovieClip
{
//static constructor
public static function CloseButtonSkin$cinit()
{ //MethodID:39, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CloseButtonSkin()
{ //MethodID:40, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script005¡
package DefaultSkin.Volume{
import flash.display.MovieClip
//¡class(instance)_index:5
public dynamic class VolumeButtonSkin extends MovieClip
{
//static constructor
public static function VolumeButtonSkin$cinit()
{ //MethodID:42, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function VolumeButtonSkin()
{ //MethodID:43, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script006¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:6
public dynamic class NextPageSearchButtonSkin extends MovieClip
{
//static constructor
public static function NextPageSearchButtonSkin$cinit()
{ //MethodID:45, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function NextPageSearchButtonSkin()
{ //MethodID:46, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script007¡
//skip components :fl.events
//as filename :DataChangeType.as
//¡script008¡
//skip components :fl.core
//as filename :InvalidationType.as
//¡script009¡
//skip components :fl.transitions.easing
//as filename :None.as
//¡script010¡
//skip components :fl.transitions
//as filename :Transition.as
//¡script011¡
//skip components :fl.transitions
//as filename :Wipe.as
//¡script012¡
//skip components :fl.events
//as filename :SliderEventClickTarget.as
//¡script013¡
//skip components :fl.transitions
//as filename :TweenEvent.as
//¡script014¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:14
public dynamic class VoiceDownButtonSkin extends MovieClip
{
//static constructor
public static function VoiceDownButtonSkin$cinit()
{ //MethodID:102, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function VoiceDownButtonSkin()
{ //MethodID:103, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script015¡
package{
import flash.display.MovieClip
//¡class(instance)_index:15
public dynamic class ScrollArrowDown_disabledSkin extends MovieClip
{
//static constructor
public static function ScrollArrowDown_disabledSkin$cinit()
{ //MethodID:105, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollArrowDown_disabledSkin()
{ //MethodID:106, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script016¡
package EndScreen.AboutIcons{
import flash.display.BitmapData
//¡class(instance)_index:16
public dynamic class WeightIcon extends BitmapData
{
//static constructor
public static function WeightIcon$cinit()
{ //MethodID:108, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function WeightIcon(hug1:Number, hug2:Number)
{ //MethodID:109, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
super(hug1, hug2);
}
}
}
//¡script017¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:17
public dynamic class RotateButtonSkin extends MovieClip
{
//static constructor
public static function RotateButtonSkin$cinit()
{ //MethodID:111, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function RotateButtonSkin()
{ //MethodID:112, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script018¡
package DefaultSkin.EndScreen{
import flash.display.MovieClip
//¡class(instance)_index:18
public dynamic class CodeButtonSkin extends MovieClip
{
//static constructor
public static function CodeButtonSkin$cinit()
{ //MethodID:114, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CodeButtonSkin()
{ //MethodID:115, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script019¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:19
public dynamic class livePlayStatus extends MovieClip
{
//static constructor
public static function livePlayStatus$cinit()
{ //MethodID:117, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function livePlayStatus()
{ //MethodID:118, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script020¡
package{
import flash.display.MovieClip
//¡class(instance)_index:20
public dynamic class CellRenderer_selectedDownSkin extends MovieClip
{
//static constructor
public static function CellRenderer_selectedDownSkin$cinit()
{ //MethodID:120, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CellRenderer_selectedDownSkin()
{ //MethodID:121, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script021¡
//skip components :fl.core
//as filename :UIComponent.as
//¡script022¡
//skip components :fl.managers
//as filename :IFocusManagerComponent.as
//¡script023¡
//skip components :fl.controls
//as filename :TextInput.as
//¡script024¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:24
public dynamic class PrevButtonSkin extends MovieClip
{
//static constructor
public static function PrevButtonSkin$cinit()
{ //MethodID:251, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PrevButtonSkin()
{ //MethodID:252, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script025¡
//skip components :fl.events
//as filename :ListEvent.as
//¡script026¡
//skip components :fl.controls
//as filename :ScrollPolicy.as
//¡script027¡
package{
import flash.display.MovieClip
//¡class(instance)_index:27
public dynamic class ScrollArrowDown_upSkin extends MovieClip
{
//static constructor
public static function ScrollArrowDown_upSkin$cinit()
{ //MethodID:266, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollArrowDown_upSkin()
{ //MethodID:267, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script028¡
package{
import flash.display.MovieClip
//¡class(instance)_index:28
public dynamic class ScrollThumb_overSkin extends MovieClip
{
//static constructor
public static function ScrollThumb_overSkin$cinit()
{ //MethodID:269, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollThumb_overSkin()
{ //MethodID:270, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script029¡
//skip components :fl.transitions.easing
//as filename :Strong.as
//¡script030¡
//skip components :fl.events
//as filename :ScrollEvent.as
//¡script031¡
package{
import flash.display.MovieClip
//¡class(instance)_index:31
public dynamic class CellRenderer_upSkin extends MovieClip
{
//static constructor
public static function CellRenderer_upSkin$cinit()
{ //MethodID:286, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CellRenderer_upSkin()
{ //MethodID:287, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script032¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:32
public dynamic class SizeButtonSkin extends MovieClip
{
//static constructor
public static function SizeButtonSkin$cinit()
{ //MethodID:289, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function SizeButtonSkin()
{ //MethodID:290, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script033¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:33
public dynamic class LinkButtonSkin extends MovieClip
{
//static constructor
public static function LinkButtonSkin$cinit()
{ //MethodID:292, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function LinkButtonSkin()
{ //MethodID:293, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script034¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:34
public dynamic class PrevPageNavButtonSkin extends MovieClip
{
//static constructor
public static function PrevPageNavButtonSkin$cinit()
{ //MethodID:295, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PrevPageNavButtonSkin()
{ //MethodID:296, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script035¡
//skip components :fl.core
//as filename :ComponentShim.as
//¡script036¡
//skip components :fl.controls
//as filename :ScrollBar.as
//¡script037¡
//skip components :fl.controls
//as filename :UIScrollBar.as
//¡script038¡
package{
import flash.display.MovieClip
//¡class(instance)_index:38
public dynamic class ScrollThumb_upSkin extends MovieClip
{
//static constructor
public static function ScrollThumb_upSkin$cinit()
{ //MethodID:354, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollThumb_upSkin()
{ //MethodID:355, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script039¡
package{
import flash.display.MovieClip
//¡class(instance)_index:39
public dynamic class TextInput_upSkin extends MovieClip
{
//static constructor
public static function TextInput_upSkin$cinit()
{ //MethodID:357, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function TextInput_upSkin()
{ //MethodID:358, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script040¡
package DefaultSkin.EndScreen{
import flash.display.MovieClip
//¡class(instance)_index:40
public dynamic class CopyButtonSkin extends MovieClip
{
//static constructor
public static function CopyButtonSkin$cinit()
{ //MethodID:360, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CopyButtonSkin()
{ //MethodID:361, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script041¡
package Components{
import fl.core.UIComponent
import flash.display.MovieClip
import flash.events.Event
import flash.events.EventDispatcher
import flash.events.MouseEvent
import flash.geom.Point
import flash.geom.Rectangle
import ru.rutube.event.EventManager
import ru.rutube.event.InternalEvent
//¡class(instance)_index:41
public class Component extends MovieClip
{
//static constructor
public static function Component$cinit()
{ //MethodID:363, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35
akLeft = 0;
akTop = 1;
akRight = 2;
akBottom = 3;
}
//static variables/etc.
private static const akLeft:uint = 0; //slotID:1
private static const akTop:uint = 1; //slotID:2
private static const akRight:uint = 2; //slotID:3
private static const akBottom:uint = 3; //slotID:4
//constructor
public function Component(hug1:EventDispatcher=null, hug2:Boolean=false):void
{ //MethodID:364, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 133
this.topLeft = new Point(0, 0);
this.deltaPoint = new Point(0, 0);
this._anchors = [true, true, false, false];
this.dispatcher = (this as EventDispatcher);
super();
stop();
buttonMode = hug2;
if(hug2){
mouseChildren = false;
addEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown);
addEventListener(MouseEvent.MOUSE_UP, this.onMouseUp);
}
if(hug1 != null) this.dispatcher = hug1;
addEventListener(Event.ADDED, this.onAdded);
}
//variables/etc.
private var originalHeightContainer:Number = 0.0; //slotID:0
private var originalWidthContainer:Number = 0.0; //slotID:0
protected var minWidth:Number = 0.0; //slotID:0
protected var minHeight:Number = 0.0; //slotID:0
protected var _anchors:Array; //slotID:0
protected var dispatcher:EventDispatcher; //slotID:0
protected var maxHeight:Number = 0.0; //slotID:0
private var downFlag:Boolean = false; //slotID:0
private var isListenerStage:Boolean = false; //slotID:0
private var deltaPoint:Point; //slotID:0
protected var maxWidth:Number = 0.0; //slotID:0
protected var percentTop:Boolean = false; //slotID:0
private var $visible:Boolean = true; //slotID:0
private var calcHeight:Number = 0.0; //slotID:0
protected var originalHeight:Number = 0.0; //slotID:0
private var middleX:Boolean = false; //slotID:0
private var middleY:Boolean = false; //slotID:0
protected var percentLeft:Boolean = false; //slotID:0
private var calcWidth:Number = 0.0; //slotID:0
protected var originalWidth:Number = 0.0; //slotID:0
protected var topLeft:Point; //slotID:0
protected var skin:MovieClip = null; //slotID:0
public function release():void
{ //MethodID:365, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function setSkin(hug1:MovieClip, hug2:uint=0):void
{ //MethodID:366, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 76
if(this.skin){
removeChild(this.skin);
this.skin = null;
}
if(hug1){
hug1.gotoAndStop(0);
hug1.mouseChildren = false;
hug1.mouseEnabled = false;
if(hug2 > numChildren) hug2 = numChildren;
addChildAt(hug1, hug2);
this.skin = hug1;
}
}
private function onMouseDown(hug1:MouseEvent):void
{ //MethodID:367, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this.downFlag = true;
}
private function onMouseUp(hug1:MouseEvent):void
{ //MethodID:368, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 25
if(!this.downFlag){
hug1.stopImmediatePropagation();
}else{
this.downFlag = false;
}
}
private function onAdded(hug1:Event):void
{ //MethodID:369, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17
if(hug1.target == this) this.originalState();
}
public function get _width():Number
{ //MethodID:370, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.calcWidth;
}
public function get _height():Number
{ //MethodID:371, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.calcHeight;
}
public function get baseWidth():Number
{ //MethodID:372, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.originalWidth;
}
public function get baseHeight():Number
{ //MethodID:373, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.originalHeight;
}
override public function set visible(hug1:Boolean):void
{ //MethodID:374, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 17
super.visible = this.$visible = hug1;
}
override public function get visible():Boolean
{ //MethodID:375, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.$visible;
}
public function set rawVisible(hug1:Boolean):void
{ //MethodID:376, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
super.visible = hug1;
}
public function get rawVisible():Boolean
{ //MethodID:377, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return super.visible;
}
public function setVisibleMode(hug1:Boolean, ...rest):void
{ //MethodID:378, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 28
this.$visible = hug1;
if(rest.length > 0) this.rawVisible = rest[0];
}
public function changeSkin(hug1:String):void
{ //MethodID:379, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 32
if(this.skin){
this.skin.gotoAndStop(hug1);
}else{
gotoAndStop(hug1);
}
}
public function changeAnimationSkin(hug1:String):void
{ //MethodID:380, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 32
if(this.skin){
this.skin.gotoAndPlay(hug1);
}else{
gotoAndStop(hug1);
}
}
public function currentFrameLabelSkin():String
{ //MethodID:381, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 21
if(this.skin) return this.skin.currentLabel;
return "";
}
public function size(hug1:Number, hug2:Number, hug3:Boolean=false, hug4:Number=0.0, hug5:Number=0.0, hug6:Number=0.0, hug7:Number=0.0):void
{ //MethodID:382, LocalCount= 9 , MaxScope= 1, MaxStack= 4, CodeLength= 107
this.calcWidth = this.originalWidth = hug1;
this.calcHeight = this.originalHeight = hug2;
this.minWidth = (hug3 ? hug1 : hug4);
this.minHeight = (hug3 ? hug2 : hug5);
this.maxWidth = (hug3 ? hug1 : hug6);
this.maxHeight = (hug3 ? hug2 : hug7);
}
public function position(hug1:Number=0.0, hug2:Number=0.0, hug3:Boolean=false, hug4:Boolean=false, hug5:Boolean=false, hug6:Boolean=false, hug7:Number=0.0, hug8:Number=0.0):void
{ //MethodID:383, LocalCount= 9 , MaxScope= 1, MaxStack= 2, CodeLength= 60
this.topLeft.x = hug1;
this.topLeft.y = hug2;
this.percentLeft = hug3;
this.percentTop = hug4;
this.middleX = hug5;
this.middleY = hug6;
this.deltaPoint.x = hug7;
this.deltaPoint.y = hug8;
}
public function anchors(hug1:Boolean=true, hug2:Boolean=true, hug3:Boolean=false, hug4:Boolean=false):void
{ //MethodID:384, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 14
this._anchors = [hug1, hug2, hug3, hug4];
}
private function contentTopLeft(hug1:Point, hug2:Number, hug3:Number):Point
{ //MethodID:385, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 134
return new Point(Math.round(((this.topLeft.x * hug2) - (this.percentLeft ? (this.middleX ? (this.calcWidth / 2) : this.deltaPoint.x))) : hug1.x), Math.round(((this.topLeft.y * hug3) - (this.percentTop ? (this.middleY ? (this.calcHeight / 2) : this.deltaPoint.y))) : hug1.y));
}
private function originalState():void
{ //MethodID:386, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 56
var hug1:Point = this.contentTopLeft(this.topLeft, this.originalWidthContainer, this.originalHeightContainer);
x = hug1.x;
y = hug1.y;
this.onUpdate(this.originalWidth, this.originalHeight);
}
public function init(hug1:Boolean=false, hug2:Number=Number.NaN, hug3:Number=Number.NaN):void
{ //MethodID:387, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 211
var hug4:Boolean = false;
if(hug1){
this.originalWidthContainer = stage.stageWidth;
this.originalHeightContainer = stage.stageHeight;
if(!this.isListenerStage){
this.isListenerStage = true;
EventManager.instance.addEventListener(InternalEvent.STAGE, this.onResize);
}
}else{
if(this.isListenerStage){
EventManager.instance.removeEventListener(InternalEvent.STAGE, this.onResize);
this.isListenerStage = false;
}
hug4 = (parent && (parent is Component));
this.originalWidthContainer = (isNaN(hug2) ? (hug4 ? (parent as Component).originalWidth : 0) : hug2);
this.originalHeightContainer = (isNaN(hug3) ? (hug4 ? (parent as Component).originalHeight : 0) : hug3);
}
this.originalState();
}
public function onResize(... rest):void
{ //MethodID:388, LocalCount= 4 , MaxScope= 5, MaxStack= 5, CodeLength= 873
public var args:Array; //slotID:1
internal var w:Number; //slotID:2
internal var h:Number; //slotID:3
internal var countArgs:uint; //slotID:4
internal var rect:Rectangle; //slotID:5
internal var point:Point; //slotID:6
internal var internalEvent:InternalEvent; //slotID:7
internalEvent = null;
internal var args:Object = rest;
w = NaN;
h = NaN;
countArgs = args.length;
if(countArgs > 0){
internalEvent = null;
if(args[0] is InternalEvent) internalEvent = (args[0] as InternalEvent);
if(internalEvent != null){
if(internalEvent.eventType != Event.RESIZE) return;
try{
w = stage.stageWidth;
h = stage.stageHeight;
}
catch(err:Error){
trace(err);
}
}else if(args[0] != null){
w = args[0];
if(countArgs > 1) h = args[1];
}else{
if(countArgs > 1) w = args[1];
if(countArgs > 2) h = args[2];
}
}
if(isNaN(w)) w = ((parent is Component) ? (parent as Component)._width : 0);
if(isNaN(h)) h = ((parent is Component) ? (parent as Component)._height : 0);
rect = new Rectangle();
this.calcWidth = this.originalWidth;
this.calcHeight = this.originalHeight;
rect.topLeft = this.contentTopLeft(this.topLeft, this.originalWidthContainer, this.originalHeightContainer);
rect.size = new Point(this.originalWidth, this.originalHeight);
if(this._anchors[akRight]){
if(this._anchors[akLeft]){
rect.width = (w - this.originalWidthContainer - this.originalWidth);
}else{
rect.x = (w - this.originalWidthContainer - rect.x);
}
}else if(!this._anchors[akLeft]){
rect.x = ((rect.x * w) / this.originalWidthContainer);
}
if(this._anchors[akBottom]){
if(this._anchors[akTop]){
rect.height = (h - this.originalHeightContainer - this.originalHeight);
}else{
rect.y = (h - this.originalHeightContainer - rect.y);
}
}else if(!this._anchors[akTop]){
rect.y = ((rect.y * h) / this.originalHeightContainer);
}
if(parent is RutubePlayer){
if(parent.parent){
if(parent.parent is UIComponent){
rect.width = parent.parent.width;
this.calcWidth = parent.parent.width;
rect.height = parent.parent.height;
this.calcHeight = parent.parent.height;
rect.x = 0;
rect.y = 0;
}
}
}
this.applySize(rect.width, rect.height);
point = this.contentTopLeft(rect.topLeft, w, h);
x = point.x;
y = point.y;
this.onUpdate(this.calcWidth, this.calcHeight);
}
protected function applySize(hug1:Number, hug2:Number):void
{ //MethodID:389, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 129
if((this.maxWidth > 0) && (hug1 > this.maxWidth)) hug1 = this.maxWidth;
if((this.maxHeight > 0) && (hug2 > this.maxHeight)) hug2 = this.maxHeight;
if((this.minWidth > 0) && (hug1 < this.minWidth)) hug1 = this.minWidth;
if((this.minHeight > 0) && (hug2 < this.minHeight)) hug2 = this.minHeight;
this.calcWidth = hug1;
this.calcHeight = hug2;
}
public function location(hug1:Object):void
{ //MethodID:390, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 117
if(hug1.hasOwnProperty("x")) x = hug1.x;
if(hug1.hasOwnProperty("y")) y = hug1.y;
this.applySize((hug1.hasOwnProperty("w") ? hug1.w : this.calcWidth), (hug1.hasOwnProperty("h") ? hug1.h : this.calcHeight));
this.onUpdate(this.calcWidth, this.calcHeight);
}
protected function onUpdate(hug1:Number, hug2:Number):void
{ //MethodID:391, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function onPaint(hug1:Boolean=false):void
{ //MethodID:392, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 60
if(hug1 && parent && (parent is Component)){
(parent as Component).onPaint();
}else{
this.onUpdate(this.calcWidth, this.calcHeight);
}
}
public function free():void
{ //MethodID:393, LocalCount= 3 , MaxScope= 5, MaxStack= 3, CodeLength= 132
removeEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown);
removeEventListener(MouseEvent.MOUSE_UP, this.onMouseUp);
removeEventListener(Event.ADDED, this.onAdded);
if(this.isListenerStage){
try{
EventManager.instance.removeEventListener(InternalEvent.STAGE, this.onResize);
}
catch(err:Error){
trace(err);
}
this.isListenerStage = false;
}
if(parent) parent.removeChild(this);
}
public function params(hug1:Object, hug2:Boolean=true, hug3:Boolean=true, hug4:Boolean=true, hug5:Boolean=true):void
{ //MethodID:394, LocalCount= 8 , MaxScope= 1, MaxStack= 10, CodeLength= 695
var hug6:Boolean = false;
var hug7:Boolean = false;
if(hug2) this.size((hug1.hasOwnProperty("w") ? hug1.w : this.originalWidth), (hug1.hasOwnProperty("h") ? hug1.h : this.originalHeight), (hug1.hasOwnProperty("fixedSize") ? hug1.fixedSize : false), (hug1.hasOwnProperty("minW") ? hug1.minW : this.minWidth), (hug1.hasOwnProperty("minH") ? hug1.minH : this.minHeight), (hug1.hasOwnProperty("maxW") ? hug1.maxW : this.maxWidth), (hug1.hasOwnProperty("maxH") ? hug1.maxH : this.maxHeight));
if(hug3){
hug6 = (hug1.hasOwnProperty("xP") ? hug1.xP : false);
hug7 = (hug1.hasOwnProperty("yP") ? hug1.yP : false);
this.position((hug1.hasOwnProperty("x") ? hug1.x : this.topLeft.x), (hug1.hasOwnProperty("y") ? hug1.y : this.topLeft.y), hug6, hug7, (hug1.hasOwnProperty("xM") ? hug1.xM : (hug6 ? this.middleX : false)), (hug1.hasOwnProperty("yM") ? hug1.yM : (hug7 ? this.middleY : false)), (hug1.hasOwnProperty("xD") ? hug1.xD : (hug6 ? this.deltaPoint.x : 0)), (hug1.hasOwnProperty("yD") ? hug1.yD : (hug7 ? this.deltaPoint.y : 0)));
}
if(hug4) this.anchors((hug1.hasOwnProperty("left") ? hug1.left : this._anchors[0]), (hug1.hasOwnProperty("top") ? hug1.top : this._anchors[1]), (hug1.hasOwnProperty("right") ? hug1.right : this._anchors[2]), (hug1.hasOwnProperty("bottom") ? hug1.bottom : this._anchors[3]));
if(hug5) this.init((hug1.hasOwnProperty("stage") ? hug1.stage : false), (hug1.hasOwnProperty("wContainer") ? hug1.wContainer : NaN), (hug1.hasOwnProperty("hContainer") ? hug1.hContainer : NaN));
}
}
}
//¡script042¡
package Components{
import flash.display.DisplayObject
import flash.display.MovieClip
import flash.events.MouseEvent
//¡class(instance)_index:42
public class Button extends Component
{
//static constructor
public static function Button$cinit()
{ //MethodID:396, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39
STATE_UP = "_up";
STATE_OVER = "_over";
STATE_DOWN = "_down";
clickDelay = 1000;
}
//static variables/etc.
public static const STATE_UP:String = "_up"; //slotID:1
public static const STATE_OVER:String = "_over"; //slotID:2
public static const STATE_DOWN:String = "_down"; //slotID:3
private static var clickDelay:int = 1000; //slotID:4
//constructor
public function Button(hug1:MovieClip=null):void
{ //MethodID:397, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 42
this._hint = new Hint(this as DisplayObject);
super(null, true);
if(hug1){
setSkin(hug1);
this.useModes(true);
}
}
//variables/etc.
private var _mode:String = ""; //slotID:0
private var defaultMode:String = ""; //slotID:0
private var state:String = "_up"; //slotID:0
public var lastClick:Number = 0.0; //slotID:0
private var hints:Array = null; //slotID:0
public var listenerAllowed:Boolean = true; //slotID:0
public var onChangeStateFunction:Function = null; //slotID:0
private var isModes:Boolean = false; //slotID:0
private var allowModes:Array = null; //slotID:0
private var _hint:Hint; //slotID:0
private var downFlag:Boolean = false; //slotID:0
public function useModes(hug1:Boolean, hug2:String, hug3:Array=null, hug4:Array=null):void
{ //MethodID:398, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 202
var hug5:Boolean = this.isModes;
this.isModes = hug1;
if(hug1){
this.allowModes = hug3;
this.hints = hug4;
this.mode = this.defaultMode = hug2;
}
if(hug1 == hug5) return;
if(hug1){
addEventListener(MouseEvent.ROLL_OVER, this.onChangeState);
addEventListener(MouseEvent.ROLL_OUT, this.onChangeState);
addEventListener(MouseEvent.MOUSE_DOWN, this.onChangeState);
addEventListener(MouseEvent.MOUSE_UP, this.onChangeState);
}else{
removeEventListener(MouseEvent.ROLL_OVER, this.onChangeState);
removeEventListener(MouseEvent.ROLL_OUT, this.onChangeState);
removeEventListener(MouseEvent.MOUSE_DOWN, this.onChangeState);
removeEventListener(MouseEvent.MOUSE_UP, this.onChangeState);
this.allowModes = null;
this.hints = null;
}
}
public function set mode(hug1:String):void
{ //MethodID:399, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 117
var hug2:int = 0;
if(this.isModes){
hug2 = (this.allowModes ? this.allowModes.indexOf(hug1) : (-1));
this._mode = ((hug2 != (-1)) ? hug1 : this.defaultMode);
if(this.hints && (hug2 != (-1)) && (hug2 < this.hints.length)) this.hint = this.hints[hug2];
this.updateState();
}
}
public function get mode():String
{ //MethodID:400, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._mode;
}
public function set hint(hug1:String):void
{ //MethodID:401, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this._hint.value = hug1;
}
private function onChangeState(hug1:MouseEvent):void
{ //MethodID:402, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 202
if(!this.listenerAllowed) return;
var hug2:String = STATE_UP;
switch(hug1.type){
case MouseEvent.ROLL_OVER:
if(this.downFlag && !hug1.buttonDown) this.downFlag = false;
hug2 = (this.downFlag ? STATE_DOWN : STATE_OVER);
break;
case MouseEvent.MOUSE_DOWN:
this.downFlag = true;
hug2 = STATE_DOWN;
break;
case MouseEvent.MOUSE_UP:
hug2 = STATE_OVER;
break;
default:
break;
}
if(hug2 != this.state) this.updateState(hug2);
}
private function updateState(hug1:String=null):void
{ //MethodID:403, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 64
if(hug1) this.state = hug1;
if(this.isModes && (this.onChangeStateFunction != null)){
this.onChangeStateFunction(this.state);
}else{
changeSkin(this._mode + this.state);
}
}
public function isDoubleClick():Boolean
{ //MethodID:404, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 27
return (Number(new Date().time) < (this.lastClick + clickDelay));
}
}
}
//¡script043¡
package Components.Forms{
import Components.Button
//¡class(instance)_index:43
public dynamic class ClipboardButton extends Button
{
//static constructor
public static function ClipboardButton$cinit()
{ //MethodID:406, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ClipboardButton()
{ //MethodID:407, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script044¡
package{
import flash.display.MovieClip
//¡class(instance)_index:44
public dynamic class List_skin extends MovieClip
{
//static constructor
public static function List_skin$cinit()
{ //MethodID:409, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function List_skin()
{ //MethodID:410, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script045¡
package Components{
//¡class(instance)_index:45
public dynamic class AdViewMuteOffButton extends Button
{
//static constructor
public static function AdViewMuteOffButton$cinit()
{ //MethodID:412, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdViewMuteOffButton()
{ //MethodID:413, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script046¡
package{
import flash.display.MovieClip
//¡class(instance)_index:46
public dynamic class TextInput_disabledSkin extends MovieClip
{
//static constructor
public static function TextInput_disabledSkin$cinit()
{ //MethodID:415, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function TextInput_disabledSkin()
{ //MethodID:416, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script047¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:47
public dynamic class liveNotFoundStatus extends MovieClip
{
//static constructor
public static function liveNotFoundStatus$cinit()
{ //MethodID:418, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function liveNotFoundStatus()
{ //MethodID:419, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script048¡
package{
import flash.display.MovieClip
//¡class(instance)_index:48
public dynamic class TextArea_upSkin extends MovieClip
{
//static constructor
public static function TextArea_upSkin$cinit()
{ //MethodID:421, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function TextArea_upSkin()
{ //MethodID:422, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script049¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:49
public dynamic class VoiceUpButtonSkin extends MovieClip
{
//static constructor
public static function VoiceUpButtonSkin$cinit()
{ //MethodID:424, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function VoiceUpButtonSkin()
{ //MethodID:425, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script050¡
package{
import flash.display.MovieClip
//¡class(instance)_index:50
public dynamic class ScrollArrowUp_disabledSkin extends MovieClip
{
//static constructor
public static function ScrollArrowUp_disabledSkin$cinit()
{ //MethodID:427, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollArrowUp_disabledSkin()
{ //MethodID:428, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script051¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:51
public dynamic class LogoFButtonSkin extends MovieClip
{
//static constructor
public static function LogoFButtonSkin$cinit()
{ //MethodID:430, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function LogoFButtonSkin()
{ //MethodID:431, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script052¡
package{
import flash.display.MovieClip
//¡class(instance)_index:52
public dynamic class Transparent_List_skin extends MovieClip
{
//static constructor
public static function Transparent_List_skin$cinit()
{ //MethodID:433, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function Transparent_List_skin()
{ //MethodID:434, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script053¡
package EndScreen.AboutIcons{
import flash.display.BitmapData
//¡class(instance)_index:53
public dynamic class DateIcon extends BitmapData
{
//static constructor
public static function DateIcon$cinit()
{ //MethodID:436, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function DateIcon(hug1:Number, hug2:Number)
{ //MethodID:437, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
super(hug1, hug2);
}
}
}
//¡script054¡
package{
import flash.display.MovieClip
//¡class(instance)_index:54
public dynamic class ScrollTrack_skin extends MovieClip
{
//static constructor
public static function ScrollTrack_skin$cinit()
{ //MethodID:439, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollTrack_skin()
{ //MethodID:440, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script055¡
//skip components :fl.events
//as filename :ComponentEvent.as
//¡script056¡
package Components{
//¡class(instance)_index:56
public dynamic class Preloader extends Component
{
//static constructor
public static function Preloader$cinit()
{ //MethodID:447, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function Preloader()
{ //MethodID:448, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script057¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:57
public dynamic class liveStopStatus extends MovieClip
{
//static constructor
public static function liveStopStatus$cinit()
{ //MethodID:450, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function liveStopStatus()
{ //MethodID:451, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script058¡
//skip components :fl.data
//as filename :SimpleCollectionItem.as
//¡script059¡
package{
import flash.display.MovieClip
//¡class(instance)_index:59
public dynamic class ComboBox_disabledSkin extends MovieClip
{
//static constructor
public static function ComboBox_disabledSkin$cinit()
{ //MethodID:457, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ComboBox_disabledSkin()
{ //MethodID:458, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script060¡
//skip components :fl.video
//as filename :IVPEvent.as
//¡script061¡
package EndScreen.AboutIcons{
import flash.display.BitmapData
//¡class(instance)_index:61
public dynamic class CommentsIcon extends BitmapData
{
//static constructor
public static function CommentsIcon$cinit()
{ //MethodID:466, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommentsIcon(hug1:Number, hug2:Number)
{ //MethodID:467, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
super(hug1, hug2);
}
}
}
//¡script062¡
package DefaultSkin.EndScreen{
import flash.display.MovieClip
//¡class(instance)_index:62
public dynamic class SearchButtonSkin extends MovieClip
{
//static constructor
public static function SearchButtonSkin$cinit()
{ //MethodID:469, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function SearchButtonSkin()
{ //MethodID:470, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script063¡
package EndScreen.AboutIcons{
import flash.display.BitmapData
//¡class(instance)_index:63
public dynamic class EditIcon extends BitmapData
{
//static constructor
public static function EditIcon$cinit()
{ //MethodID:472, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function EditIcon(hug1:Number, hug2:Number)
{ //MethodID:473, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
super(hug1, hug2);
}
}
}
//¡script064¡
package EndScreen.AboutIcons{
import flash.display.BitmapData
//¡class(instance)_index:64
public dynamic class DurationIcon extends BitmapData
{
//static constructor
public static function DurationIcon$cinit()
{ //MethodID:475, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function DurationIcon(hug1:Number, hug2:Number)
{ //MethodID:476, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
super(hug1, hug2);
}
}
}
//¡script065¡
//skip components :fl.controls
//as filename :BaseButton.as
//¡script066¡
//skip components :fl.controls
//as filename :LabelButton.as
//¡script067¡
package DefaultSkin.EndScreen{
import flash.display.MovieClip
//¡class(instance)_index:67
public dynamic class AboutButtonSkin extends MovieClip
{
//static constructor
public static function AboutButtonSkin$cinit()
{ //MethodID:520, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AboutButtonSkin()
{ //MethodID:521, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script068¡
package{
import flash.display.MovieClip
//¡class(instance)_index:68
public dynamic class ScrollBar_thumbIcon extends MovieClip
{
//static constructor
public static function ScrollBar_thumbIcon$cinit()
{ //MethodID:523, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollBar_thumbIcon()
{ //MethodID:524, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script069¡
package Components{
//¡class(instance)_index:69
public dynamic class AdViewCloseButton extends Button
{
//static constructor
public static function AdViewCloseButton$cinit()
{ //MethodID:526, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdViewCloseButton()
{ //MethodID:527, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script070¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:70
public dynamic class NextButtonSkin extends MovieClip
{
//static constructor
public static function NextButtonSkin$cinit()
{ //MethodID:529, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function NextButtonSkin()
{ //MethodID:530, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script071¡
package{
import flash.display.MovieClip
//¡class(instance)_index:71
public dynamic class TextArea_disabledSkin extends MovieClip
{
//static constructor
public static function TextArea_disabledSkin$cinit()
{ //MethodID:532, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function TextArea_disabledSkin()
{ //MethodID:533, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script072¡
//skip components :fl.video
//as filename :MetadataEvent.as
//¡script073¡
//skip components :fl.events
//as filename :SliderEvent.as
//¡script074¡
package Components.Window{
import flash.display.BitmapData
//¡class(instance)_index:74
public dynamic class DefaultAvatarData extends BitmapData
{
//static constructor
public static function DefaultAvatarData$cinit()
{ //MethodID:552, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function DefaultAvatarData(hug1:Number, hug2:Number)
{ //MethodID:553, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
super(hug1, hug2);
}
}
}
//¡script075¡
package{
import Components.Component
//¡class(instance)_index:75
public dynamic class WaitFigure extends Component
{
//static constructor
public static function WaitFigure$cinit()
{ //MethodID:555, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function WaitFigure()
{ //MethodID:556, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script076¡
package{
import flash.display.MovieClip
//¡class(instance)_index:76
public dynamic class ComboBox_upSkin extends MovieClip
{
//static constructor
public static function ComboBox_upSkin$cinit()
{ //MethodID:558, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ComboBox_upSkin()
{ //MethodID:559, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script077¡
package{
import flash.display.MovieClip
//¡class(instance)_index:77
public dynamic class ScrollArrowUp_overSkin extends MovieClip
{
//static constructor
public static function ScrollArrowUp_overSkin$cinit()
{ //MethodID:561, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollArrowUp_overSkin()
{ //MethodID:562, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script078¡
package{
import flash.display.MovieClip
//¡class(instance)_index:78
public dynamic class CellRenderer_selectedOverSkin extends MovieClip
{
//static constructor
public static function CellRenderer_selectedOverSkin$cinit()
{ //MethodID:564, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CellRenderer_selectedOverSkin()
{ //MethodID:565, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script079¡
package DefaultSkin.Control{
import flash.display.MovieClip
//¡class(instance)_index:79
public dynamic class PlayPauseButtonSkin extends MovieClip
{
//static constructor
public static function PlayPauseButtonSkin$cinit()
{ //MethodID:567, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PlayPauseButtonSkin()
{ //MethodID:568, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script080¡
package{
import flash.display.MovieClip
//¡class(instance)_index:80
public dynamic class focusRectSkin extends MovieClip
{
//static constructor
public static function focusRectSkin$cinit()
{ //MethodID:570, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function focusRectSkin()
{ //MethodID:571, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script081¡
package Components{
//¡class(instance)_index:81
public dynamic class AdViewMuteOnButton extends Button
{
//static constructor
public static function AdViewMuteOnButton$cinit()
{ //MethodID:573, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdViewMuteOnButton()
{ //MethodID:574, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script082¡
package{
import flash.display.MovieClip
//¡class(instance)_index:82
public dynamic class CellRenderer_selectedUpSkin extends MovieClip
{
//static constructor
public static function CellRenderer_selectedUpSkin$cinit()
{ //MethodID:576, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CellRenderer_selectedUpSkin()
{ //MethodID:577, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script083¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:83
public dynamic class SnapshotButtonSkin extends MovieClip
{
//static constructor
public static function SnapshotButtonSkin$cinit()
{ //MethodID:579, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function SnapshotButtonSkin()
{ //MethodID:580, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script084¡
package{
import flash.display.MovieClip
//¡class(instance)_index:84
public dynamic class CellRenderer_downSkin extends MovieClip
{
//static constructor
public static function CellRenderer_downSkin$cinit()
{ //MethodID:582, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CellRenderer_downSkin()
{ //MethodID:583, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script085¡
package{
import flash.display.MovieClip
//¡class(instance)_index:85
public dynamic class ScrollThumb_downSkin extends MovieClip
{
//static constructor
public static function ScrollThumb_downSkin$cinit()
{ //MethodID:585, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollThumb_downSkin()
{ //MethodID:586, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script086¡
//skip components :fl.transitions.easing
//as filename :Bounce.as
//¡script087¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:87
public dynamic class livePauseStatus extends MovieClip
{
//static constructor
public static function livePauseStatus$cinit()
{ //MethodID:594, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function livePauseStatus()
{ //MethodID:595, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script088¡
package{
import flash.display.MovieClip
//¡class(instance)_index:88
public dynamic class ScrollArrowDown_overSkin extends MovieClip
{
//static constructor
public static function ScrollArrowDown_overSkin$cinit()
{ //MethodID:597, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollArrowDown_overSkin()
{ //MethodID:598, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script089¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:89
public dynamic class PlayWindowButtonSkin extends MovieClip
{
//static constructor
public static function PlayWindowButtonSkin$cinit()
{ //MethodID:600, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PlayWindowButtonSkin()
{ //MethodID:601, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script090¡
package{
import flash.display.MovieClip
//¡class(instance)_index:90
public dynamic class ScrollArrowUp_upSkin extends MovieClip
{
//static constructor
public static function ScrollArrowUp_upSkin$cinit()
{ //MethodID:603, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollArrowUp_upSkin()
{ //MethodID:604, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script091¡
//skip components :fl.managers
//as filename :IFocusManager.as
//¡script092¡
//skip components :fl.managers
//as filename :FocusManager.as
//¡script093¡
//skip components :fl.controls
//as filename :ButtonLabelPlacement.as
//¡script094¡
package{
import flash.display.MovieClip
//¡class(instance)_index:94
public dynamic class ScrollArrowUp_downSkin extends MovieClip
{
//static constructor
public static function ScrollArrowUp_downSkin$cinit()
{ //MethodID:676, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollArrowUp_downSkin()
{ //MethodID:677, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script095¡
//skip components :fl.transitions
//as filename :Tween.as
//¡script096¡
package DefaultSkin.EndScreen{
import flash.display.MovieClip
//¡class(instance)_index:96
public dynamic class RepeatButtonSkin extends MovieClip
{
//static constructor
public static function RepeatButtonSkin$cinit()
{ //MethodID:710, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function RepeatButtonSkin()
{ //MethodID:711, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script097¡
//skip components :fl.controls
//as filename :ScrollBarDirection.as
//¡script098¡
//skip components :fl.controls
//as filename :TextArea.as
//¡script099¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:99
public dynamic class FavoriteButtonSkin2 extends MovieClip
{
//static constructor
public static function FavoriteButtonSkin2$cinit()
{ //MethodID:784, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function FavoriteButtonSkin2()
{ //MethodID:785, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script100¡
//skip components :fl.containers
//as filename :BaseScrollPane.as
//¡script101¡
//skip components :fl.controls
//as filename :SelectableList.as
//¡script102¡
package EndScreen.AboutIcons{
import flash.display.BitmapData
//¡class(instance)_index:102
public dynamic class SubscribeIcon extends BitmapData
{
//static constructor
public static function SubscribeIcon$cinit()
{ //MethodID:891, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function SubscribeIcon(hug1:Number, hug2:Number)
{ //MethodID:892, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
super(hug1, hug2);
}
}
}
//¡script103¡
package EndScreen.AboutIcons{
import flash.display.BitmapData
//¡class(instance)_index:103
public dynamic class ToFriendsIcon extends BitmapData
{
//static constructor
public static function ToFriendsIcon$cinit()
{ //MethodID:894, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ToFriendsIcon(hug1:Number, hug2:Number)
{ //MethodID:895, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
super(hug1, hug2);
}
}
}
//¡script104¡
//skip components :fl.controls.listClasses
//as filename :ListData.as
//¡script105¡
package{
import flash.display.MovieClip
//¡class(instance)_index:105
public dynamic class ComboBox_downSkin extends MovieClip
{
//static constructor
public static function ComboBox_downSkin$cinit()
{ //MethodID:906, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ComboBox_downSkin()
{ //MethodID:907, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script106¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:106
public dynamic class ScaleButtonSkin extends MovieClip
{
//static constructor
public static function ScaleButtonSkin$cinit()
{ //MethodID:909, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScaleButtonSkin()
{ //MethodID:910, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script107¡
package{
import flash.display.MovieClip
//¡class(instance)_index:107
public dynamic class CellRenderer_overSkin extends MovieClip
{
//static constructor
public static function CellRenderer_overSkin$cinit()
{ //MethodID:912, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CellRenderer_overSkin()
{ //MethodID:913, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script108¡
//skip components :fl.managers
//as filename :StyleManager.as
//¡script109¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:109
public dynamic class LogoButtonSkin extends MovieClip
{
//static constructor
public static function LogoButtonSkin$cinit()
{ //MethodID:931, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function LogoButtonSkin()
{ //MethodID:932, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script110¡
package{
import flash.display.MovieClip
//¡class(instance)_index:110
public dynamic class CellRenderer_selectedDisabledSkin extends MovieClip
{
//static constructor
public static function CellRenderer_selectedDisabledSkin$cinit()
{ //MethodID:934, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CellRenderer_selectedDisabledSkin()
{ //MethodID:935, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script111¡
//skip components :fl.events
//as filename :DataChangeEvent.as
//¡script112¡
//skip components :fl.transitions
//as filename :TransitionManager.as
//¡script113¡
//skip components :fl.video
//as filename :VideoEvent.as
//¡script114¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:114
public dynamic class LogoButtonSkin2 extends MovieClip
{
//static constructor
public static function LogoButtonSkin2$cinit()
{ //MethodID:976, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function LogoButtonSkin2()
{ //MethodID:977, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script115¡
package{
import flash.display.MovieClip
//¡class(instance)_index:115
public dynamic class CellRenderer_disabledSkin extends MovieClip
{
//static constructor
public static function CellRenderer_disabledSkin$cinit()
{ //MethodID:979, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CellRenderer_disabledSkin()
{ //MethodID:980, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script116¡
package{
import flash.display.MovieClip
//¡class(instance)_index:116
public dynamic class ScrollArrowDown_downSkin extends MovieClip
{
//static constructor
public static function ScrollArrowDown_downSkin$cinit()
{ //MethodID:982, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScrollArrowDown_downSkin()
{ //MethodID:983, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script117¡
package EndScreen.AboutIcons{
import flash.display.BitmapData
//¡class(instance)_index:117
public dynamic class RatingIcon extends BitmapData
{
//static constructor
public static function RatingIcon$cinit()
{ //MethodID:985, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function RatingIcon(hug1:Number, hug2:Number)
{ //MethodID:986, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8
super(hug1, hug2);
}
}
}
//¡script118¡
package DefaultSkin.Control{
import flash.display.MovieClip
//¡class(instance)_index:118
public dynamic class StopButtonSkin extends MovieClip
{
//static constructor
public static function StopButtonSkin$cinit()
{ //MethodID:988, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function StopButtonSkin()
{ //MethodID:989, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script119¡
//skip components :fl.transitions.easing
//as filename :Back.as
//¡script120¡
package Components.Window{
import Components.Component
//¡class(instance)_index:120
public dynamic class WaitRutubeWindow extends Component
{
//static constructor
public static function WaitRutubeWindow$cinit()
{ //MethodID:997, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function WaitRutubeWindow()
{ //MethodID:998, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script121¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:121
public dynamic class ScreenButtonSkin extends MovieClip
{
//static constructor
public static function ScreenButtonSkin$cinit()
{ //MethodID:1000, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ScreenButtonSkin()
{ //MethodID:1001, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script122¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:122
public dynamic class PrevPageSearchButtonSkin extends MovieClip
{
//static constructor
public static function PrevPageSearchButtonSkin$cinit()
{ //MethodID:1003, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PrevPageSearchButtonSkin()
{ //MethodID:1004, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script123¡
package DefaultSkin.Timeline{
import flash.display.MovieClip
//¡class(instance)_index:123
public dynamic class TimelineSliderSkin extends MovieClip
{
//static constructor
public static function TimelineSliderSkin$cinit()
{ //MethodID:1006, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function TimelineSliderSkin()
{ //MethodID:1007, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script124¡
//skip components :fl.controls.listClasses
//as filename :CellRenderer.as
//¡script125¡
//skip components :fl.controls
//as filename :Button.as
//¡script126¡
package{
import flash.display.MovieClip
//¡class(instance)_index:126
public dynamic class ComboBox_overSkin extends MovieClip
{
//static constructor
public static function ComboBox_overSkin$cinit()
{ //MethodID:1032, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ComboBox_overSkin()
{ //MethodID:1033, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script127¡
//skip components :fl.controls
//as filename :List.as
//¡script128¡
//skip components :fl.managers
//as filename :IFocusManagerGroup.as
//¡script129¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:129
public dynamic class MessageButtonSkin2 extends MovieClip
{
//static constructor
public static function MessageButtonSkin2$cinit()
{ //MethodID:1071, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function MessageButtonSkin2()
{ //MethodID:1072, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script130¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:130
public dynamic class StarVoteSkin extends MovieClip
{
//static constructor
public static function StarVoteSkin$cinit()
{ //MethodID:1074, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function StarVoteSkin()
{ //MethodID:1075, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script131¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:131
public dynamic class NextPageNavButtonSkin extends MovieClip
{
//static constructor
public static function NextPageNavButtonSkin$cinit()
{ //MethodID:1077, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function NextPageNavButtonSkin()
{ //MethodID:1078, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script132¡
package DefaultSkin{
import flash.display.MovieClip
//¡class(instance)_index:132
public dynamic class PlaylistButtonSkin2 extends MovieClip
{
//static constructor
public static function PlaylistButtonSkin2$cinit()
{ //MethodID:1080, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PlaylistButtonSkin2()
{ //MethodID:1081, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script133¡
//skip components :fl.events
//as filename :InteractionInputType.as
//¡script134¡
//skip components :fl.controls
//as filename :ComboBox.as
//¡script135¡
//skip components :fl.data
//as filename :DataProvider.as
//¡script136¡
package ru.rutube.managers.remote{
import flash.events.Event
//¡class(instance)_index:136
public class RemoteEvent extends Event
{
//static constructor
public static function RemoteEvent$cinit()
{ //MethodID:1188, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 66
EVENT_EXT_START = "startExt";
EVENT_EXT_PLAY = "playExt";
EVENT_EXT_PAUSE = "pauseExt";
EVENT_EXT_STOP = "stopExt";
EVENT_EXT_HIDE_PANELS = "hidePanelsExt";
EVENT_EXT_HIDE_TOP_PANEL = "hideTopPanel";
EVENT_EXT_RESIZE = "resize";
}
//static variables/etc.
public static const EVENT_EXT_START:String = "startExt"; //slotID:1
public static const EVENT_EXT_PLAY:String = "playExt"; //slotID:2
public static const EVENT_EXT_PAUSE:String = "pauseExt"; //slotID:3
public static const EVENT_EXT_STOP:String = "stopExt"; //slotID:4
public static const EVENT_EXT_HIDE_PANELS:String = "hidePanelsExt";//slotID:5
public static const EVENT_EXT_HIDE_TOP_PANEL:String = "hideTopPanel";//slotID:6
public static const EVENT_EXT_RESIZE:String = "resize"; //slotID:7
//constructor
public function RemoteEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false)
{ //MethodID:1189, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9
super(hug1, hug2, hug3);
}
}
}
//¡script137¡
package ru.rutube.managers.advertisement{
import flash.events.TimerEvent
import flash.external.ExternalInterface
import flash.utils.Dictionary
import flash.utils.Timer
import ru.rutube.event.EventManager
import ru.rutube.managers.advertisement.event.AdvertisementEvent
import ru.rutube.managers.advertisement.model.Advertisement
import ru.rutube.managers.advertisement.model.adriver.AdriverSpecialFormats
import ru.rutube.managers.advertisement.model.adriver.AdvertisementAdRiver
import ru.rutube.managers.advertisement.model.adriver.AdvertisementRutubeXml
import ru.rutube.managers.advertisement.model.adriver.BannerSiamTween
import ru.rutube.managers.advertisement.model.context.AdvertisementContext
import ru.rutube.managers.advertisement.model.context.begun.AdvertisementBegun
import ru.rutube.managers.advertisement.model.context.yandexdirect.AdvertisementYandex
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.data.AdvertisingData
import ru.rutube.managers.configuration.data.MetaInfo
//¡class(instance)_index:137
public class AdvertisementManager extends Object
{
//static constructor
public static function AdvertisementManager$cinit()
{ //MethodID:1191, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28
CONTEXT_BEGUN = "begun";
CONTEXT_YANDEX = "yandex";
_instance = null;
}
//static variables/etc.
private static const CONTEXT_BEGUN:String = "begun"; //slotID:1
private static const CONTEXT_YANDEX:String = "yandex"; //slotID:2
private static var _instance:AdvertisementManager = null; //slotID:3
public static function get instance():AdvertisementManager
{ //dispID:3, MethodID:1192, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new AdvertisementManager();
return _instance;
}
//constructor
public function AdvertisementManager()
{ //MethodID:1193, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37
super();
if(_instance != null) throw new Error("You must call 'instance' for get object");
_instance = this;
this.init();
}
//variables/etc.
private var timer:Timer = null; //slotID:0
private var advertisements:Dictionary = null; //slotID:0
private var bannerSiamTweens:Dictionary = null; //slotID:0
private function init():void
{ //MethodID:1194, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 78
this.advertisements = new Dictionary();
this.initSiams();
if(!ExternalInterface.available){
this.timer = new Timer(1000);
this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimerExternalCheck);
this.timer.start();
}else{
this.listenerTimerExternalCheck(null);
}
}
private function initSiams():void
{ //MethodID:1195, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 102
this.bannerSiamTweens = new Dictionary();
this.bannerSiamTweens[AdvertisementType.AD_PRE_ROLL] = new BannerSiamTween(AdvertisementType.AD_PRE_ROLL);
this.bannerSiamTweens[AdvertisementType.AD_OVERLAY] = new BannerSiamTween(AdvertisementType.AD_OVERLAY);
EventManager.instance.addEventListener(AdvertisementEvent.ADVERTISEMENT_SIAMTWEEN_LOADED, this.listenerSiamTweenLoaded);
EventManager.instance.addEventListener(AdvertisementEvent.ADVERTISEMENT_BEGIN_SHOW, this.listenerShowAdvertisement);
}
public function resetAll():void
{ //MethodID:1196, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 53
var hug2:Object = null;
var hug1:Advertisement = null;
for(hug2 in this.advertisements){
delete this.advertisements[hug2];
}
}
public function getAdvertisement(hug1:int, hug2:Boolean=false):Advertisement
{ //MethodID:1197, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 116
var hug3:Advertisement = this.getAd(hug1);
if(!hug3 || hug2){
if(hug1 == AdvertisementType.AD_BEGUN){
hug3 = this.createContext();
}else if([AdvertisementType.AD_BLIND, AdvertisementType.AD_PRE_ROLL, AdvertisementType.AD_PAUSE, AdvertisementType.AD_POST_ROLL, AdvertisementType.AD_OVERLAY].indexOf(hug1) > (-1)){
hug3 = this.createAdRiver(hug1);
}
}
if(!hug3) hug3 = new Advertisement(hug1);
return hug3;
}
public function reset(hug1:int):void
{ //MethodID:1198, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 23
var hug2:Advertisement = this.getAd(hug1);
if(hug2 != null) hug2.reset();
}
public function isAdLoaded(hug1:int):Boolean
{ //MethodID:1199, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 23
var hug2:Advertisement = this.getAd(hug1);
if(!hug2) return false;
return hug2.isLoaded;
}
public function finishAllCheckSiamtwin():void
{ //MethodID:1200, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 50
var hug1:BannerSiamTween = null;
this.clearTimer();
for each(hug1 in this.bannerSiamTweens){
hug1.finishCheckSiamtwin();
}
}
public function finishCheckSiamtwin(hug1:int):void
{ //MethodID:1201, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 113
var hug3:Boolean = false;
var hug4:BannerSiamTween = null;
var hug2:BannerSiamTween = (this.bannerSiamTweens[hug1] as BannerSiamTween);
if(hug2){
hug2.finishCheckSiamtwin();
if(this.timer){
hug3 = true;
for each(hug4 in this.bannerSiamTweens){
if(!hug4.canceled){
hug3 = false;
break;
}
}
if(hug3) this.clearTimer();
}
hug2 = null;
}
}
protected function getAd(hug1:int):Advertisement
{ //MethodID:1202, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 109
var hug3:AdvertisementAdRiver = null;
var hug4:AdvertisementAdRiver = null;
var hug2:Advertisement = null;
if(hug1 == AdvertisementType.AD_POST_ROLL){
hug2 = (this.advertisements[AdvertisementType.AD_OVERLAY] as Advertisement);
hug3 = (hug2 as AdvertisementAdRiver);
if(hug3 != null){
if(hug3.adRutube.isTwinPresent){
hug4 = this.createAdRiver(AdvertisementType.AD_POST_ROLL);
hug4.clone(hug3);
return hug4;
}
}
}
hug2 = (this.advertisements[hug1] as Advertisement);
return hug2;
}
private function createAdRiver(hug1:int):AdvertisementAdRiver
{ //MethodID:1203, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 314
var hug2:AdvertisementAdRiver = new AdvertisementAdRiver(hug1);
var hug3:MetaInfo = ConfigurationManager.instance.metaInfo;
var hug4:AdvertisingData = null;
var hug5:int = hug1;
switch(hug5){
case AdvertisementType.AD_BLIND:
hug4 = ConfigurationManager.instance.playerConfig.getAdvertise(0);
break;
case AdvertisementType.AD_PRE_ROLL:
hug4 = hug3.preView;
break;
case AdvertisementType.AD_PAUSE:
hug4 = hug3.pauseView;
break;
case AdvertisementType.AD_POST_ROLL:
hug4 = hug3.postView;
break;
case AdvertisementType.AD_OVERLAY:
hug4 = hug3.overlayView;
break;
default:
break;
}
if(hug4 != null){
hug2.url = hug4.urlContent;
hug2.totalShow = hug4.showCount;
}
if(this.advertisements[hug1] != null){
(this.advertisements[hug1] as Advertisement).reset();
this.advertisements[hug1] = null;
}
this.advertisements[hug1] = hug2;
return hug2;
}
private function createContext():AdvertisementContext
{ //MethodID:1204, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 216
var hug1:AdvertisementContext = null;
switch(ConfigurationManager.instance.metaInfo.context_povider){
case CONTEXT_YANDEX:
hug1 = new AdvertisementYandex(AdvertisementType.AD_BEGUN);
break;
default:
hug1 = new AdvertisementBegun(AdvertisementType.AD_BEGUN);
break;
}
hug1.url = ConfigurationManager.instance.metaInfo.urlContextAdvertisement;
hug1.keywords = ConfigurationManager.instance.metaInfo.movieKeywords;
hug1.reference = ConfigurationManager.instance.flashVariablesConfig.referrer;
if(this.advertisements[AdvertisementType.AD_BEGUN] != null){
(this.advertisements[AdvertisementType.AD_BEGUN] as Advertisement).reset();
this.advertisements[AdvertisementType.AD_BEGUN] = null;
}
this.advertisements[AdvertisementType.AD_BEGUN] = hug1;
return hug1;
}
private function listenerTimerExternalCheck(hug1:TimerEvent):void
{ //MethodID:1205, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 60
if(this.timer != null){
if((this.timer.currentCount > 20) || ExternalInterface.available) this.clearTimer();
}
if(!ExternalInterface.available) return;
this.LoadBannerSiamTweens();
}
private function listenerShowAdvertisement(hug1:AdvertisementEvent):void
{ //MethodID:1206, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 69
var hug3:Advertisement = null;
var hug4:AdvertisementAdRiver = null;
var hug2:BannerSiamTween = this.bannerSiamTweens[hug1.adType];
if(hug2){
hug3 = AdvertisementManager.instance.getAdvertisement(hug1.adType);
hug4 = (hug3 as AdvertisementAdRiver);
if(hug4.isSiam) hug2.notifyLoaded();
}
}
private function listenerSiamTweenLoaded(hug1:AdvertisementEvent):void
{ //MethodID:1207, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 212
var hug3:Advertisement = null;
var hug4:AdvertisementAdRiver = null;
var hug2:BannerSiamTween = this.bannerSiamTweens[hug1.adType];
if(hug2){
hug3 = AdvertisementManager.instance.getAdvertisement(hug1.adType);
hug4 = (hug3 as AdvertisementAdRiver);
hug4.adRutube.bannerUrl = hug2.show;
hug4.adRiver.clickURL = hug2.click;
hug4.adRiver.urlEvent = hug2.event;
hug4.isSiam = true;
hug4.specialFormat = AdriverSpecialFormats.ASF_MAIN;
if(hug4.adRutube.bannerUrl.indexOf(".swf")){
hug4.adRutube.bannerType = AdvertisementRutubeXml.BANNER_SWF;
}else if(hug4.adRutube.bannerUrl.indexOf(".flv")){
hug4.adRutube.bannerType = AdvertisementRutubeXml.BANNER_FLV;
}else{
hug4.adRutube.bannerType = AdvertisementRutubeXml.BANNER_IMG;
}
this.clearTimer();
hug4 = null;
hug3 = null;
hug2 = null;
}
}
private function clearTimer():void
{ //MethodID:1208, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 53
if(this.timer != null){
this.timer.removeEventListener(TimerEvent.TIMER, this.listenerTimerExternalCheck);
if(this.timer.running) this.timer.reset();
this.timer = null;
}
}
private function LoadBannerSiamTweens():void
{ //MethodID:1209, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 49
var hug1:BannerSiamTween = null;
for each(hug1 in this.bannerSiamTweens){
(hug1 as BannerSiamTween).startCheckSiamtween();
}
}
}
}
//¡script138¡
package ru.rutube.manager.extern{
import flash.events.Event
import flash.events.TimerEvent
import flash.external.ExternalInterface
import flash.utils.Timer
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.EventManager
//¡class(instance)_index:138
public class ExternalJSController extends Object
{
//static constructor
public static function ExternalJSController$cinit()
{ //MethodID:1211, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18
TOTAL_CHECK_COUNT = 30;
_instance = null;
}
//static variables/etc.
private static const TOTAL_CHECK_COUNT:int = 30; //slotID:1
private static var _instance:ExternalJSController = null; //slotID:2
public static function get instance():ExternalJSController
{ //dispID:3, MethodID:1212, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
if(_instance == null){
_instance = new ExternalJSController();
_instance.init();
}
return _instance;
}
//constructor
public function ExternalJSController()
{ //MethodID:1213, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32
super();
if(_instance != null) throw new Error("Must use ExternalNotifier.instance method for get object");
_instance = this;
}
//variables/etc.
private var timer:Timer = null; //slotID:0
private var checkCount:int = 0; //slotID:0
private function init():void
{ //MethodID:1214, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
this.listenerTimerCheck();
}
private function extRutubePlay():int
{ //MethodID:1215, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 24
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PLAY));
return 100;
}
private function extRutubePause():int
{ //MethodID:1216, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 24
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT));
return 101;
}
private function extRutubeStop():int
{ //MethodID:1217, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 24
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_STOP));
return 102;
}
private function listenerTimerCheck(hug1:TimerEvent=null):void
{ //MethodID:1218, LocalCount= 5 , MaxScope= 7, MaxStack= 6, CodeLength= 320
internal var tEvent:TimerEvent = null; //slotID:1
internal var externalAvalible:Boolean; //slotID:2
tEvent = hug1;
externalAvalible = false;
this.checkCount++;
try{
externalAvalible = ExternalInterface.available;
}
catch(err:Error){
externalAvalible = false;
}
if(externalAvalible){
if(this.timer != null){
if(this.timer.running) this.timer.reset();
this.timer.removeEventListener(TimerEvent.TIMER, this.listenerTimerCheck);
this.timer = null;
}
try{
ExternalInterface.addCallback("rutubePlay", this.extRutubePlay);
ExternalInterface.addCallback("rutubePause", this.extRutubePause);
ExternalInterface.addCallback("rutubeStop", this.extRutubeStop);
}
catch(err:Error){
}
}else{
if(this.checkCount > TOTAL_CHECK_COUNT){
if(this.timer != null){
if(this.timer.running) this.timer.reset();
this.timer.removeEventListener(TimerEvent.TIMER, this.listenerTimerCheck);
this.timer = null;
}
return;
}
if(!this.timer){
this.timer = new Timer(1000);
this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimerCheck, false, 0, true);
}
if(!this.timer.running) this.timer.start();
}
}
}
}
//¡script139¡
package ru.rutube.managers.content{
import fl.events.ComponentEvent
import flash.display.DisplayObject
import flash.display.DisplayObjectContainer
import flash.geom.Rectangle
import flash.utils.Dictionary
//¡class(instance)_index:139
public class ContentManager extends Object
{
//static constructor
public static function ContentManager$cinit()
{ //MethodID:1220, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18
MAIN_PLAYER = 0;
_instance = null;
}
//static variables/etc.
public static const MAIN_PLAYER:int = 0; //slotID:1
private static var _instance:ContentManager = null; //slotID:2
public static function get instance():ContentManager
{ //dispID:3, MethodID:1221, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new ContentManager();
return _instance;
}
//constructor
public function ContentManager()
{ //MethodID:1222, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37
super();
if(_instance != null) throw new Error("You must call instance for get object");
_instance = this;
this.init();
}
//variables/etc.
private var contents:Dictionary = null; //slotID:0
private function init():void
{ //MethodID:1223, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14
this.contents = new Dictionary();
}
public function getContentById(hug1:int=0, hug2:Boolean=false, hug3:Class=null):DisplayObject
{ //MethodID:1224, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 58
var hug4:DisplayObject = this.contents[hug1];
if(!hug4 && hug2 && (hug3 != null)){
hug4 = new hug3();
this.contents[hug1] = hug4;
}
return hug4;
}
public function setContentById(hug1:int, hug2:DisplayObject):void
{ //MethodID:1225, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 12
this.contents[hug1] = hug2;
}
public function removeContentById(hug1:int):DisplayObject
{ //MethodID:1226, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 47
var hug2:DisplayObject = null;
if(this.contents[hug1] != null){
this.removeContent(hug1);
hug2 = this.contents[hug1];
delete this.contents[hug1];
}
return hug2;
}
public function getContainer(hug1:int=0):DisplayObjectContainer
{ //MethodID:1227, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 12
return RutubePlayer.instance.getContainer();
}
public function get playerIsChild():Boolean
{ //MethodID:1228, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 36
var hug1:DisplayObjectContainer = RutubePlayer.instance.getContainer();
if(hug1.parent != null) return (hug1.parent != hug1.stage);
return false;
}
public function getContainerRectangle():Rectangle
{ //MethodID:1229, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 87
var hug1:Rectangle = null;
var hug2:DisplayObjectContainer = RutubePlayer.instance.getContainer();
if((hug2.parent != null) && (hug2.parent != hug2.stage)){
hug1 = new Rectangle();
hug1.width = hug2.parent.width;
hug1.height = hug2.parent.height;
return hug1;
}
return RutubePlayer.instance.getStageBounds();
}
public function isAlreadyOnContainer(hug1:int):Boolean
{ //MethodID:1230, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 33
var hug2:DisplayObject = this.getContentById(hug1);
if(!hug2) return false;
return RutubePlayer.instance.getContainer().contains(hug2);
}
public function bringToTop(hug1:int):void
{ //MethodID:1231, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 45
var hug2:DisplayObject = this.getContentById(hug1);
if(!hug2) return;
return RutubePlayer.instance.getContainer().setChildIndex(hug2, (RutubePlayer.instance.getContainer().numChildren - 1));
}
public function addContent(hug1:int, hug2:int=0):DisplayObject
{ //MethodID:1232, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 68
var hug3:DisplayObject = this.contents[hug1];
if(hug3 != null){
if(!RutubePlayer.instance.getContainer().contains(hug3)){
RutubePlayer.instance.getContainer().addChild(hug3);
hug3.dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE));
}
}
return hug3;
}
public function removeContent(hug1:int, hug2:int=0):DisplayObject
{ //MethodID:1233, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 73
var hug3:DisplayObject = this.getContentById(hug1);
if(hug3 != null){
if(RutubePlayer.instance.getContainer().contains(hug3)){
RutubePlayer.instance.getContainer().removeChild(hug3);
}else if(hug3.parent != null){
hug3.parent.removeChild(hug3);
}
}
return hug3;
}
public function removeAllContent(hug1:int=0):void
{ //MethodID:1234, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 67
var hug2:int = hug1;
switch(hug2){
case MAIN_PLAYER:
RutubePlayer.instance.removeAllChildrens();
break;
default:
break;
}
}
}
}
//¡script140¡
package ru.rutube.event{
import flash.events.Event
//¡class(instance)_index:140
public class PlayerStateEvent extends Event
{
//static constructor
public static function PlayerStateEvent$cinit()
{ //MethodID:1236, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
CHANGE_PLAYER_STATE = "CHANGE_PLAYER_STATE";
}
//static variables/etc.
public static const CHANGE_PLAYER_STATE:String = "CHANGE_PLAYER_STATE";//slotID:1
//constructor
public function PlayerStateEvent(hug1:String="CHANGE_PLAYER_STATE", hug2:int=-1)
{ //MethodID:1237, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 12
super(hug1);
this.needState = hug2;
}
//variables/etc.
public var needState:int = -1; //slotID:0
override public function clone():Event
{ //MethodID:1238, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 15
return new PlayerStateEvent(type, this.needState);
}
}
}
//¡script141¡
package ru.rutube.managers.statistic.player{
import flash.net.URLRequest
import flash.net.sendToURL
import flash.utils.getTimer
import ru.rutube.managers.configuration.data.FlashVariablesConfig
//¡class(instance)_index:141
public class PlayerStatistic extends Object
{
//static constructor
public static function PlayerStatistic$cinit()
{ //MethodID:1240, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 43
NONE = 0;
LOADING_PLAYER = 1;
LOADING_ADVERTISEMENT = 2;
STATISTIC_URL = "http://rutube.ru/dbg/player_stat";
_instance = null;
}
//static variables/etc.
public static const NONE:int = 0; //slotID:1
public static const LOADING_PLAYER:int = 1; //slotID:2
public static const LOADING_ADVERTISEMENT:int = 2; //slotID:3
protected static const STATISTIC_URL:String = "http://rutube.ru/dbg/player_stat";//slotID:4
private static var _instance:PlayerStatistic = null; //slotID:5
public static function get instance():PlayerStatistic
{ //dispID:3, MethodID:1241, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new PlayerStatistic();
return _instance;
}
//constructor
public function PlayerStatistic()
{ //MethodID:1242, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 43
super();
if(_instance != null) throw new Error("Need use \"instance\" static property");
this.statLoadingPlayer = new StatisticLoadingPlayer();
_instance = this;
}
//variables/etc.
private var _statisticAdvertisementLoading:StatisticAdvertisementLoading = null;//slotID:0
private var statLoadingPlayer:StatisticLoadingPlayer = null; //slotID:0
public function get statisticAdvertisementLoading():StatisticAdvertisementLoading
{ //MethodID:1243, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
if(!this._statisticAdvertisementLoading) this._statisticAdvertisementLoading = new StatisticAdvertisementLoading();
return this._statisticAdvertisementLoading;
}
public function get playerLoadingTime():Number
{ //MethodID:1244, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
return ((this.statLoadingPlayer.finishLoadingPlayerTime - this.statLoadingPlayer.startLoadingPlayerTime) / 1000);
}
public function startPlayerLoading():void
{ //MethodID:1245, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
this.statLoadingPlayer.startLoadingPlayerTime = getTimer();
}
public function finishPlayerLoading():void
{ //MethodID:1246, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
this.statLoadingPlayer.finishLoadingPlayerTime = getTimer();
}
public function startLoadingXML():void
{ //MethodID:1247, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
this.statLoadingPlayer.startLoadingXmlTime = getTimer();
}
public function finishLoadingXML():void
{ //MethodID:1248, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
this.statLoadingPlayer.finishLoadingXmlTime = getTimer();
}
public function flashVariables(hug1:FlashVariablesConfig):void
{ //MethodID:1249, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 48
var hug2:String = ("UC:" + hug1.urlContent + "REF:" + hug1.referrer + "UX:" + hug1.urlMetaInfoXml + "UL" + hug1.loaderUrl);
this.statLoadingPlayer.flashVariables = hug2;
}
public function setMetaInfo(hug1:Object):void
{ //MethodID:1250, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function setBalancerAnswer(hug1:String):void
{ //MethodID:1251, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this.statLoadingPlayer.balancerUrl = hug1;
}
public function sendBandwidth(hug1:Number):void
{ //MethodID:1252, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 31
var hug2:URLRequest = new URLRequest(STATISTIC_URL);
hug2.data = ("bandwidth:" + hug1);
sendToURL(hug2);
}
public function sendInfo(hug1:int=0):void
{ //MethodID:1253, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 132
if(hug1 == NONE) return;
var hug2:URLRequest = new URLRequest(STATISTIC_URL);
var hug3:int = hug1;
switch(hug3){
case LOADING_PLAYER:
hug2.data = this.statLoadingPlayer.toString();
break;
case LOADING_ADVERTISEMENT:
hug2.data = this.statisticAdvertisementLoading.toString();
break;
default:
break;
}
sendToURL(hug2);
}
}
}
//¡script142¡
package ru.rutube.event{
import flash.events.Event
//¡class(instance)_index:142
public class InternalEvent extends Event
{
//static constructor
public static function InternalEvent$cinit()
{ //MethodID:1255, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 102
COMPLETE = "complete";
ERROR = "error";
PROGRESS = "progress";
STATUS = "status";
COMMAND = "command";
BUTTON = "button";
CLOSE = "close";
STAGE = "stage";
FREE = "free";
CONTROL_PANEL_EVENT = "controlPanelEvent";
BANDWIDTH = "bandwidth";
}
//static variables/etc.
public static const COMPLETE:String = "complete"; //slotID:1
public static const ERROR:String = "error"; //slotID:2
public static const PROGRESS:String = "progress"; //slotID:3
public static const STATUS:String = "status"; //slotID:4
public static const COMMAND:String = "command"; //slotID:5
public static const BUTTON:String = "button"; //slotID:6
public static const CLOSE:String = "close"; //slotID:7
public static const STAGE:String = "stage"; //slotID:8
public static const FREE:String = "free"; //slotID:9
public static const CONTROL_PANEL_EVENT:String = "controlPanelEvent";//slotID:10
public static const BANDWIDTH:String = "bandwidth"; //slotID:11
//constructor
public function InternalEvent(hug1:String, hug2:int, hug3:String, hug4:*=null)
{ //MethodID:1256, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 23
super(hug1);
this.sourceId = hug2;
this.data = hug4;
this.eventType = hug3;
}
//variables/etc.
public var eventType:String = ""; //slotID:0
public var sourceId:int = 0; //slotID:0
public var data:* = null; //slotID:0
override public function clone():Event
{ //MethodID:1257, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 23
return new InternalEvent(type, this.sourceId, this.eventType, this.data);
}
}
}
//¡script143¡
package ru.rutube.managers.statistic.google{
import com.google.analytics.AnalyticsTracker
import com.google.analytics.GATracker
import com.google.analytics.core.TrackerMode
import flash.display.DisplayObject
import flash.display.Sprite
import flash.events.IEventDispatcher
import flash.events.TimerEvent
import flash.utils.Timer
import ru.rutube.event.GoogleEvent
//¡class(instance)_index:143
public class GoogleAnalytics extends Object
{
//static constructor
public static function GoogleAnalytics$cinit()
{ //MethodID:1259, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
_instance = null;
}
//static variables/etc.
private static var _instance:GoogleAnalytics = null; //slotID:1
public static function get instance():GoogleAnalytics
{ //dispID:3, MethodID:1260, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new GoogleAnalytics();
return _instance;
}
//constructor
public function GoogleAnalytics()
{ //MethodID:1261, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35
super();
if(!_instance){
_instance = this;
}else{
throw new Error("Use \"instance\" method to get object");
}
}
//variables/etc.
private var _eventDispatcher:IEventDispatcher = null; //slotID:0
private var waitingEvents:Array = null; //slotID:0
private var _displayObject:DisplayObject = null; //slotID:0
private var checkAvalibleTimer:Timer = null; //slotID:0
private var _isExternal:Boolean = true; //slotID:0
private var tracker:AnalyticsTracker = null; //slotID:0
public function set eventDispatcher(hug1:IEventDispatcher):void
{ //MethodID:1262, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 60
if(this._eventDispatcher != null) this._eventDispatcher.removeEventListener(GoogleEvent.GOOGLE_ANALYTICS_TRACK, this.listenerTrackEvent);
this._eventDispatcher = hug1;
if(this._eventDispatcher != null) this._eventDispatcher.addEventListener(GoogleEvent.GOOGLE_ANALYTICS_TRACK, this.listenerTrackEvent);
}
public function get isAvalible():Boolean
{ //MethodID:1263, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
return (this.tracker != null);
}
public function init(hug1:Boolean=false):void
{ //MethodID:1264, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 338
internal var isExternal:Boolean = false; //slotID:1
internal var accountStr:String; //slotID:2
internal var mode:String; //slotID:3
internal var event:GoogleEvent; //slotID:4
event = null;
isExternal = hug1;
accountStr = "";
mode = TrackerMode.AS3;
if(isExternal){
mode = TrackerMode.AS3;
accountStr = "UA-1993757-1";
}else{
mode = TrackerMode.BRIDGE;
accountStr = "window.mainTracker";
}
try{
this.tracker = new GATracker(this.displayObject, accountStr, mode, false);
}
catch(err:Error){
tracker = null;
}
if(!this.tracker){
if(this.checkAvalibleTimer != null) return;
this._isExternal = isExternal;
this.checkAvalibleTimer = new Timer(1500, 20);
this.checkAvalibleTimer.addEventListener(TimerEvent.TIMER, this.listenerTimerCheckTracker);
this.checkAvalibleTimer.addEventListener(TimerEvent.TIMER_COMPLETE, this.listenerTimerCheckTracker);
this.checkAvalibleTimer.start();
}else{
if(this.checkAvalibleTimer != null){
this.checkAvalibleTimer.removeEventListener(TimerEvent.TIMER, this.listenerTimerCheckTracker);
this.checkAvalibleTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, this.listenerTimerCheckTracker);
this.checkAvalibleTimer.reset();
this.checkAvalibleTimer = null;
}
event = null;
if(this.waitingEvents != null){
event = this.waitingEvents.shift();
while(this.waitingEvents.shift() != null){
this.listenerTrackEvent(event);
}
}
this.waitingEvents = null;
}
}
public function set displayObject(hug1:DisplayObject):void
{ //MethodID:1265, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._displayObject = hug1;
}
public function get displayObject():DisplayObject
{ //MethodID:1266, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 23
if(!this._displayObject) return new Sprite();
return this._displayObject;
}
private function listenerTrackEvent(hug1:GoogleEvent):void
{ //MethodID:1267, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 65
if(this.isAvalible){
this.tracker.trackEvent(hug1.category, hug1.action, hug1.label, hug1.value);
}else{
if(!this.waitingEvents) this.waitingEvents = new Array();
this.waitingEvents.push(hug1);
}
}
private function listenerTimerCheckTracker(hug1:TimerEvent):void
{ //MethodID:1268, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 31
this.init((hug1.type == TimerEvent.TIMER_COMPLETE) ? true : this._isExternal);
}
}
}
//¡script144¡
package ru.rutube.manager.extern{
//¡class(instance)_index:144
public class ExternalFunctId extends Object
{
//static constructor
public static function ExternalFunctId$cinit()
{ //MethodID:1270, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19
FUNCTION_NONE = 0;
FUNCTION_OPEN_CONTENT_PAGE = 1;
}
//static variables/etc.
public static const FUNCTION_NONE:int = 0; //slotID:1
public static const FUNCTION_OPEN_CONTENT_PAGE:int = 1; //slotID:2
//constructor
public function ExternalFunctId()
{ //MethodID:1271, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script145¡
package ru.rutube.managers.state{
import flash.events.Event
import flash.utils.clearTimeout
import flash.utils.getTimer
import flash.utils.setTimeout
import ru.rutube.event.ChangePlayerStateEvent
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.EventManager
import ru.rutube.event.InternalEvent
import ru.rutube.managers.remote.RemoteEvent
import ru.rutube.managers.remote.RemotePlayerControl
import ru.rutube.states.EndExternalPlayerState
import ru.rutube.states.EndPlayerState
import ru.rutube.states.EndRutubePlayerState
import ru.rutube.states.IPlayerState
import ru.rutube.states.InitPlayerState
import ru.rutube.states.PauseAdvertisementPlayerState
import ru.rutube.states.PlayPlayerState
import ru.rutube.states.PlayerState
import ru.rutube.states.PostAdvertisementPlayerState
import ru.rutube.states.PrePlayAdvertisementState
import ru.rutube.states.PreloadPlayerState
import ru.rutube.states.PreplayPlayerState
//¡class(instance)_index:145
public final class PlayerStatesManager extends Object
{
//static constructor
public static function PlayerStatesManager$cinit()
{ //MethodID:1273, LocalCount= 1 , MaxScope= 1, MaxStack= 11, CodeLength= 166
stateIds = [PlayerState.INIT_STATE, PlayerState.PRELOAD_STATE, PlayerState.PREPLAY_STATE, PlayerState.PREPLAY_AD_STATE, PlayerState.PLAY_STATE, PlayerState.PAUSE_STATE, PlayerState.POST_AD_STATE, PlayerState.END_SCREEN_STATE, PlayerState.END_SCREEN_RUTUBE_STATE, PlayerState.END_SCREEN_EXTERNAL_STATE];
stateIdClasses = [InitPlayerState, PreloadPlayerState, PreplayPlayerState, PrePlayAdvertisementState, PlayPlayerState, PauseAdvertisementPlayerState, PostAdvertisementPlayerState, EndPlayerState, EndRutubePlayerState, EndExternalPlayerState];
playerStatesQuery = [PlayerState.INIT_STATE, PlayerState.PRELOAD_STATE, PlayerState.PREPLAY_STATE, PlayerState.PLAY_STATE, PlayerState.PAUSE_STATE, PlayerState.POST_AD_STATE, PlayerState.END_SCREEN_STATE];
_instance = null;
}
//static variables/etc.
public static const stateIds:Array; //slotID:1
public static const stateIdClasses:Array; //slotID:2
private static const playerStatesQuery:Array; //slotID:3
private static var _instance:PlayerStatesManager = null; //slotID:4
public static function get instance():PlayerStatesManager
{ //dispID:3, MethodID:1274, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new PlayerStatesManager();
return _instance;
}
//constructor
public function PlayerStatesManager()
{ //MethodID:1275, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 57
this.currentStateId = PlayerState.STATE_NONE;
this.nextStateId = PlayerState.STATE_NONE;
super();
if(_instance != null) throw new Error("You must call instance for get object");
_instance = this;
this.init();
}
//variables/etc.
private var currentStateId:int; //slotID:0
private var currentState:IPlayerState = null; //slotID:0
private var nextStateId:int; //slotID:0
private var timeOutId:uint = 0; //slotID:0
private function init():void
{ //MethodID:1276, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 290
this.currentState = new PlayerState();
EventManager.instance.addEventListener(InternalEvent.COMPLETE, this.handleInternalEvent);
EventManager.instance.addEventListener(InternalEvent.ERROR, this.handleInternalEvent);
EventManager.instance.addEventListener(InternalEvent.COMMAND, this.handleInternalCommandEvent);
EventManager.instance.addEventListener(InternalEvent.PROGRESS, this.handleInternalProgressEvent);
EventManager.instance.addEventListener(InternalEvent.CLOSE, this.handleInternalCloseEvent);
EventManager.instance.addEventListener(InternalEvent.BUTTON, this.handleInternalButtonEvent);
EventManager.instance.addEventListener(InternalEvent.FREE, this.handleInternalFreeEvent);
EventManager.instance.addEventListener(InternalEvent.CONTROL_PANEL_EVENT, this.handleControlPanelEvent);
EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_HIDE_PANELS, this.handleRemoteEvent);
EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_PAUSE, this.handleRemoteEvent);
EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_PLAY, this.handleRemoteEvent);
EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_RESIZE, this.handleRemoteEvent);
EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_START, this.handleRemoteEvent);
EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_STOP, this.handleRemoteEvent);
EventManager.instance.addEventListener(ChangePlayerStateEvent.CHANGE_PLAYER_STATE, this.handlePlayerStateEvent);
}
public function getCurrentState():IPlayerState
{ //MethodID:1277, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 20
if(!this.currentState) this.init();
return this.currentState;
}
public function getCurrentStateId():int
{ //MethodID:1278, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.currentState.getCurrentStateId();
}
public function changePlayerState(hug1:int):void
{ //MethodID:1279, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 72
var hug2:int = -1;
hug2 = stateIds.indexOf(hug1);
if(hug2 > (-1)){
this.nextStateId = stateIds[hug2];
if(this.timeOutId > 0) clearTimeout(this.timeOutId);
this.timeOutId = setTimeout(this.changeState, 120);
}
}
public function getPlayerState(hug1:int):IPlayerState
{ //MethodID:1280, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 64
var hug4:Class = null;
var hug2:IPlayerState = null;
var hug3:int = stateIds.indexOf(hug1);
if(hug3 > (-1)){
hug4 = stateIdClasses[hug3];
hug2 = (new hug4() as IPlayerState);
}else{
hug2 = new PlayerState();
}
return hug2;
}
public function getFirstStateId():int
{ //MethodID:1281, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
return PlayerState.INIT_STATE;
}
public function reset():void
{ //MethodID:1282, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28
this.currentStateId = PlayerState.STATE_NONE;
this.currentState = null;
this.nextStateId = PlayerState.STATE_NONE;
}
private function handleInternalFreeEvent(hug1:InternalEvent):void
{ //MethodID:1283, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8
this.reset();
}
private function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1284, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return this.getCurrentState().handleInternalEvent(hug1);
}
private function handleInternalButtonEvent(hug1:InternalEvent):Boolean
{ //MethodID:1285, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return this.getCurrentState().handleInternalButtonEvent(hug1);
}
private function handleInternalCommandEvent(hug1:InternalEvent):Boolean
{ //MethodID:1286, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return this.getCurrentState().handleInternalCommandEvent(hug1);
}
private function handleControlPanelEvent(hug1:InternalEvent):Boolean
{ //MethodID:1287, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 19
return this.getCurrentState().handleControlPanelEvent(hug1.data as ControlPanelEvent);
}
private function handleInternalProgressEvent(hug1:InternalEvent):Boolean
{ //MethodID:1288, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return this.getCurrentState().handleInternalProgressEvent(hug1);
}
private function handleInternalCloseEvent(hug1:InternalEvent):Boolean
{ //MethodID:1289, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return this.getCurrentState().handleInternalCloseEvent(hug1);
}
private function handleMouseRoll(hug1:Boolean):Boolean
{ //MethodID:1290, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return this.getCurrentState().handleMouseRoll(hug1);
}
private function handleRemoteEvent(hug1:Event):Boolean
{ //MethodID:1291, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16
return this.getCurrentState().handleRemoteEvent(hug1.type);
}
private function handlePlayerStateEvent(hug1:ChangePlayerStateEvent):Boolean
{ //MethodID:1292, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 178
trace("handlePSEvent(" + hug1.state + ")");
switch(hug1.state){
case PlayerState.PLAY_STATE:
case PlayerState.STATE_STARTED:
RemotePlayerControl.instance().changeState(RemotePlayerControl.STATE_PLAYING);
break;
case PlayerState.STATE_STOPPED:
RemotePlayerControl.instance().changeState(RemotePlayerControl.STATE_FINISHED);
break;
default:
RemotePlayerControl.instance().changeState(RemotePlayerControl.STATE_PAUSED);
break;
}
return true;
}
private function changeState():IPlayerState
{ //MethodID:1293, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 250
if(this.timeOutId > 0) clearTimeout(this.timeOutId);
this.timeOutId = 0;
if((this.currentStateId == this.nextStateId) || (this.nextStateId == PlayerState.STATE_NONE)) return this.getCurrentState();
trace("Change state");
trace("Old state: " + this.currentStateId);
trace("New state: " + this.nextStateId);
if(this.currentState != null){
this.currentState.releaseView();
this.currentState.destroy();
this.currentState = null;
}
this.currentStateId = this.nextStateId;
this.nextStateId = PlayerState.STATE_NONE;
this.currentState = this.getPlayerState(this.currentStateId);
trace("START: " + getTimer());
if(this.currentState != null){
this.currentState.create();
this.currentState.prepareView();
this.currentState.service();
}
trace("STOP: " + getTimer());
trace("-----------------------------------");
return this.currentState;
}
}
}
//¡script146¡
package ru.rutube.event{
import flash.events.Event
//¡class(instance)_index:146
public class RestartEvent extends Event
{
//static constructor
public static function RestartEvent$cinit()
{ //MethodID:1295, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
RESTART = "RESTART";
}
//static variables/etc.
public static const RESTART:String = "RESTART"; //slotID:1
//constructor
public function RestartEvent(hug1:String, hug2:Object)
{ //MethodID:1296, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 12
this.flashVars = hug2;
super(hug1);
}
//variables/etc.
public var flashVars:Object; //slotID:0
override public function clone():Event
{ //MethodID:1297, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 15
return new RestartEvent(type, this.flashVars);
}
}
}
//¡script147¡
package ru.rutube.event{
import flash.display.Stage
import flash.events.Event
import flash.events.EventDispatcher
import flash.events.FullScreenEvent
import flash.events.IEventDispatcher
import flash.events.KeyboardEvent
import flash.events.MouseEvent
//¡class(instance)_index:147
public class EventManager extends EventDispatcher
{
//static constructor
public static function EventManager$cinit()
{ //MethodID:1299, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
_instance = null;
stage = null;
}
//static variables/etc.
private static var _instance:EventManager = null; //slotID:1
private static var stage:Stage = null; //slotID:2
public static function get instance():EventManager
{ //dispID:3, MethodID:1300, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new EventManager();
return _instance;
}
//constructor
public function EventManager(hug1:IEventDispatcher=null)
{ //MethodID:1301, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 32
super(hug1);
if(_instance) throw new Error("Use 'instance' property for get object");
_instance = this;
}
//variables/etc.
public function addStageListeners(hug1:Stage=null):void
{ //MethodID:1302, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 208
if(!hug1){
if((RutubePlayer.instance.getContainer() != null) && (RutubePlayer.instance.getContainer().stage != null)) EventManager.stage = RutubePlayer.instance.getContainer().stage;
}else{
EventManager.stage = hug1;
}
if(!EventManager.stage) return;
EventManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, this.listenerStageMouse);
EventManager.stage.addEventListener(MouseEvent.MOUSE_UP, this.listenerStageMouse);
EventManager.stage.addEventListener(MouseEvent.ROLL_OUT, this.listenerStageMouse);
EventManager.stage.addEventListener(KeyboardEvent.KEY_UP, this.listenerStageKeyboard);
EventManager.stage.addEventListener(Event.MOUSE_LEAVE, this.listenerStageEvents);
EventManager.stage.addEventListener(FullScreenEvent.FULL_SCREEN, this.listenerStageFullScreenEvent);
EventManager.stage.addEventListener(Event.RESIZE, this.listenerStageEvents);
}
public function removeStageListeners(hug1:Stage=null):void
{ //MethodID:1303, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 192
if(!hug1){
if((RutubePlayer.instance.getContainer() != null) && (RutubePlayer.instance.getContainer().stage != null)) hug1 = RutubePlayer.instance.getContainer().stage;
}
if(!hug1) return;
EventManager.stage.removeEventListener(MouseEvent.MOUSE_MOVE, this.listenerStageMouse);
EventManager.stage.removeEventListener(MouseEvent.MOUSE_UP, this.listenerStageMouse);
EventManager.stage.removeEventListener(MouseEvent.ROLL_OUT, this.listenerStageMouse);
EventManager.stage.removeEventListener(KeyboardEvent.KEY_UP, this.listenerStageKeyboard);
EventManager.stage.removeEventListener(Event.MOUSE_LEAVE, this.listenerStageEvents);
EventManager.stage.removeEventListener(FullScreenEvent.FULL_SCREEN, this.listenerStageFullScreenEvent);
EventManager.stage.removeEventListener(Event.RESIZE, this.listenerStageEvents);
}
override public function dispatchEvent(hug1:Event):Boolean
{ //MethodID:1304, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 70
var hug2:Boolean = false;
if(hug1 is InternalEvent){
if(hug1.type == InternalEvent.FREE) this.removeStageListeners(stage);
}else if(hug1 is ControlPanelEvent){
hug1 = new InternalEvent(InternalEvent.CONTROL_PANEL_EVENT, 0, null, hug1);
}
super.dispatchEvent(hug1);
return true;
}
private function listenerStageMouse(hug1:MouseEvent):void
{ //MethodID:1305, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 31
var hug2:InternalEvent = new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, "", hug1);
this.dispatchEvent(hug2);
}
private function listenerStageEvents(hug1:Event):void
{ //MethodID:1306, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 33
var hug2:InternalEvent = new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, hug1.type, hug1);
this.dispatchEvent(hug2);
}
private function listenerStageFullScreenEvent(hug1:FullScreenEvent):void
{ //MethodID:1307, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 33
var hug2:InternalEvent = new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, hug1.type, hug1);
this.dispatchEvent(hug2);
}
private function listenerStageKeyboard(hug1:KeyboardEvent):void
{ //MethodID:1308, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 47
if(EventManager.stage != hug1.target) return;
var hug2:InternalEvent = new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE_KEYBOARD, hug1.type, hug1);
this.dispatchEvent(hug2);
}
}
}
//¡script148¡
package Components{
import flash.display.DisplayObject
import flash.events.MouseEvent
//¡class(instance)_index:148
public class Hint extends Object
{
//static constructor
public static function Hint$cinit()
{ //MethodID:1310, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function Hint(hug1:DisplayObject):void
{ //MethodID:1311, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
super();
this.object = hug1;
}
//variables/etc.
private var isHinting:Boolean = false; //slotID:0
private var message:String = ""; //slotID:0
private var object:DisplayObject = null; //slotID:0
public function set value(hug1:String):void
{ //MethodID:1312, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 119
HintDispatcher.hide();
this.message = hug1;
if(Boolean(hug1) != this.isHinting){
this.isHinting = Boolean(hug1);
if(this.isHinting){
this.object.addEventListener(MouseEvent.ROLL_OVER, this.onOverHandler);
this.object.addEventListener(MouseEvent.ROLL_OUT, this.onRollOutHandler);
}else{
this.object.removeEventListener(MouseEvent.ROLL_OVER, this.onOverHandler);
this.object.removeEventListener(MouseEvent.ROLL_OUT, this.onRollOutHandler);
}
}
}
public function get value():String
{ //MethodID:1313, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.message;
}
private function onOverHandler(hug1:MouseEvent):void
{ //MethodID:1314, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14
HintDispatcher.show(this.message);
}
private function onRollOutHandler(hug1:MouseEvent):void
{ //MethodID:1315, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 10
HintDispatcher.hide();
}
}
}
//¡script149¡
package ru.rutube.managers.advertisement.model.adriver{
//¡class(instance)_index:149
public class AdriverSpecialFormats extends Object
{
//static constructor
public static function AdriverSpecialFormats$cinit()
{ //MethodID:1317, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35
ASF_NONE = -1;
ASF_MAIN = 0;
ASF_SMARTCLIP = 1;
ASF_MEDIA_MIND = 2;
}
//static variables/etc.
public static const ASF_NONE:int = -1; //slotID:1
public static const ASF_MAIN:int = 0; //slotID:2
public static const ASF_SMARTCLIP:int = 1; //slotID:3
public static const ASF_MEDIA_MIND:int = 2; //slotID:4
//constructor
public function AdriverSpecialFormats()
{ //MethodID:1318, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script150¡
package ru.rutube.managers.advertisement.model{
import flash.events.Event
import flash.events.IOErrorEvent
import flash.events.SecurityErrorEvent
import flash.net.URLLoader
import flash.net.URLRequest
import flash.utils.clearTimeout
import flash.utils.setTimeout
import ru.rutube.event.EventManager
import ru.rutube.managers.advertisement.event.AdvertisementModelEvent
//¡class(instance)_index:150
public class Advertisement extends Object
{
//static constructor
public static function Advertisement$cinit()
{ //MethodID:1320, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function Advertisement(hug1:int)
{ //MethodID:1321, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
super();
this.type = hug1;
}
//variables/etc.
protected var loaded:Boolean = false; //slotID:0
protected var timeoutVar:uint = 0; //slotID:0
protected var _reference:String = ""; //slotID:0
protected var state:int = 0; //slotID:0
protected var currentShowCount:int = 0; //slotID:0
protected var urlLoader:URLLoader = null; //slotID:0
protected var totalShowCount:int = 1; //slotID:0
protected var loadUrl:String = ""; //slotID:0
protected var type:int = 0; //slotID:0
public function get advertisementId():String
{ //MethodID:1322, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5
return "";
}
public function set url(hug1:String):void
{ //MethodID:1323, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
this.loadUrl = hug1;
if(!this.loadUrl) this.loadUrl = "";
}
public function get url():String
{ //MethodID:1324, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.loadUrl.concat();
}
public function set reference(hug1:String):void
{ //MethodID:1325, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
this._reference = hug1;
if(!this._reference) this._reference = "";
}
public function get reference():String
{ //MethodID:1326, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this._reference.concat();
}
public function set totalShow(hug1:int):void
{ //MethodID:1327, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 29
this.totalShowCount = hug1;
if(isNaN(this.totalShowCount)) this.totalShowCount = 1;
}
public function get isAvalibleShowCount():Boolean
{ //MethodID:1328, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
return (this.totalShowCount > this.currentShowCount);
}
public function get adType():int
{ //MethodID:1329, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.type;
}
public function inProgress():Boolean
{ //MethodID:1330, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
return (this.urlLoader != null);
}
public function get isLoaded():Boolean
{ //MethodID:1331, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function clear():void
{ //MethodID:1332, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function reset():void
{ //MethodID:1333, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32
this.currentShowCount = 0;
this.totalShowCount = 1;
this.loadUrl = "";
this.state = 0;
this.removeListeners();
}
public function load():Boolean
{ //MethodID:1334, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 90
if(this.timeoutVar > 0) clearTimeout(this.timeoutVar);
this.timeoutVar = 0;
if(!this.loadUrl) return false;
if((this.loadUrl.length < 1) || (this.urlLoader != null)) return false;
this.state = 0;
this.innerLoad(new URLRequest(this.loadUrl));
return true;
}
public function delayedLoad(hug1:Number=10.0):void
{ //MethodID:1335, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 74
if(this.timeoutVar > 0) clearTimeout(this.timeoutVar);
this.timeoutVar = 0;
if(isNaN(hug1) || (hug1 < 0)) return;
this.timeoutVar = setTimeout(this.load, (hug1 * 1000));
}
protected function innerLoad(hug1:URLRequest):void
{ //MethodID:1336, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 157
internal var urlRequest:URLRequest; //slotID:1
urlRequest = hug1;
this.urlLoader = new URLLoader();
this.urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerLoadError);
this.urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerLoadError);
this.urlLoader.addEventListener(Event.COMPLETE, this.listenerLoadComplete);
try{
this.urlLoader.load(urlRequest);
}
catch(err:Error){
removeListeners();
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, type));
return;
}
this.timeoutVar = setTimeout(this.loadTimeout, 15000);
}
protected function removeListeners():void
{ //MethodID:1337, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 95
if(this.timeoutVar > 0) clearTimeout(this.timeoutVar);
this.timeoutVar = 0;
if(!this.urlLoader) return;
this.urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerLoadError);
this.urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerLoadError);
this.urlLoader.removeEventListener(Event.COMPLETE, this.listenerLoadComplete);
this.urlLoader = null;
}
protected function loadTimeout():void
{ //MethodID:1338, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 34
this.removeListeners();
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, this.type));
}
protected function listenerLoadComplete(hug1:Event):void
{ //MethodID:1339, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8
this.removeListeners();
}
protected function listenerLoadError(hug1:Event):void
{ //MethodID:1340, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 34
this.removeListeners();
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, this.type));
}
}
}
//¡script151¡
package ru.rutube.managers.advertisement.model.adriver{
import flash.events.Event
import flash.net.URLLoader
import flash.net.URLRequest
import ru.rutube.event.EventManager
import ru.rutube.managers.advertisement.event.AdvertisementModelEvent
import ru.rutube.managers.advertisement.model.Advertisement
//¡class(instance)_index:151
public class AdvertisementAdRiver extends Advertisement
{
//static constructor
public static function AdvertisementAdRiver$cinit()
{ //MethodID:1342, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdvertisementAdRiver(hug1:int)
{ //MethodID:1343, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 25
super(hug1);
this.adRiverXML = new AdvertisementAdRiverXml();
this.adRutubeXml = new AdvertisementRutubeXml();
}
//variables/etc.
public var isSiam:Boolean = false; //slotID:0
private var adRutubeXml:AdvertisementRutubeXml = null; //slotID:0
private var adRiverXML:AdvertisementAdRiverXml = null; //slotID:0
public function get specialFormat():int
{ //MethodID:1344, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.adRutubeXml.specialFormat;
}
public function set specialFormat(hug1:int):void
{ //MethodID:1345, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this.adRutubeXml.specialFormat = hug1;
}
public function clone(hug1:AdvertisementAdRiver):void
{ //MethodID:1346, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 29
this.adRiverXML = null;
this.adRiverXML = hug1.adRiver;
this.adRutubeXml = null;
this.adRutubeXml = hug1.adRutube;
}
override public function get isLoaded():Boolean
{ //MethodID:1347, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.adRutubeXml.isLoaded;
}
public function get adRiver():AdvertisementAdRiverXml
{ //MethodID:1348, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.adRiverXML;
}
public function get adRutube():AdvertisementRutubeXml
{ //MethodID:1349, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.adRutubeXml;
}
public function fireEvent(hug1:int):void
{ //MethodID:1350, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function get advertisementId():String
{ //MethodID:1351, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 113
var hug1:String = ("adid:" + this.adRiverXML.advertiseId + ";" + "bid:" + this.adRiverXML.bannerId + ";" + "bn:" + this.adRiverXML.bannerNumber + ";" + "sz:" + this.adRiverXML.advertiseSiteZone + ";" + "bt:" + this.adRiverXML.bt + ";" + "sid:" + this.adRiverXML.advertiseSiteId + ";" + "pz:" + this.adRiverXML.advertisePageZone);
return hug1;
}
override public function reset():void
{ //MethodID:1352, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29
this.isSiam = false;
this.adRiverXML.reset();
this.adRutubeXml.reset();
super.reset();
}
override public function clear():void
{ //MethodID:1353, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 19
this.adRiverXML.reset();
this.adRutubeXml.reset();
}
override public function load():Boolean
{ //MethodID:1354, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46
if(urlLoader != null) return true;
if(currentShowCount >= totalShowCount) return false;
this.adRiverXML.reset();
this.adRutubeXml.reset();
return super.load();
}
private function loadRutubeXml():void
{ //MethodID:1355, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 71
if(!this.adRiverXML.isLoaded){
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ADRIVER_PART_LOADED, type));
return;
}
state = 1;
var hug1:URLRequest = new URLRequest(this.adRiverXML.rutubeXml);
innerLoad(hug1);
}
override protected function listenerLoadError(hug1:Event):void
{ //MethodID:1356, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override protected function listenerLoadComplete(hug1:Event):void
{ //MethodID:1357, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 463
internal var event:Event; //slotID:1
internal var urlLoader:URLLoader; //slotID:2
internal var xml:XML; //slotID:3
internal var xmlStr:String; //slotID:4
event = hug1;
urlLoader = (event.target as URLLoader);
xml = null;
xmlStr = String(urlLoader.data);
if(!xmlStr || (xmlStr.length == 0)) xmlStr = null;
if(xmlStr != null){
if(xmlStr.search(new RegExp("<(.*)>", "gi")) < 0) xmlStr = null;
}
try{
if(xmlStr != null) xml = new XML(xmlStr);
}
catch(err:Error){
xml = null;
}
super.removeListeners();
switch(state){
case 0:
if(xml != null){
this.adRiverXML.parseXml(xml.child("item"));
}else{
this.adRiverXML.reset();
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, type));
return;
}
if(this.adRiverXML.isLoaded) this.loadRutubeXml();
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ADRIVER_PART_LOADED, type));
break;
case 1:
if(xml != null){
this.adRutubeXml.parse(xml);
}else{
this.adRutubeXml.reset();
}
if(this.adRutubeXml.isLoaded){
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ADRIVER_FULL_LOADED, type));
}else{
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, type));
}
break;
default:
break;
}
}
}
}
//¡script152¡
package ru.rutube.managers.advertisement.event{
import flash.events.Event
//¡class(instance)_index:152
public class AdvertisementEvent extends Event
{
//static constructor
public static function AdvertisementEvent$cinit()
{ //MethodID:1359, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75
ADVERTISEMENT_ERROR = "ADVERTISEMENT_ERROR";
ADVERTISEMENT_ADRIVER_FULL_LOADED = "ADVERTISEMENT_FULL_LOADED";
ADVERTISEMENT_ADRIVER_PART_LOADED = "ADVERTISEMENT_PART_LOADED";
ADVERTISEMENT_ADRIVER_LOAD_ERROR = "ADVERTISEMENT_LOAD_ERROR";
ADVERTISEMENT_BEGUN_ERROR = "ADVERTISEMENT_BEGUN_ERROR";
ADVERTISEMENT_BEGUN_FINISH = "ADVERTISEMENT_BEGUN_FINISH";
ADVERTISEMENT_SIAMTWEEN_LOADED = "ADVERTISEMENT_SIAMTWEEN_LOADED";
ADVERTISEMENT_BEGIN_SHOW = "ADVERTISEMENT_BEGIN_SHOW";
}
//static variables/etc.
public static const ADVERTISEMENT_ERROR:String = "ADVERTISEMENT_ERROR";//slotID:1
public static const ADVERTISEMENT_ADRIVER_FULL_LOADED:String = "ADVERTISEMENT_FULL_LOADED";//slotID:2
public static const ADVERTISEMENT_ADRIVER_PART_LOADED:String = "ADVERTISEMENT_PART_LOADED";//slotID:3
public static const ADVERTISEMENT_ADRIVER_LOAD_ERROR:String = "ADVERTISEMENT_LOAD_ERROR";//slotID:4
public static const ADVERTISEMENT_BEGUN_ERROR:String = "ADVERTISEMENT_BEGUN_ERROR";//slotID:5
public static const ADVERTISEMENT_BEGUN_FINISH:String = "ADVERTISEMENT_BEGUN_FINISH";//slotID:6
public static const ADVERTISEMENT_SIAMTWEEN_LOADED:String = "ADVERTISEMENT_SIAMTWEEN_LOADED";//slotID:7
public static const ADVERTISEMENT_BEGIN_SHOW:String = "ADVERTISEMENT_BEGIN_SHOW";//slotID:8
//constructor
public function AdvertisementEvent(hug1:String, hug2:int=0)
{ //MethodID:1360, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 12
super(hug1);
this.adType = hug2;
}
//variables/etc.
public var adType:int = 0; //slotID:0
override public function clone():Event
{ //MethodID:1361, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 15
return new AdvertisementEvent(type, this.adType);
}
}
}
//¡script153¡
package ru.rutube.managers.advertisement.model.context{
import ru.rutube.managers.advertisement.model.Advertisement
//¡class(instance)_index:153
public class AdvertisementContext extends Advertisement
{
//static constructor
public static function AdvertisementContext$cinit()
{ //MethodID:1363, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdvertisementContext(hug1:int)
{ //MethodID:1364, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
super(hug1);
this.adverts = null;
}
//variables/etc.
protected var _keywords:Array = null; //slotID:0
protected var adverts:Array = null; //slotID:0
public function get length():int
{ //MethodID:1365, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 21
if(!this.adverts) return 0;
return this.adverts.length;
}
public function get contextRecords():Array
{ //MethodID:1366, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 22
if(!this.adverts) return [];
return this.adverts.concat();
}
override public function get isLoaded():Boolean
{ //MethodID:1367, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
return (this.adverts != null);
}
public function set keywords(hug1:Array):void
{ //MethodID:1368, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 50
if(this._keywords != null){
do{
}while(this._keywords.pop() != null);
}
this._keywords = null;
if(hug1 != null) this._keywords = hug1.concat();
}
public function get keywords():Array
{ //MethodID:1369, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23
if(this._keywords != null) return this._keywords.concat();
return [];
}
}
}
//¡script154¡
package ru.rutube.managers.advertisement.model.context.yandexdirect{
import flash.events.Event
import flash.events.SecurityErrorEvent
import flash.net.URLRequest
import ru.rutube.event.EventManager
import ru.rutube.managers.advertisement.event.AdvertisementModelEvent
import ru.rutube.managers.advertisement.model.context.AdvertisementContext
import ru.rutube.managers.advertisement.model.context.ContextRecord
//¡class(instance)_index:154
public class AdvertisementYandex extends AdvertisementContext
{
//static constructor
public static function AdvertisementYandex$cinit()
{ //MethodID:1371, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
TRY_LOAD_COUNT = 3;
}
//static variables/etc.
private static const TRY_LOAD_COUNT:int = 3; //slotID:1
//constructor
public function AdvertisementYandex(hug1:int)
{ //MethodID:1372, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7
super(hug1);
}
//variables/etc.
private var currentTryes:int = 0; //slotID:0
override public function reset():void
{ //MethodID:1373, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46
super.reset();
this.currentTryes = 0;
keywords = null;
if(adverts != null){
do{
}while(adverts.pop() != null);
}
}
override public function load():Boolean
{ //MethodID:1374, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 96
if((loadUrl.length < 1) || (urlLoader != null)) return false;
if(urlLoader != null) return true;
state = 0;
var hug1:String = ("http://an.yandex.ru/code/" + loadUrl + "?target-ref=" + reference);
this.currentTryes++;
innerLoad(new URLRequest(hug1));
return true;
}
override protected function listenerLoadError(hug1:Event):void
{ //MethodID:1375, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 67
removeListeners();
if((this.currentTryes < TRY_LOAD_COUNT) && !(hug1 is SecurityErrorEvent)){
this.load();
}else{
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type));
}
}
override protected function listenerLoadComplete(hug1:Event):void
{ //MethodID:1376, LocalCount= 5 , MaxScope= 6, MaxStack= 5, CodeLength= 410
internal var event:Event; //slotID:1
internal var xml:XML; //slotID:2
internal var bannerXML:XML; //slotID:3
internal var advBegun:ContextRecord; //slotID:4
event = hug1;
if(adverts != null){
do{
}while(adverts.pop() != null);
}
adverts = null;
xml = null;
try{
xml = new XML(urlLoader.data);
}
catch(error:Error){
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type));
return;
}
finally{
removeListeners();
}
if(!xml.hasOwnProperty("direct") || !xml.direct.hasOwnProperty("banner")){
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type));
return;
}
bannerXML = null;
advBegun = null;
adverts = [];
for each(bannerXML in xml.direct.banner){
advBegun = new YandexContextRecord();
advBegun.parse(bannerXML);
if((advBegun.title.length > 0) && (advBegun.desc.length > 0)) adverts.push(advBegun);
}
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_FINISH, type));
}
}
}
//¡script155¡
package ru.rutube.managers.configuration.data{
import Components.Utils.Strings
//¡class(instance)_index:155
public class MetaInfo extends Object
{
//static constructor
public static function MetaInfo$cinit()
{ //MethodID:1378, LocalCount= 1 , MaxScope= 1, MaxStack= 34, CodeLength= 217
classVariables = ["actioContent", "playButtonStatistic", "videoWallUrl", "urlLogotype", "urlContextAdvertisement", "urlVotingAction", "votingValue", "contentVoteCounterHide", "urlDownload", "title", "urlContent", "viewerProfileUrl", "contentRecordDate", "contentDuration", "contentSize", "contentRaiting", "contentVoteCounter", "contentShowHitsCounter", "author", "authorComment", "authorId", "authorRaiting", "authorOnly", "urlContentHomePage", "codeDefaultEmbed", "codeLJEmbed", "codeLIEmbed", "commentsCount", "autoscrollInterval", "urlAuthorize", "bannerInterval", "bannerStartupInterval", "urlSnapShotMakerService"];
xmlVariables = ["actio_content", "playbutton_stat", "video_list_url", "logo_url", "context_advert", "vote_url", "vote_value", "hide_rating", "download_url", "title", "track_url", "client_url", "record_date", "duration", "size", "rating", "rating_counter", "hits_counter", "author", "comment", "author_id", "author_rating", "only_author", "location_url", "embed_code", "ljcode", "licode", "comments_counter", "autoscroll_interval", "authorize_url", "banner_interval", "banner_startup_interval", "snapshoter"];
}
//static variables/etc.
private static const classVariables:Array; //slotID:1
private static const xmlVariables:Array; //slotID:2
//constructor
public function MetaInfo()
{ //MethodID:1379, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 126
this.tags = [];
super();
this.advertisingString = new AdvertisingString();
this.preView = new AdvertisingData();
this.pauseView = new AdvertisingData();
this.postView = new AdvertisingData();
this.overlayView = new AdvertisingData();
this.adSense = new AdSense();
this.complain = new ComplainFormData();
this.infoText = new MetaTextInfo();
this.videoWallArray = [];
this.videoPlayList = [];
this.playList = new PlayListData();
this.favoriteData = new FavoriteData();
}
//variables/etc.
public var playlistStartIndex:int = 0; //slotID:0
public var authorId:Number = 0.0; //slotID:0
public var urlContent:String = ""; //slotID:0
private var _parseXmlData:XML = null; //slotID:0
public var bannerInterval:Number = 0.0; //slotID:0
public var overlayView:AdvertisingData = null; //slotID:0
public var urlDownload:String = ""; //slotID:0
public var tags:Array; //slotID:0
public var contentSize:Number = 0.0; //slotID:0
public var authorRaiting:Number = 0.0; //slotID:0
public var autoscrollInterval:Number = 0.0; //slotID:0
public var actioContent:String = ""; //slotID:0
public var contentDuration:Number = 0.0; //slotID:0
public var showBufferLine:Boolean = false; //slotID:0
public var urlContentHomePage:String = ""; //slotID:0
public var urlAuthorize:String = ""; //slotID:0
public var adSense:AdSense = null; //slotID:0
public var inLoadingVideoWall:Boolean = false; //slotID:0
public var contentRaiting:Number = -1.0; //slotID:0
public var urlVotingAction:String = ""; //slotID:0
public var authorComment:String = ""; //slotID:0
public var advertisingString:AdvertisingString = null; //slotID:0
public var context_povider:String = ""; //slotID:0
public var title:String = ""; //slotID:0
public var videoWallUrl:String = ""; //slotID:0
public var contentVoteCounterHide:Boolean = false; //slotID:0
public var urlStartStatistic:String = ""; //slotID:0
public var isPlayListLoading:Boolean = false; //slotID:0
public var postView:AdvertisingData = null; //slotID:0
public var favoriteData:FavoriteData = null; //slotID:0
public var playButtonStatistic:String = ""; //slotID:0
public var codeLJEmbed:String = ""; //slotID:0
private var _userInfo:UserInfo = null; //slotID:0
public var contentVoteCounter:Number = -1.0; //slotID:0
public var commentsCount:Number = 0.0; //slotID:0
private var videoWallArray:Array = null; //slotID:0
public var noHideThumbnail:Boolean = false; //slotID:0
public var votingValue:Number = 0.0; //slotID:0
public var author:String = ""; //slotID:0
public var videoPlayList:Array = null; //slotID:0
public var bannerStartupInterval:Number = 0.0; //slotID:0
public var contentShowHitsCounter:Number = 0.0; //slotID:0
public var categoryName:String = ""; //slotID:0
public var codeDefaultEmbed:String = ""; //slotID:0
public var urlContextAdvertisement:String = ""; //slotID:0
public var viewerProfileUrl:String = ""; //slotID:0
public var pauseView:AdvertisingData = null; //slotID:0
public var urlEndStatistic:String = ""; //slotID:0
public var trackId:String = ""; //slotID:0
public var toggleLoadMetaInfo:Boolean = false; //slotID:0
public var codeLIEmbed:String = ""; //slotID:0
public var authorOnly:Boolean = false; //slotID:0
private var _securityMode:Boolean = false; //slotID:0
public var urlSnapShotMakerService:String = ""; //slotID:0
public var complain:ComplainFormData = null; //slotID:0
public var preView:AdvertisingData = null; //slotID:0
public var playList:PlayListData = null; //slotID:0
public var urlLogotype:String = ""; //slotID:0
public var contentRecordDate:Number = 0.0; //slotID:0
public var infoText:MetaTextInfo = null; //slotID:0
public var category:Number = 0.0; //slotID:0
public function reset(hug1:Boolean=false):void
{ //MethodID:1380, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 127
this.preView.reset();
this.pauseView.reset();
this.postView.reset();
this.overlayView.reset();
this.complain.reset();
this.advertisingString.reset();
do{
}while(this.videoWallArray.pop() != null);
if(hug1){
do{
}while(this.videoPlayList.pop() != null);
}
this.urlStartStatistic = "";
this.urlEndStatistic = "";
do{
}while(this.tags.pop() != null);
this._parseXmlData = null;
}
public function parse(hug1:XML):void
{ //MethodID:1381, LocalCount= 8 , MaxScope= 1, MaxStack= 4, CodeLength= 811
var hug5:XMLList = null;
var hug6:PlaylistElement = null;
var hug7:Number = NaN;
if(this.isPlayListLoading){
hug5 = hug1.playlist.video;
hug6 = null;
var hug3:int = 0;
while(hug3 < hug5.length()){
hug6 = new PlaylistElement();
hug6.id = hug3;
hug6.parse(hug5[hug3]);
this.videoPlayList.push(hug6);
hug6 = null;
hug3++;
}
return;
}
this.reset();
this._parseXmlData = hug1.copy();
var hug2:String = "";
hug3 = 0;
hug3 = 0;
while(hug3 < classVariables.length){
if(hug1.hasOwnProperty(xmlVariables[hug3])){
hug2 = hug1[xmlVariables[hug3]];
if(this[classVariables[hug3]] is Boolean){
this[classVariables[hug3]] = (((hug2 == "1") || (hug2.toLowerCase() == "true")) ? true : false);
}else if(this[classVariables[hug3]] is Number){
hug7 = Number(hug2);
if(!isNaN(hug7)){
this[classVariables[hug3]] = hug7;
}else{
this[classVariables[hug3]] = 0;
}
}else{
hug2 = hug2.replace(new RegExp("^\s+|\s+$", "g"), "");
this[classVariables[hug3]] = hug2;
}
}
hug3++;
}
if(hug1.hasOwnProperty("category")){
this.category = hug1.category.attribute("id");
this.categoryName = hug1.category.attribute("name");
}
if(isNaN(this.category)) this.category = 0;
this.categoryName = this.categoryName.toLowerCase();
this.urlContextAdvertisement = "";
this.context_povider = "";
this.context_povider = hug1["context_advert"].@provider.toString();
this.urlContextAdvertisement = hug1["context_advert"].toString();
if((this.urlContent != null) && (this.urlContent.indexOf("=") > 20)) this.trackId = this.urlContent.substr(this.urlContent.indexOf("=") + 1);
this.complain.parse(hug1.complain);
this.advertisingString.parse(hug1.advertising);
this.preView.parse(hug1.pre_view[0]);
this.pauseView.parse(hug1.pause_view[0]);
this.postView.parse(hug1.post_view[0]);
this.overlayView.parse(hug1.overlay_view[0]);
hug2 = "";
hug2 = hug1.stat_url.toString();
this.urlStartStatistic = hug2;
hug2 = hug1.endscreen_stat_url.toString();
this.urlEndStatistic = hug2;
this.infoText.parse(hug1.child("infotext"));
hug2 = hug1.tags.toString();
this.tags = hug2.split(" | ");
var hug4:XMLList = null;
hug4 = hug1.video_list.video;
if(hug4.length() > 1) this.parseVideoWall(hug4);
if(this.videoWallUrl.length > 0) this.videoWallUrl = this.videoWallUrl.replace(" ", "");
if(hug1.hasOwnProperty("add_playlist")) this.playList.parse(hug1.add_playlist);
if(hug1.hasOwnProperty("add_favorites")) this.favoriteData.parse(hug1.add_favorites);
this.title = Strings.htmlToText(this.title);
}
public function parseVideoWall(hug1:XMLList):void
{ //MethodID:1382, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 100
if(!hug1) return;
if(this.videoWallArray.length > 0){
do{
}while(this.videoWallArray.pop() != null);
}
var hug2:VideoWallElementInfo = null;
var hug3:int = 0;
while(hug3 < hug1.length()){
hug2 = new VideoWallElementInfo();
hug2.parseData(hug1[hug3]);
this.videoWallArray.push(hug2);
hug2 = null;
hug3++;
}
}
public function get recordDate():String
{ //MethodID:1383, LocalCount= 4 , MaxScope= 1, MaxStack= 12, CodeLength= 132
var hug1:Date = new Date();
if(this.contentRecordDate > 0) hug1.time = (this.contentRecordDate * 1000);
var hug2:String = "";
var hug3:Array = ["„‘„~„r„p„‚„‘", "„†„u„r„‚„p„|„‘", "„}„p„‚„„„p", "„p„„‚„u„|„‘", "„}„p„‘", "„y„„~„‘", "„y„„|„‘", "„p„r„s„…„ƒ„„„p", "„ƒ„u„~„„„‘„q„‚„‘", "„€„{„„„‘„q„‚„‘", "„~„€„‘„q„‚„‘", "„t„u„{„p„q„‚„‘"];
hug2 += hug1.getDate().toString();
hug2 += " ";
hug2 += hug3[hug1.getMonth()];
hug2 += " ";
hug2 += hug1.getFullYear().toString();
return hug2;
}
public function get userInfo():UserInfo
{ //MethodID:1384, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
if(!this._userInfo) this._userInfo = new UserInfo();
return this._userInfo;
}
public function get movieKeywords():Array
{ //MethodID:1385, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 73
var hug1:Array = null;
hug1 = this.tags.concat();
if(!hug1) hug1 = [];
if(this.title.length > 0) hug1.unshift(this.title);
if(this.authorComment.length > 0) hug1.push(this.authorComment);
return hug1;
}
public function get isSnapshotAvalible():Boolean
{ //MethodID:1386, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 92
return ((this.urlSnapShotMakerService.length > 0) && (((this.userInfo.userId == this.authorId) || this.userInfo.isAdmin) || this.userInfo.isAllowSnapshot && (this.userInfo.isCategoryAllow(this.category) || this.userInfo.allowAllCategories)));
}
public function get isRegistered():Boolean
{ //MethodID:1387, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32
return ((this.userInfo.userNick != null) && (this.userInfo.userNick.length > 0));
}
public function get videoWall():Array
{ //MethodID:1388, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.videoWallArray.concat();
}
public function get isVideoWallLoaded():Boolean
{ //MethodID:1389, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return (this.videoWallArray.length > 0);
}
public function removeVideoWallId():void
{ //MethodID:1390, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function get isActioPresent():Boolean
{ //MethodID:1391, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
return ((this.actioContent != null) && (this.actioContent.length > 5));
}
public function isAdvertiseContentPresent():Boolean
{ //MethodID:1392, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
return ((this.urlContextAdvertisement != null) && (this.urlContextAdvertisement.length > 0));
}
public function get isPlaylistStartIndexPresent():Boolean
{ //MethodID:1393, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
return (this.playlistStartIndex > (-1));
}
public function get isPlayListAvalible():Boolean
{ //MethodID:1394, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return (this.videoPlayList.length > 0);
}
public function get parseXmlData():XML
{ //MethodID:1395, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28
if(this._parseXmlData != null) return this._parseXmlData.copy();
return new XML("");
}
public function get securityMode():Boolean
{ //MethodID:1396, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._securityMode;
}
public function set securityMode(hug1:Boolean):void
{ //MethodID:1397, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._securityMode = hug1;
}
}
}
//¡script156¡
package ru.rutube.managers.advertisement.model.adriver{
import flash.events.TimerEvent
import flash.external.ExternalInterface
import flash.utils.Timer
import ru.rutube.event.EventManager
import ru.rutube.managers.advertisement.AdvertisementType
import ru.rutube.managers.advertisement.event.AdvertisementEvent
//¡class(instance)_index:156
public class BannerSiamTween extends Object
{
//static constructor
public static function BannerSiamTween$cinit()
{ //MethodID:1399, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function BannerSiamTween(hug1:int)
{ //MethodID:1400, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
super();
this.advertisementType = hug1;
}
//variables/etc.
private var _id:String = ""; //slotID:0
private var timer:Timer = null; //slotID:0
private var _click:String = ""; //slotID:0
private var successedNumber:int = 0; //slotID:0
private var _canceled:Boolean = false; //slotID:0
private var _event:String = ""; //slotID:0
private var _show:String = ""; //slotID:0
private var advertisementType:int = 0; //slotID:0
public function get show():String
{ //MethodID:1401, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._show;
}
public function get click():String
{ //MethodID:1402, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._click;
}
public function get event():String
{ //MethodID:1403, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._event;
}
public function get canceled():Boolean
{ //MethodID:1404, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._canceled;
}
private function get siamFunction():String
{ //MethodID:1405, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 91
switch(this.advertisementType){
case AdvertisementType.AD_PRE_ROLL:
return "function(){return window.ar_siam}";
case AdvertisementType.AD_OVERLAY:
return "function(){return window.ar_overlay_flash}";
default:
return "";
break;
}
}
private function clearTimer():void
{ //MethodID:1406, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 53
if(this.timer != null){
this.timer.removeEventListener(TimerEvent.TIMER, this.listenerSiam);
if(this.timer.running) this.timer.reset();
this.timer = null;
}
}
public function startCheckSiamtween():void
{ //MethodID:1407, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 61
if(this._canceled) return;
if(ExternalInterface.available){
this.timer = new Timer(1000);
this.timer.addEventListener(TimerEvent.TIMER, this.listenerSiam);
this.timer.start();
}
}
public function finishCheckSiamtwin():void
{ //MethodID:1408, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
this._canceled = true;
this.clearTimer();
}
public function notifyLoaded():void
{ //MethodID:1409, LocalCount= 3 , MaxScope= 5, MaxStack= 3, CodeLength= 59
try{
if(this._id.length > 0) ExternalInterface.call("adriver('" + this._id + "').draw");
}
catch(err:Error){
}
}
private function listenerSiam(hug1:TimerEvent):void
{ //MethodID:1410, LocalCount= 5 , MaxScope= 5, MaxStack= 4, CodeLength= 371
internal var tEvent:TimerEvent; //slotID:1
internal var ok:Object; //slotID:2
tEvent = hug1;
if(this._canceled) return;
ok = null;
try{
ok = ExternalInterface.call(this.siamFunction);
}
catch(err:Error){
ok = null;
}
if((ok != null) && ok.hasOwnProperty("show") && ok.hasOwnProperty("click") && ok.hasOwnProperty("event")){
this.successedNumber++;
this._show = (ok["show"] as String);
this._click = (ok["click"] as String);
this._event = (ok["event"] as String);
if(ok.hasOwnProperty("id")){
this._id = (ok["id"] as String);
this.clearTimer();
}
EventManager.instance.dispatchEvent(new AdvertisementEvent(AdvertisementEvent.ADVERTISEMENT_SIAMTWEEN_LOADED, this.advertisementType));
return;
}
if(!this.timer){
this.timer = new Timer(1000);
this.timer.addEventListener(TimerEvent.TIMER, this.listenerSiam);
}
if(this.timer != null){
if((this.timer.currentCount > 20) || (this.successedNumber > 5)){
this.clearTimer();
}else if(!this.timer.running){
this.timer.start();
}
}
}
}
}
//¡script157¡
package ru.rutube.managers.configuration.data{
//¡class(instance)_index:157
public class AdvertisingData extends Object
{
//static constructor
public static function AdvertisingData$cinit()
{ //MethodID:1412, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdvertisingData(hug1:String)
{ //MethodID:1413, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 43
super();
this.urlContent = hug1;
if((this.urlContent != null) && (this.urlContent.length > 5)) this.initialized = true;
}
//variables/etc.
public var showCount:Number = 1.0; //slotID:0
private var initialized:Boolean = false; //slotID:0
public var urlContent:String = ""; //slotID:0
public function parse(hug1:XML):void
{ //MethodID:1414, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 202
if(hug1 == null) return;
if(hug1.children().length() < 1) return;
if(hug1.hasOwnProperty("ad")) hug1 = hug1.ad[0];
if(hug1.hasOwnProperty("media")) this.urlContent = hug1.child("media").toString().replace(new RegExp(" ", "gi"), "");
this.urlContent = this.urlContent.replace("bt=45", "bt=54");
if(hug1.hasOwnProperty("play_once")) this.showCount = Number(hug1.child("play_once").toString());
if(isNaN(this.showCount)) this.showCount = 1;
this.urlContent = this.urlContent.replace(" ", "");
if(this.urlContent.length > 0) this.initialized = true;
}
public function reset():void
{ //MethodID:1415, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 20
this.urlContent = "";
this.showCount = 1;
this.initialized = false;
}
public function get isInitialized():Boolean
{ //MethodID:1416, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.initialized;
}
}
}
//¡script158¡
package ru.rutube.managers.configuration{
import flash.events.Event
import flash.events.HTTPStatusEvent
import flash.events.IOErrorEvent
import flash.events.ProgressEvent
import flash.events.SecurityErrorEvent
import flash.events.TimerEvent
import flash.geom.Point
import flash.net.URLLoader
import flash.net.URLRequest
import flash.net.URLVariables
import flash.utils.Timer
import ru.rutube.event.ConfigurationMetaInfoEvent
import ru.rutube.event.EventManager
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
import ru.rutube.managers.configuration.data.FlashVariablesConfig
import ru.rutube.managers.configuration.data.MetaInfo
import ru.rutube.managers.configuration.data.PlayerConfig
import ru.rutube.managers.configuration.data.PlaylistElement
import ru.rutube.managers.playlist.PlayFilesList
//¡class(instance)_index:158
public class ConfigurationManager extends Object
{
//static constructor
public static function ConfigurationManager$cinit()
{ //MethodID:1418, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 62
DEBUG_MODE = false;
VERSION = "00041.30.13";
TIMEOUT_INTERVAL = 15000;
URL_PLAYER_CONTEXT_DEBUG = "../resources/xml/env.xml";
URL_PLAYER_CONTEXT = "http://rutube.ru/cgi-bin/skin.cgi";
URL_USER_INFO = "http://rutube.ru/users/current.xml";
_instance = null;
}
//static variables/etc.
public static const DEBUG_MODE:Boolean = false; //slotID:1
public static const VERSION:String = "00041.30.13"; //slotID:2
public static var TIMEOUT_INTERVAL:Number = 15000.0; //slotID:3
private static const URL_PLAYER_CONTEXT_DEBUG:String = "../resources/xml/env.xml";//slotID:4
private static const URL_PLAYER_CONTEXT:String = "http://rutube.ru/cgi-bin/skin.cgi";//slotID:5
private static const URL_USER_INFO:String = "http://rutube.ru/users/current.xml";//slotID:6
private static var _instance:ConfigurationManager = null; //slotID:7
public static function get instance():ConfigurationManager
{ //dispID:3, MethodID:1419, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new ConfigurationManager();
return _instance;
}
//constructor
public function ConfigurationManager()
{ //MethodID:1420, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37
super();
if(_instance != null) throw new Error("You must call instance for get object");
_instance = this;
this.init();
}
//variables/etc.
private var timer:Timer = null; //slotID:0
private var playFilesList:PlayFilesList = null; //slotID:0
private var _playerConfig:PlayerConfig = null; //slotID:0
private var playMetaInfo:MetaInfo = null; //slotID:0
private var _flashVariablesConfig:FlashVariablesConfig = null; //slotID:0
private var currentLoader:URLLoader = null; //slotID:0
private function init():void
{ //MethodID:1421, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 70
this._flashVariablesConfig = new FlashVariablesConfig();
this.playFilesList = new PlayFilesList();
this.playMetaInfo = new MetaInfo();
XML.ignoreWhitespace = true;
this.timer = new Timer(TIMEOUT_INTERVAL / 2);
this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimer);
}
public function get flashVariablesConfig():FlashVariablesConfig
{ //MethodID:1422, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._flashVariablesConfig;
}
public function get fileList():PlayFilesList
{ //MethodID:1423, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.playFilesList;
}
public function get metaInfo():MetaInfo
{ //MethodID:1424, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.playMetaInfo;
}
public function get playerConfig():PlayerConfig
{ //MethodID:1425, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
if(!this._playerConfig) this._playerConfig = new PlayerConfig();
return this._playerConfig;
}
public function loadPlayerConfig():void
{ //MethodID:1426, LocalCount= 3 , MaxScope= 5, MaxStack= 6, CodeLength= 370
internal var contextUrl:String; //slotID:1
internal var variables:URLVariables; //slotID:2
internal var configLoader:URLLoader; //slotID:3
internal var urlRequest:URLRequest; //slotID:4
internal var internalEvent:InternalEvent; //slotID:5
internalEvent = null;
contextUrl = URL_PLAYER_CONTEXT;
variables = new URLVariables();
if(contextUrl.indexOf("?") == (-1)){
contextUrl += "?";
}else{
contextUrl += "&";
}
if(this.flashVariablesConfig.urlContent != "") contextUrl += ("file=" + this.flashVariablesConfig.urlContent + "&");
if(this.flashVariablesConfig.referrer != "") contextUrl += ("referer=" + this.flashVariablesConfig.referrer);
configLoader = new URLLoader();
urlRequest = new URLRequest();
urlRequest.url = contextUrl;
configLoader.addEventListener(Event.COMPLETE, this.listenerContextLoadComplete);
configLoader.addEventListener(ProgressEvent.PROGRESS, this.listenerContextLoadProgress);
configLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerContextLoadError);
configLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerContextLoadError);
this.currentLoader = configLoader;
this.timer.reset();
this.timer.delay = (TIMEOUT_INTERVAL / 2);
this.timer.start();
try{
configLoader.load(urlRequest);
}
catch(err:Error){
internalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION, null, err.toString());
EventManager.instance.dispatchEvent(internalEvent);
}
}
public function loadMetaInfo(hug1:String=null, hug2:Boolean=false):void
{ //MethodID:1427, LocalCount= 5 , MaxScope= 5, MaxStack= 6, CodeLength= 461
internal var loadUrl:String = null; //slotID:1
internal var isPlayList:Boolean = false; //slotID:2
internal var variables:URLVariables; //slotID:3
internal var metaInfoLoader:URLLoader; //slotID:4
internal var urlRequest:URLRequest; //slotID:5
internal var internalEvent:InternalEvent; //slotID:6
internalEvent = null;
loadUrl = hug1;
isPlayList = hug2;
if(!loadUrl) loadUrl = this.flashVariablesConfig.urlMetaInfoXml;
loadUrl += ((loadUrl.indexOf("?") != (-1)) ? "&" : "?");
variables = new URLVariables();
if(this.flashVariablesConfig.userId != "0") variables["uid"] = this.flashVariablesConfig.userId;
if((this.flashVariablesConfig.referrer != "") && (loadUrl.indexOf("referer=") == (-1))) variables["referer"] = this.flashVariablesConfig.referrer;
if(this.flashVariablesConfig.useApi) variables["api"] = this.flashVariablesConfig.useApi;
if(isPlayList) this.playMetaInfo.isPlayListLoading = isPlayList;
if(loadUrl.indexOf("https") == 0) this.playMetaInfo.securityMode = true;
metaInfoLoader = new URLLoader();
urlRequest = new URLRequest();
urlRequest.url = loadUrl;
urlRequest.data = variables;
metaInfoLoader.addEventListener(Event.COMPLETE, this.listenerMetaInfoLoadComplete);
metaInfoLoader.addEventListener(ProgressEvent.PROGRESS, this.listenerMetaInfoLoadProgress);
metaInfoLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerMetaInfoLoadError);
metaInfoLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerMetaInfoLoadError);
metaInfoLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.listenerMetainfoStatus);
try{
metaInfoLoader.load(urlRequest);
}
catch(err:Error){
internalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION, null, err.toString());
EventManager.instance.dispatchEvent(internalEvent);
}
}
public function loadVideoWall(hug1:String=null):void
{ //MethodID:1428, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 125
var hug2:String = hug1;
if(!hug2) hug2 = this.metaInfo.videoWallUrl;
if(!hug2 || this.metaInfo.inLoadingVideoWall) return;
this.metaInfo.inLoadingVideoWall = true;
var hug3:URLRequest = new URLRequest();
hug3.url = hug2;
var hug4:URLLoader = new URLLoader();
hug4.addEventListener(Event.COMPLETE, this.listenerVideoWallcomplete);
hug4.addEventListener(IOErrorEvent.IO_ERROR, this.listenerVideoWallError);
hug4.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerVideoWallError);
hug4.load(hug3);
}
public function loadUserInfo():void
{ //MethodID:1429, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 115
var hug1:URLRequest = new URLRequest();
hug1.url = (this.playMetaInfo.securityMode ? URL_USER_INFO.replace(new RegExp("http", "gi"), "https") : URL_USER_INFO);
var hug2:URLLoader = new URLLoader();
hug2.addEventListener(Event.COMPLETE, this.listenerUserInfoComplete);
hug2.addEventListener(IOErrorEvent.IO_ERROR, this.listenerUserInfoError);
hug2.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerUserInfoError);
hug2.load(hug1);
}
private function parsePlayerContextXml(hug1:String=null):PlayerConfig
{ //MethodID:1430, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 101
internal var strXml:String = null; //slotID:1
internal var plContext:PlayerConfig; //slotID:2
internal var contXml:XML; //slotID:3
strXml = hug1;
plContext = new PlayerConfig();
contXml = null;
try{
contXml = new XML(strXml);
}
catch(err:Error){
trace(err);
}
if(contXml != null) plContext.parseXml(contXml);
return plContext;
}
private function listenerTimer(hug1:TimerEvent):void
{ //MethodID:1431, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 176
internal var tEvent:TimerEvent; //slotID:1
internal var internalEvent:InternalEvent; //slotID:2
internalEvent = null;
tEvent = hug1;
if(this.currentLoader != null){
try{
this.currentLoader.close();
}
catch(err:Error){
}
this.currentLoader.removeEventListener(Event.COMPLETE, this.listenerContextLoadComplete);
this.currentLoader.removeEventListener(ProgressEvent.PROGRESS, this.listenerContextLoadProgress);
this.currentLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerContextLoadError);
this.currentLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerContextLoadError);
this.currentLoader = null;
internalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION, null, "timer");
EventManager.instance.dispatchEvent(internalEvent);
}
this.timer.stop();
}
private function listenerUserInfoComplete(hug1:Event):void
{ //MethodID:1432, LocalCount= 5 , MaxScope= 9, MaxStack= 8, CodeLength= 309
internal var event:Event; //slotID:1
internal var urlLoader:URLLoader; //slotID:2
internal var xml:XML; //slotID:3
internal var playList:XMLList; //slotID:4
internal var internalEvent:InternalEvent; //slotID:5
playList = null;
internalEvent = null;
event = hug1;
urlLoader = (event.target as URLLoader);
urlLoader.removeEventListener(Event.COMPLETE, this.listenerUserInfoComplete);
urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerUserInfoError);
urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerUserInfoError);
xml = null;
try{
xml = new XML(urlLoader.data);
}
finally{
try{
try{
this.metaInfo.userInfo.parse(xml);
playList = xml.playlist;
if(playList.length() > 0) this.metaInfo.playList.parseLists(playList);
}
catch(err:Error){
}
}
internalEvent = new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_CONFIGURATION_USER_INFO, null, null);
EventManager.instance.dispatchEvent(internalEvent);
}
}
private function listenerUserInfoError(hug1:Event):void
{ //MethodID:1433, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 92
var hug2:URLLoader = (hug1.target as URLLoader);
hug2.removeEventListener(Event.COMPLETE, this.listenerUserInfoComplete);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerUserInfoError);
hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerUserInfoError);
var hug3:InternalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION_USER_INFO, null, hug1.toString());
EventManager.instance.dispatchEvent(hug3);
}
private function listenerContextLoadComplete(hug1:Event):void
{ //MethodID:1434, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 166
this.timer.stop();
var hug2:URLLoader = (hug1.target as URLLoader);
hug2.removeEventListener(Event.COMPLETE, this.listenerContextLoadComplete);
hug2.removeEventListener(ProgressEvent.PROGRESS, this.listenerContextLoadProgress);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerContextLoadError);
hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerContextLoadError);
if(hug2 == this.currentLoader) this.currentLoader = null;
this._playerConfig = this.parsePlayerContextXml(hug2.data);
if(this._playerConfig.userId == "0") this._playerConfig.initByFlashVars(this.flashVariablesConfig.userId);
var hug3:InternalEvent = new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_CONFIGURATION, null, null);
EventManager.instance.dispatchEvent(hug3);
}
private function listenerContextLoadProgress(hug1:ProgressEvent):void
{ //MethodID:1435, LocalCount= 3 , MaxScope= 1, MaxStack= 7, CodeLength= 46
var hug2:InternalEvent = new InternalEvent(InternalEvent.PROGRESS, EventSources.SOURCE_MANAGER_CONFIGURATION, null, new Point(hug1.bytesLoaded, hug1.bytesTotal));
EventManager.instance.dispatchEvent(hug2);
}
private function listenerContextLoadError(hug1:Event):void
{ //MethodID:1436, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 128
this.timer.stop();
var hug2:URLLoader = (hug1.target as URLLoader);
hug2.removeEventListener(Event.COMPLETE, this.listenerContextLoadComplete);
hug2.removeEventListener(ProgressEvent.PROGRESS, this.listenerContextLoadProgress);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerContextLoadError);
hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerContextLoadError);
if(hug2 == this.currentLoader) this.currentLoader = null;
var hug3:InternalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION, null, hug1.toString());
EventManager.instance.dispatchEvent(hug3);
}
private function listenerMetaInfoLoadComplete(hug1:Event):void
{ //MethodID:1437, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 463
internal var event:Event; //slotID:1
internal var ulrLoader:URLLoader; //slotID:2
internal var xmlMetaInfo:XML; //slotID:3
internal var internalEvent:InternalEvent; //slotID:4
internal var playlistElement:PlaylistElement; //slotID:5
internal var i:int; //slotID:6
playlistElement = null;
i = 0;
event = hug1;
ulrLoader = (event.target as URLLoader);
ulrLoader.removeEventListener(Event.COMPLETE, this.listenerMetaInfoLoadComplete);
ulrLoader.removeEventListener(ProgressEvent.PROGRESS, this.listenerMetaInfoLoadProgress);
ulrLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerMetaInfoLoadError);
ulrLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerMetaInfoLoadError);
ulrLoader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.listenerMetainfoStatus);
xmlMetaInfo = null;
internalEvent = null;
try{
xmlMetaInfo = new XML(ulrLoader.data);
}
catch(err:Error){
trace("MetaXMLError" + err.message);
EventManager.instance.dispatchEvent(new Event(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE));
return;
}
this.playMetaInfo.parse(xmlMetaInfo);
if(this.playMetaInfo.isPlayListLoading){
this.playMetaInfo.isPlayListLoading = false;
playlistElement = null;
i = 0;
while(i < this.playMetaInfo.videoPlayList.length){
playlistElement = (this.playMetaInfo.videoPlayList[i] as PlaylistElement);
if(playlistElement.trackId == this.flashVariablesConfig.playListStartId){
this.playMetaInfo.playlistStartIndex = playlistElement.id;
break;
}
i++;
}
playlistElement = (this.playMetaInfo.videoPlayList[i] as PlaylistElement);
if(playlistElement != null){
this.loadMetaInfo(playlistElement.urlMetaInfo);
return;
}
}
EventManager.instance.dispatchEvent(new Event(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE));
if(!this.playMetaInfo.isVideoWallLoaded && (this.playMetaInfo.videoWallUrl.length > 0)) this.loadVideoWall(this.playMetaInfo.videoWallUrl);
}
private function listenerMetaInfoLoadProgress(hug1:ProgressEvent):void
{ //MethodID:1438, LocalCount= 3 , MaxScope= 1, MaxStack= 7, CodeLength= 46
var hug2:InternalEvent = new InternalEvent(InternalEvent.PROGRESS, EventSources.SOURCE_MANAGER_CONFIGURATION, null, new Point(hug1.bytesLoaded, hug1.bytesTotal));
EventManager.instance.dispatchEvent(hug2);
}
private function listenerMetaInfoLoadError(hug1:Event):void
{ //MethodID:1439, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 105
var hug2:URLLoader = (hug1.target as URLLoader);
hug2.removeEventListener(Event.COMPLETE, this.listenerMetaInfoLoadComplete);
hug2.removeEventListener(ProgressEvent.PROGRESS, this.listenerMetaInfoLoadProgress);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerMetaInfoLoadError);
hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerMetaInfoLoadError);
hug2.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.listenerMetainfoStatus);
EventManager.instance.dispatchEvent(new Event(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE));
}
private function listenerMetainfoStatus(hug1:HTTPStatusEvent):void
{ //MethodID:1440, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function listenerVideoWallcomplete(hug1:Event):void
{ //MethodID:1441, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 210
internal var event:Event; //slotID:1
internal var urlLoader:URLLoader; //slotID:2
internal var xml:XML; //slotID:3
internal var internalEvent:InternalEvent; //slotID:4
event = hug1;
urlLoader = (event.target as URLLoader);
urlLoader.removeEventListener(Event.COMPLETE, this.listenerVideoWallcomplete);
urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerVideoWallError);
urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerVideoWallError);
xml = null;
try{
xml = new XML(urlLoader.data);
}
catch(err:Error){
xml = null;
return;
}
this.playMetaInfo.parseVideoWall(xml.child("video"));
internalEvent = new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_CONFIGURATION_VIDEO_WALL, null, null);
EventManager.instance.dispatchEvent(internalEvent);
EventManager.instance.dispatchEvent(new Event(ConfigurationMetaInfoEvent.CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE));
}
private function listenerVideoWallError(hug1:Event):void
{ //MethodID:1442, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 92
var hug2:URLLoader = (hug1.target as URLLoader);
hug2.removeEventListener(Event.COMPLETE, this.listenerVideoWallcomplete);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerVideoWallError);
hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerVideoWallError);
var hug3:InternalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION_VIDEO_WALL, null, hug1.toString());
EventManager.instance.dispatchEvent(hug3);
}
}
}
//¡script159¡
package ru.rutube.managers.advertisement.model.context.begun{
import flash.events.Event
import flash.events.SecurityErrorEvent
import flash.net.URLRequest
import ru.rutube.event.EventManager
import ru.rutube.managers.advertisement.event.AdvertisementModelEvent
import ru.rutube.managers.advertisement.model.context.AdvertisementContext
import ru.rutube.managers.advertisement.model.context.ContextRecord
//¡class(instance)_index:159
public class AdvertisementBegun extends AdvertisementContext
{
//static constructor
public static function AdvertisementBegun$cinit()
{ //MethodID:1444, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
TRY_LOAD_COUNT = 3;
}
//static variables/etc.
private static const TRY_LOAD_COUNT:int = 3; //slotID:1
//constructor
public function AdvertisementBegun(hug1:int)
{ //MethodID:1445, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7
super(hug1);
}
//variables/etc.
private var currentTryes:int = 0; //slotID:0
override public function reset():void
{ //MethodID:1446, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46
super.reset();
this.currentTryes = 0;
keywords = null;
if(adverts != null){
do{
}while(adverts.pop() != null);
}
}
override public function load():Boolean
{ //MethodID:1447, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 155
if((loadUrl.length < 1) || (urlLoader != null)) return false;
if(urlLoader != null) return true;
state = 0;
var hug1:String = "";
if(keywords != null) hug1 = keywords.join(",");
var hug2:String = loadUrl;
if(hug1.length > 0){
if(hug2.indexOf("&") > 0){
hug2 += ("&begun_self_keywords=" + hug1);
}else{
hug2 += ("?begun_self_keywords=" + hug1);
}
}
this.currentTryes++;
innerLoad(new URLRequest(hug2));
return true;
}
override protected function listenerLoadError(hug1:Event):void
{ //MethodID:1448, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 67
removeListeners();
if((this.currentTryes < TRY_LOAD_COUNT) && !(hug1 is SecurityErrorEvent)){
this.load();
}else{
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type));
}
}
override protected function listenerLoadComplete(hug1:Event):void
{ //MethodID:1449, LocalCount= 5 , MaxScope= 5, MaxStack= 4, CodeLength= 319
internal var event:Event; //slotID:1
internal var xml:XML; //slotID:2
internal var bannerXML:XML; //slotID:3
internal var advBegun:ContextRecord; //slotID:4
event = hug1;
if(adverts != null){
do{
}while(adverts.pop() != null);
}
adverts = null;
xml = null;
try{
xml = new XML(urlLoader.data);
}
catch(error:Error){
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type));
return;
}
removeListeners();
bannerXML = null;
advBegun = null;
adverts = [];
for each(bannerXML in xml.banner){
advBegun = new BegunContextRecord();
advBegun.parse(bannerXML);
if((advBegun.title.length > 0) && (advBegun.desc.length > 0)) adverts.push(advBegun);
}
if(adverts.length < 1){
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type));
return;
}
EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_FINISH, type));
}
}
}
//¡script160¡
package ru.rutube.managers.advertisement{
//¡class(instance)_index:160
public class AdvertisementType extends Object
{
//static constructor
public static function AdvertisementType$cinit()
{ //MethodID:1451, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 139
AD_NONE = 0;
AD_BLIND = 1;
AD_PRE_ROLL = 2;
AD_PAUSE = 3;
AD_POST_ROLL = 4;
AD_OVERLAY = 5;
AD_BEGUN = 6;
AD_ADSENSE = 7;
ADV_NONE = "ADV_NONE";
ADV_BEGUN = "ADV_BEGUN";
ADV_ADRIVER = "ADV_ADRIVER";
ADV_OVERLAY = "ADV_OVERLAY";
ADV_ADSENSE = "ADV_ADSENSE";
CONTENT_TYPE_SWF = "swf";
CONTENT_TYPE_FLV = "flv";
CONTENT_TYPE_IMG = "img";
}
//static variables/etc.
public static const AD_NONE:int = 0; //slotID:1
public static const AD_BLIND:int = 1; //slotID:2
public static const AD_PRE_ROLL:int = 2; //slotID:3
public static const AD_PAUSE:int = 3; //slotID:4
public static const AD_POST_ROLL:int = 4; //slotID:5
public static const AD_OVERLAY:int = 5; //slotID:6
public static const AD_BEGUN:int = 6; //slotID:7
public static const AD_ADSENSE:int = 7; //slotID:8
public static const ADV_NONE:String = "ADV_NONE"; //slotID:9
public static const ADV_BEGUN:String = "ADV_BEGUN"; //slotID:10
public static const ADV_ADRIVER:String = "ADV_ADRIVER"; //slotID:11
public static const ADV_OVERLAY:String = "ADV_OVERLAY"; //slotID:12
public static const ADV_ADSENSE:String = "ADV_ADSENSE"; //slotID:13
public static const CONTENT_TYPE_SWF:String = "swf"; //slotID:14
public static const CONTENT_TYPE_FLV:String = "flv"; //slotID:15
public static const CONTENT_TYPE_IMG:String = "img"; //slotID:16
//constructor
public function AdvertisementType()
{ //MethodID:1452, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script161¡
package ru.rutube.managers.advertisement.model.adriver{
//¡class(instance)_index:161
public class AdvertisementRutubeXml extends Object
{
//static constructor
public static function AdvertisementRutubeXml$cinit()
{ //MethodID:1454, LocalCount= 1 , MaxScope= 1, MaxStack= 21, CodeLength= 103
BANNER_NONE = 0;
BANNER_FLV = 1;
BANNER_SWF = 2;
BANNER_IMG = 3;
classVariables = ["hideCloseButton", "hideBackgroundPanel", "windowMode", "duration", "widthSWF", "heightSWF", "urlThumbnail", "wndHAlign", "wndVAlign", "wndfsHAlign", "wndfsVAlign", "contHAlign", "contVAlign", "insideStretch", "hideProgressFLV", "showVolumePanel", "specialFormat", "MMVideoStarted", "MMVideoEnded", "MMVideoDuration"];
}
//static variables/etc.
public static const BANNER_NONE:int = 0; //slotID:1
public static const BANNER_FLV:int = 1; //slotID:2
public static const BANNER_SWF:int = 2; //slotID:3
public static const BANNER_IMG:int = 3; //slotID:4
protected static const classVariables:Array; //slotID:5
//constructor
public function AdvertisementRutubeXml()
{ //MethodID:1455, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18
super();
this.pixels = [];
this.clicks = [];
}
//variables/etc.
public var contVAlign:String = ""; //slotID:0
private var _twinOverlay:AdvertisementTwinOverlayXml = null; //slotID:0
public var specialFormat:int = -1; //slotID:0
public var widthBanner:Number = 0.0; //slotID:0
public var wndfsHAlign:String = ""; //slotID:0
public var duration:Number = 6.0; //slotID:0
public var bannerUrl:String = ""; //slotID:0
private var _bannerType:int = 0; //slotID:0
private var pixels:Array = null; //slotID:0
public var hideCloseButton:Boolean = false; //slotID:0
public var heightBanner:Number = 0.0; //slotID:0
public var windowMode:Boolean = false; //slotID:0
public var urlThumbnail:String = ""; //slotID:0
private var MMVideoEnded:String = ""; //slotID:0
private var toggleLinkButton:Boolean = true; //slotID:0
public var wndfsVAlign:String = ""; //slotID:0
public var showVolumePanel:Boolean = true; //slotID:0
public var contHAlign:String = ""; //slotID:0
public var wndHAlign:String = ""; //slotID:0
public var hideBackgroundPanel:Boolean = false; //slotID:0
private var MMVideoStarted:String = ""; //slotID:0
public var hideProgressFLV:Boolean = false; //slotID:0
public var insideStretch:Boolean = true; //slotID:0
private var clicks:Array = null; //slotID:0
private var toggleInteractive:Boolean = false; //slotID:0
private var MMVideoDuration:String = ""; //slotID:0
public var wndVAlign:String = ""; //slotID:0
public function get MMStartLink():String
{ //MethodID:1456, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.MMVideoStarted;
}
public function get MMEndedLink():String
{ //MethodID:1457, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.MMVideoEnded;
}
public function get MMStopDurationLink():String
{ //MethodID:1458, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.MMVideoDuration;
}
public function set widthSWF(hug1:Number):void
{ //MethodID:1459, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this.widthBanner = hug1;
}
public function get widthSWF():Number
{ //MethodID:1460, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.widthBanner;
}
public function set heightSWF(hug1:Number):void
{ //MethodID:1461, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this.heightBanner = hug1;
}
public function get heightSWF():Number
{ //MethodID:1462, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.heightBanner;
}
public function get isTwinPresent():Boolean
{ //MethodID:1463, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
return (this._twinOverlay != null);
}
public function get isInteractive():Boolean
{ //MethodID:1464, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.toggleInteractive;
}
public function get isShowLinkPanel():Boolean
{ //MethodID:1465, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.toggleLinkButton;
}
public function get twinOverlay():AdvertisementTwinOverlayXml
{ //MethodID:1466, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._twinOverlay;
}
public function get bannerType():int
{ //MethodID:1467, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._bannerType;
}
public function set bannerType(hug1:int):void
{ //MethodID:1468, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._bannerType = hug1;
}
public function get isVideoContent():Boolean
{ //MethodID:1469, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
return (this._bannerType == BANNER_FLV);
}
public function get bannerTypeAsText():String
{ //MethodID:1470, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 122
var hug1:String = "none";
switch(this.bannerType){
case BANNER_FLV:
hug1 = "flv";
break;
case BANNER_SWF:
hug1 = "swf";
break;
case BANNER_IMG:
hug1 = "img";
break;
default:
break;
}
return hug1;
}
public function get pixelUrls():Array
{ //MethodID:1471, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.pixels.concat();
}
public function get clickUrls():Array
{ //MethodID:1472, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.clicks.concat();
}
public function get isLoaded():Boolean
{ //MethodID:1473, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28
return ((this._bannerType != BANNER_NONE) && (this.bannerUrl.length > 0));
}
public function reset():void
{ //MethodID:1474, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 112
this._bannerType = BANNER_NONE;
this.bannerUrl = "";
var hug1:int = 0;
while(hug1 < classVariables.length){
this[classVariables[hug1]] = "";
hug1++;
}
this.specialFormat = AdriverSpecialFormats.ASF_NONE;
this.toggleInteractive = false;
this.toggleLinkButton = true;
this.duration = 3;
do{
}while(this.pixels.pop() != null);
do{
}while(this.clicks.pop() != null);
}
public function parse(hug1:XML):void
{ //MethodID:1475, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 630
var hug6:Number = NaN;
this.reset();
var hug2:String = "";
var hug3:int = 0;
hug3 = 0;
while(hug3 < classVariables.length){
if(hug1.hasOwnProperty(classVariables[hug3])){
hug2 = hug1[classVariables[hug3]];
if(this[classVariables[hug3]] is Boolean){
this[classVariables[hug3]] = (((hug2 != null) && ((hug2 == "1") || (hug2.toLowerCase() == "true"))) ? true : false);
}else if(this[classVariables[hug3]] is Number){
hug6 = Number(hug2);
if(!isNaN(hug6)) this[classVariables[hug3]] = hug6;
}else{
this[classVariables[hug3]] = hug2;
}
}
hug3++;
}
hug2 = hug1.isInteractiveBanner.toString();
hug2 = hug2.toLowerCase();
this.toggleInteractive = (hug2 == "true");
hug2 = hug1.showClickButton.toString();
hug2 = hug2.toLowerCase();
this.toggleLinkButton = (hug2 == "true");
var hug4:XMLList = null;
if(hug1.hasOwnProperty("content_flv")){
this._bannerType = BANNER_FLV;
hug4 = hug1.child("content_flv");
}else if(hug1.hasOwnProperty("content_swf")){
this._bannerType = BANNER_SWF;
hug4 = hug1.child("content_swf");
}else if(hug1.hasOwnProperty("content_image")){
this._bannerType = BANNER_IMG;
hug4 = hug1.child("content_image");
}
if(this._bannerType != BANNER_NONE){
this.bannerUrl = hug4["localUrl"].toString();
if(this.bannerUrl.length < 2) this.bannerUrl = hug4["locationUrl"].toString();
}
hug4 = hug1.child("pixelCounter").children();
var hug5:String = "";
hug3 = 0;
while(hug3 < hug4.length()){
hug5 = hug4[hug3].toString().replace(new RegExp(" ", "gi"), "");
if(hug5.length > 5) this.pixels.push(hug5);
hug3++;
}
if(hug1.hasOwnProperty("overlay")){
if(this._twinOverlay != null){
this._twinOverlay.reset();
this._twinOverlay = null;
}
this._twinOverlay = new AdvertisementTwinOverlayXml();
this._twinOverlay.parse(hug1["overlay"][0]);
}
this.hideCloseButton = false;
this.hideBackgroundPanel = false;
this.windowMode = false;
if(this.isLoaded && (this.specialFormat == AdriverSpecialFormats.ASF_NONE)) this.specialFormat = AdriverSpecialFormats.ASF_MAIN;
}
}
}
//¡script162¡
package ru.rutube.event{
import flash.events.Event
//¡class(instance)_index:162
public class ControlPanelEvent extends Event
{
//static constructor
public static function ControlPanelEvent$cinit()
{ //MethodID:1477, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 219
EVENT_PLAY = "play";
EVENT_PAUSE = "pause";
EVENT_PAUSE_WITHOUT_ADVERT = "pause.without.advert";
EVENT_STOP = "stop";
EVENT_VOLUME = "volume";
EVENT_CHANGE_VOLUME = "eventChangeVolume";
EVENT_MUTE = "eventMute";
EVENT_TIMER_RELEASE = "timerRelease";
EVENT_THUMB_PRESS = "thumbPress";
EVENT_THUMB_DRAG = "thumbDrag";
EVENT_THUMB_RELEASE = "thumbRelease";
EVENT_THUMB_OVER = "thumbOver";
EVENT_THUMB_OUT = "thumbOut";
EVENT_TRACK_PRESS = "trackPress";
EVENT_MARK_OVER = "markOver";
EVENT_MARK_CHANGE = "markChange";
EVENT_MARK_SHOW_ADD = "markShowAdd";
EVENT_MARK_ADD = "addMark";
EVENT_MARK_EDIT = "markEdit";
EVENT_MARK_SHOW_DESC = "markShowDesc";
EVENT_CLIPBOARD_CODE_MARK = "clipboardCodeMark";
EVENT_VIDEO_TITLE_CLICKED = "eventVideoTitleClicked";
EVENT_SHOW_ABOUT_WINDOW = "EVENT_SHOW_ABOUT_WINDOW";
EVENT_COPY_DEBUG_INFO = "EVENT_COPY_DEBUG_INFO";
}
//static variables/etc.
public static const EVENT_PLAY:String = "play"; //slotID:1
public static const EVENT_PAUSE:String = "pause"; //slotID:2
public static const EVENT_PAUSE_WITHOUT_ADVERT:String = "pause.without.advert";//slotID:3
public static const EVENT_STOP:String = "stop"; //slotID:4
public static const EVENT_VOLUME:String = "volume"; //slotID:5
public static const EVENT_CHANGE_VOLUME:String = "eventChangeVolume";//slotID:6
public static const EVENT_MUTE:String = "eventMute"; //slotID:7
public static const EVENT_TIMER_RELEASE:String = "timerRelease";//slotID:8
public static const EVENT_THUMB_PRESS:String = "thumbPress"; //slotID:9
public static const EVENT_THUMB_DRAG:String = "thumbDrag"; //slotID:10
public static const EVENT_THUMB_RELEASE:String = "thumbRelease";//slotID:11
public static const EVENT_THUMB_OVER:String = "thumbOver"; //slotID:12
public static const EVENT_THUMB_OUT:String = "thumbOut"; //slotID:13
public static const EVENT_TRACK_PRESS:String = "trackPress"; //slotID:14
public static const EVENT_MARK_OVER:String = "markOver"; //slotID:15
public static const EVENT_MARK_CHANGE:String = "markChange"; //slotID:16
public static const EVENT_MARK_SHOW_ADD:String = "markShowAdd"; //slotID:17
public static const EVENT_MARK_ADD:String = "addMark"; //slotID:18
public static const EVENT_MARK_EDIT:String = "markEdit"; //slotID:19
public static const EVENT_MARK_SHOW_DESC:String = "markShowDesc";//slotID:20
public static const EVENT_CLIPBOARD_CODE_MARK:String = "clipboardCodeMark";//slotID:21
public static const EVENT_VIDEO_TITLE_CLICKED:String = "eventVideoTitleClicked";//slotID:22
public static const EVENT_SHOW_ABOUT_WINDOW:String = "EVENT_SHOW_ABOUT_WINDOW";//slotID:23
public static const EVENT_COPY_DEBUG_INFO:String = "EVENT_COPY_DEBUG_INFO";//slotID:24
//constructor
public function ControlPanelEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false)
{ //MethodID:1478, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9
super(hug1, hug2, hug3);
}
}
}
//¡script163¡
package ru.rutube.managers.statistic.player{
import flash.utils.getTimer
//¡class(instance)_index:163
public class StatisticAdvertisementLoading extends Object
{
//static constructor
public static function StatisticAdvertisementLoading$cinit()
{ //MethodID:1480, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function StatisticAdvertisementLoading()
{ //MethodID:1481, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
private var finishTime:Number = 0.0; //slotID:0
public var fileName:String = ""; //slotID:0
private var startTime:Number = 0.0; //slotID:0
public var totalBytes:Number = 0.0; //slotID:0
public function reset():void
{ //MethodID:1482, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 33
this.startTime = this.finishTime = this.totalBytes = 0;
this.fileName = "";
}
public function startLoad():void
{ //MethodID:1483, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14
this.startTime = getTimer();
}
public function finishLoad():void
{ //MethodID:1484, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14
this.finishTime = getTimer();
}
public function toString():String
{ //MethodID:1485, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 48
var hug1:String = "";
hug1 = (("F:" + this.fileName + "SZ:" + this.totalBytes + "LT:") + ((this.finishTime - this.startTime) / 1000).toString());
return hug1;
}
}
}
//¡script164¡
package ru.rutube.managers.statistic.player{
//¡class(instance)_index:164
public class StatisticLoadingPlayer extends Object
{
//static constructor
public static function StatisticLoadingPlayer$cinit()
{ //MethodID:1487, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function StatisticLoadingPlayer()
{ //MethodID:1488, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public var flashVariables:String = ""; //slotID:0
public var startLoadingPlayerTime:Number = 0.0; //slotID:0
public var startLoadingXmlTime:Number = 0.0; //slotID:0
public var metaInfo:String = ""; //slotID:0
public var finishLoadingPlayerTime:Number = 0.0; //slotID:0
public var balancerUrl:String = ""; //slotID:0
public var finishLoadingXmlTime:Number = 0.0; //slotID:0
public function reset():void
{ //MethodID:1489, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 60
this.startLoadingPlayerTime = this.finishLoadingPlayerTime = this.startLoadingXmlTime = this.finishLoadingXmlTime = 0;
this.flashVariables = this.metaInfo = this.balancerUrl = "";
}
public function toString():String
{ //MethodID:1490, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 89
var hug1:String = "";
hug1 = (("LT:" + int((this.finishLoadingPlayerTime - this.startLoadingPlayerTime) / 1000).toString() + "LXT:") + int((this.finishLoadingXmlTime - this.startLoadingXmlTime) / 1000).toString() + "BL:" + this.balancerUrl + "MI:" + this.metaInfo + "FV:" + this.flashVariables);
return hug1;
}
}
}
//¡script165¡
package ru.rutube.managers.configuration.data{
import ru.rutube.managers.configuration.ConfigurationManager
//¡class(instance)_index:165
public final class FlashVariablesConfig extends Object
{
//static constructor
public static function FlashVariablesConfig$cinit()
{ //MethodID:1492, LocalCount= 1 , MaxScope= 1, MaxStack= 31, CodeLength= 199
classVariables = ["toggleShowBookmarkWindow", "toggleInnerEmbedFlash", "useApi", "repeat", "autoload", "bookMarkTitle", "bufferMain", "bufferReserve", "urlContent", "urlMetaInfoXml", "variables", "referrer", "bookMarkStartTime", "bookMarkFinishTime", "userId", "rotationAngle", "playListEnable", "playListStartId", "playListSelfPlay", "retryTimeout", "retryCount", "toggleShowLogo", "toggleAutoPlayVideo", "toggleDebugInfo", "toggleManualBuffer", "toggleWithoutVideo", "toggleNewWindow", "fsb", "pageId", "hideFullScreen"];
htmlVariables = ["shBWnd", "inEmbedFl", "api", "repeat", "autoload", "bmtitle", "buffer_first", "buffer", "file", "xurl", "xvars", "referer", "bmstart", "bmstop", "uid", "rAngle", "enablePL", "plStartId", "plSelfPlay", "retryTime", "retryCount", "logo", "autoStart", "trace", "handBuffer", "a_only", "newWnd", "fsb", "pageId", "hfull"];
}
//static variables/etc.
private static const classVariables:Array; //slotID:1
private static const htmlVariables:Array; //slotID:2
//constructor
public function FlashVariablesConfig()
{ //MethodID:1493, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 94
this.bufferMain = (ConfigurationManager.DEBUG_MODE ? 5 : 0.5);
this.bufferReserve = (ConfigurationManager.DEBUG_MODE ? 2.5 : 2.5);
super();
if(!ConfigurationManager.DEBUG_MODE) return;
var hug1:Object = {};
hug1.file = "http://bl.rutube.ru/6c1d4d9ba5d8a981e33e2a698dbece3a.iflv";
hug1.xurl = "http://rutube.ru/trackinfo/6c1d4d9ba5d8a981e33e2a698dbece3a.html";
hug1.referer = "http://rutube.ru/tracks/3975243.html?v=486e45b736a035566ade2cfa416e267e";
this.parseVariables(hug1);
}
//variables/etc.
public var toggleWithoutVideo:Boolean = false; //slotID:0
public var pageId:String = null; //slotID:0
public var urlContent:String = ""; //slotID:0
public var useApi:Boolean = false; //slotID:0
public var playListEnable:Boolean = false; //slotID:0
public var toggleShowBookmarkWindow:Boolean = true; //slotID:0
public var bookMarkStartTime:Number = 0.0; //slotID:0
public var toggleManualBuffer:Boolean = false; //slotID:0
public var autoload:Boolean = false; //slotID:0
public var referrer:String = ""; //slotID:0
public var bufferMain:Number; //slotID:0
public var bookMarkTitle:String = ""; //slotID:0
public var retryTimeout:Number = 2000.0; //slotID:0
public var toggleDebugInfo:Boolean = false; //slotID:0
public var playListSelfPlay:Boolean = true; //slotID:0
public var repeat:String = ""; //slotID:0
public var fsb:Boolean = true; //slotID:0
public var toggleInnerEmbedFlash:Boolean = false; //slotID:0
public var toggleNewWindow:Boolean = true; //slotID:0
public var hideFullScreen:Boolean = false; //slotID:0
public var toggleShowLogo:Boolean = true; //slotID:0
public var userId:String = 0; //slotID:0
public var retryCount:Number = 5.0; //slotID:0
public var playListStartId:Number = 0.0; //slotID:0
public var toggleAutoPlayVideo:Boolean = false; //slotID:0
public var urlMetaInfoXml:String = ""; //slotID:0
public var bufferReserve:Number; //slotID:0
public var loaderUrl:String = ""; //slotID:0
public var rotationAngle:Number = 0.0; //slotID:0
public var bookMarkFinishTime:Number = 0.0; //slotID:0
public var variables:String = ""; //slotID:0
public function getHash():String
{ //MethodID:1494, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 45
var hug1:String = this.urlContent.substr(this.urlContent.lastIndexOf("/") + 1);
hug1 = hug1.substr(0, hug1.indexOf("."));
return hug1;
}
public function parseVariables(hug1:Object):void
{ //MethodID:1495, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 441
var hug4:Number = NaN;
var hug5:String = null;
var hug2:String = "";
if(hug1 == null) return;
var hug3:int = 0;
while(hug3 < classVariables.length){
if(hug1.hasOwnProperty(htmlVariables[hug3])){
hug2 = hug1[htmlVariables[hug3]];
if(this[classVariables[hug3]] is Boolean){
this[classVariables[hug3]] = (((hug2 != null) && ((hug2 == "1") || (hug2.toLowerCase() == "true"))) ? true : false);
}else if(this[classVariables[hug3]] is Number){
hug4 = Number(hug2);
if(!isNaN(hug4)) this[classVariables[hug3]] = hug4;
}else{
this[classVariables[hug3]] = hug2;
}
}
hug3++;
}
if(this.referrer != null) this.referrer = unescape(this.referrer);
if(hug1.hasOwnProperty("bmstart")){
if(this.bookMarkStartTime > 0) this.bookMarkStartTime /= 1000;
}
if(hug1.hasOwnProperty("bmstop")){
if(this.bookMarkFinishTime > 0) this.bookMarkFinishTime /= 1000;
}
if((this.urlMetaInfoXml == null) || (this.urlMetaInfoXml == "")){
if((this.urlContent != null) && (this.urlContent.length > 0)){
hug5 = this.urlContent.substr(this.urlContent.lastIndexOf("/") + 1);
hug5 = hug5.substr(0, hug5.indexOf("."));
this.toggleShowLogo = true;
this.urlMetaInfoXml = ("http://rutube.ru/trackinfo/" + hug5 + ".html");
}
}
if(this.urlContent.indexOf("ezn-dev") > 0) this.parseDeveloperUrls();
}
public function get isEmbedMode():Boolean
{ //MethodID:1496, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 37
return ((this.referrer == null) || (this.referrer.search(new RegExp("rutube\.ru", "i")) == (-1)));
}
public function toString():String
{ //MethodID:1497, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 59
var hug1:String = "";
var hug2:int = 0;
while(hug2 < classVariables.length){
hug1 += ((htmlVariables[hug2] + ":") + this[classVariables[hug2]] + "; ");
hug2++;
}
return hug1;
}
private function parseDeveloperUrls():void
{ //MethodID:1498, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 57
var hug1:String = this.urlContent.substr(this.urlContent.lastIndexOf("/") + 1);
hug1 = hug1.substr(0, hug1.indexOf("."));
this.urlContent = ("http://bl.rutube.ru/" + hug1 + ".iflv");
}
}
}
//¡script166¡
//skip components :com.google.analytics.core
//as filename :TrackerMode.as
//¡script167¡
//skip components :com.google.analytics.v4
//as filename :GoogleAnalyticsAPI.as
//¡script168¡
//skip components :com.google.analytics
//as filename :AnalyticsTracker.as
//¡script169¡
package ru.rutube.event{
import flash.events.Event
//¡class(instance)_index:169
public class GoogleEvent extends Event
{
//static constructor
public static function GoogleEvent$cinit()
{ //MethodID:1566, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
GOOGLE_ANALYTICS_NONE = "GOOGLE_ANALYTICS_NONE";
GOOGLE_ANALYTICS_TRACK = "GOOGLE_ANALYTICS_TRACK";
}
//static variables/etc.
public static const GOOGLE_ANALYTICS_NONE:String = "GOOGLE_ANALYTICS_NONE";//slotID:1
public static const GOOGLE_ANALYTICS_TRACK:String = "GOOGLE_ANALYTICS_TRACK";//slotID:2
//constructor
public function GoogleEvent(hug1:String, hug2:String, hug3:String, hug4:String=null, hug5:Number=Number.NaN)
{ //MethodID:1567, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 29
super(hug1);
this._category = hug2;
this._action = hug3;
this._label = hug4;
this._value = hug5;
}
//variables/etc.
protected var _value:Number = Number.NaN; //slotID:0
protected var _action:String = ""; //slotID:0
protected var _label:String = ""; //slotID:0
protected var _category:String = ""; //slotID:0
override public function clone():Event
{ //MethodID:1568, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 27
return new GoogleEvent(type, this.category, this.action, this.label, this.value);
}
public function get category():String
{ //MethodID:1569, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
if(this._category != null) return this._category.concat();
return "none";
}
public function get action():String
{ //MethodID:1570, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
if(this._action != null) return this._action.concat();
return "none";
}
public function get label():String
{ //MethodID:1571, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(this._label != null) return this._label.concat();
return null;
}
public function get value():Number
{ //MethodID:1572, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._value;
}
}
}
//¡script170¡
//skip components :com.google.analytics
//as filename :GATracker.as
//¡script171¡
package ru.rutube.states{
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.InternalEvent
//¡class(instance)_index:171
public interface IPlayerState
{
//static constructor
public static function IPlayerState$cinit()
{ //MethodID:1643, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
}
//variables/etc.
function create():void; //MethodID:1644, dispID:0
function destroy():void; //MethodID:1645, dispID:0
function prepareView():void; //MethodID:1646, dispID:0
function releaseView():void; //MethodID:1647, dispID:0
function service():void; //MethodID:1648, dispID:0
function externalFunctionCall(hug1:int=0, ...rest):void; //MethodID:1649, dispID:0
function getCurrentStateId():int; //MethodID:1650, dispID:0
function handleVideoStreamEvent():Boolean; //MethodID:1651, dispID:0
function handleInternalEvent(hug1:InternalEvent):Boolean; //MethodID:1652, dispID:0
function handleInternalButtonEvent(hug1:InternalEvent):Boolean; //MethodID:1653, dispID:0
function handleInternalCommandEvent(hug1:InternalEvent):Boolean; //MethodID:1654, dispID:0
function handleInternalProgressEvent(hug1:InternalEvent):Boolean; //MethodID:1655, dispID:0
function handleInternalCloseEvent(hug1:InternalEvent):Boolean; //MethodID:1656, dispID:0
function handleInternalErrorEvent(hug1:InternalEvent):Boolean; //MethodID:1657, dispID:0
function handleMouseRoll(hug1:Boolean):Boolean; //MethodID:1658, dispID:0
function handleRemoteEvent(hug1:String):Boolean; //MethodID:1659, dispID:0
function handleControlPanelEvent(hug1:ControlPanelEvent):Boolean; //MethodID:1660, dispID:0
//constructor
public function IPlayerState(); //MethodID:1661, dispID:0
}
}
//¡script172¡
package ru.rutube.states{
import Components.Component
import flash.events.Event
import flash.geom.Rectangle
import flash.utils.clearTimeout
import flash.utils.setTimeout
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.EventManager
import ru.rutube.event.InternalEvent
import ru.rutube.event.PlayerStateEvent
import ru.rutube.manager.extern.ExternalFunctId
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.managers.remote.RemoteEvent
import ru.rutube.managers.statistic.tns.TNSStatistic
//¡class(instance)_index:172
public class PlayerState extends Object implements IPlayerState
{
//static constructor
public static function PlayerState$cinit()
{ //MethodID:1663, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 170
STATE_UNDEFINED = "STATE_UNDEFINED";
STATE_NOT_AVALIBLE = "STATE_NOT_AVALIBLE";
STATE_INITIAL = "STATE_INITIAL";
STATE_STARTED = "STATE_STARTED";
STATE_PAUSED = "STATE_PAUSED";
STATE_STOPPED = "STATE_STOPPED";
STATE_PREVIEW = "STATE_PREVIEW";
STATE_POSTVIEW = "STATE_POSTVIEW";
STATE_NONE = -1;
INIT_STATE = 0;
PRELOAD_STATE = 1;
PREPLAY_STATE = 2;
PREPLAY_AD_STATE = 3;
PLAY_STATE = 4;
PAUSE_STATE = 5;
POST_AD_STATE = 6;
END_SCREEN_STATE = 7;
END_SCREEN_RUTUBE_STATE = 8;
END_SCREEN_EXTERNAL_STATE = 9;
controller = null;
}
//static variables/etc.
public static const STATE_UNDEFINED:String = "STATE_UNDEFINED"; //slotID:1
public static const STATE_NOT_AVALIBLE:String = "STATE_NOT_AVALIBLE";//slotID:2
public static const STATE_INITIAL:String = "STATE_INITIAL"; //slotID:3
public static const STATE_STARTED:String = "STATE_STARTED"; //slotID:4
public static const STATE_PAUSED:String = "STATE_PAUSED"; //slotID:5
public static const STATE_STOPPED:String = "STATE_STOPPED"; //slotID:6
public static const STATE_PREVIEW:String = "STATE_PREVIEW"; //slotID:7
public static const STATE_POSTVIEW:String = "STATE_POSTVIEW"; //slotID:8
public static const STATE_NONE:int = -1; //slotID:9
public static const INIT_STATE:int = 0; //slotID:10
public static const PRELOAD_STATE:int = 1; //slotID:11
public static const PREPLAY_STATE:int = 2; //slotID:12
public static const PREPLAY_AD_STATE:int = 3; //slotID:13
public static const PLAY_STATE:int = 4; //slotID:14
public static const PAUSE_STATE:int = 5; //slotID:15
public static const POST_AD_STATE:int = 6; //slotID:16
public static const END_SCREEN_STATE:int = 7; //slotID:17
public static const END_SCREEN_RUTUBE_STATE:int = 8; //slotID:18
public static const END_SCREEN_EXTERNAL_STATE:int = 9; //slotID:19
protected static var controller:Controller = null; //slotID:20
//constructor
public function PlayerState()
{ //MethodID:1664, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15
super();
this.executeQuery = new Array();
}
//variables/etc.
protected var currentQueryState:int = 0; //slotID:0
protected var nextStateId:int = -1; //slotID:0
protected var executeQuery:Array = null; //slotID:0
protected var currentStateId:int = -1; //slotID:0
protected var clearTimeOutId:uint = 0; //slotID:0
protected var queryPoiner:int = 0; //slotID:0
protected function next(hug1:Boolean=false):Boolean
{ //MethodID:1665, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 210
var hug2:QueryElement = null;
if(this.executeQuery.length > this.queryPoiner){
do{
hug2 = this.executeQuery[this.queryPoiner];
if((hug2 != null) || (this.queryPoiner >= this.executeQuery.length)) break;
this.queryPoiner++;
}while(hug2 == null);
if(this.queryPoiner >= this.executeQuery.length){
this.resetQuery();
}else if((hug2 != null) && (hug2.func != null)){
this.queryPoiner++;
this.currentQueryState = hug2.stateAlias;
this.clearTimeOutId = setTimeout(this.executeQueryFunct, 120, hug2);
return true;
}
}else{
this.resetQuery();
}
if(hug1) this.changePlayerStateToNext();
return false;
}
protected function getCurrentStateAlias():int
{ //MethodID:1666, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 39
var hug1:int = 0;
var hug2:QueryElement = null;
hug2 = this.executeQuery[this.queryPoiner];
if(hug2 != null) hug1 = hug2.stateAlias;
return hug1;
}
protected function changePlayerStateToNext():void
{ //MethodID:1667, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
this.changePlayerState(this.nextStateId);
}
protected function executeQueryFunct(... rest):void
{ //MethodID:1668, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 43
if(this.clearTimeOutId > 0) clearTimeout(this.clearTimeOutId);
var hug2:QueryElement = (rest[0] as QueryElement);
hug2.func();
}
protected function changePlayerState(hug1:int):void
{ //MethodID:1669, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 27
var hug2:PlayerStateEvent = new PlayerStateEvent(PlayerStateEvent.CHANGE_PLAYER_STATE, hug1);
EventManager.instance.dispatchEvent(hug2);
}
public function resetQuery():void
{ //MethodID:1670, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 9
this.queryPoiner = 0;
}
public function getCurrentStateId():int
{ //MethodID:1671, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.currentStateId;
}
public function getCurrentQueryId():int
{ //MethodID:1672, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.currentQueryState;
}
public function create():void
{ //MethodID:1673, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function destroy():void
{ //MethodID:1674, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function prepareView():void
{ //MethodID:1675, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function releaseView():void
{ //MethodID:1676, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function externalFunctionCall(hug1:int=0, ...rest):void
{ //MethodID:1677, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 82
var hug3:int = hug1;
switch(hug3){
case ExternalFunctId.FUNCTION_OPEN_CONTENT_PAGE:
if(PlayerState.controller != null) PlayerState.controller.openContentPage();
break;
default:
break;
}
}
public function service():void
{ //MethodID:1678, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18
trace("DEFAULT VALUE");
this.next();
}
public function handleVideoStreamEvent():Boolean
{ //MethodID:1679, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function handleControlPanelEvent(hug1:ControlPanelEvent):Boolean
{ //MethodID:1680, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function handleMouseRoll(hug1:Boolean):Boolean
{ //MethodID:1681, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function handleInternalErrorEvent(hug1:InternalEvent):Boolean
{ //MethodID:1682, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function handleInternalCloseEvent(hug1:InternalEvent):Boolean
{ //MethodID:1683, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1684, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function handleInternalButtonEvent(hug1:InternalEvent):Boolean
{ //MethodID:1685, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function handleInternalCommandEvent(hug1:InternalEvent):Boolean
{ //MethodID:1686, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function handleInternalProgressEvent(hug1:InternalEvent):Boolean
{ //MethodID:1687, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function handleRemoteEvent(hug1:String):Boolean
{ //MethodID:1688, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 377
if(!PlayerState.controller) return false;
trace("handleRemoteEvent(" + hug1 + ")");
var hug2:String = hug1;
switch(hug2){
case RemoteEvent.EVENT_EXT_PAUSE:
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT));
break;
case RemoteEvent.EVENT_EXT_PLAY:
case RemoteEvent.EVENT_EXT_START:
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PLAY));
break;
case RemoteEvent.EVENT_EXT_STOP:
if(controller != null){
if(controller.currentPlayerState == PlayerState.STATE_STOPPED) return true;
}
controller.externalStop = true;
TNSStatistic.instance.setReportFinished(StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM).hash);
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_STOP));
break;
case RemoteEvent.EVENT_EXT_HIDE_PANELS:
EventManager.instance.dispatchEvent(new Event(Event.MOUSE_LEAVE));
break;
case RemoteEvent.EVENT_EXT_HIDE_TOP_PANEL:
break;
case RemoteEvent.EVENT_EXT_RESIZE:
this.handleRemoteResize();
break;
default:
return false;
break;
}
return true;
}
private function handleRemoteResize():Boolean
{ //MethodID:1689, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 66
var hug1:Component = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Component);
var hug2:Rectangle = ContentManager.instance.getContainerRectangle();
hug1.params({w:hug2.width, h:hug2.height});
hug1 = null;
hug2 = null;
return true;
}
}
}
//¡script173¡
package ru.rutube.states{
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
//¡class(instance)_index:173
public class PrePlayAdvertisementState extends PlayerState implements IPlayerState
{
//static constructor
public static function PrePlayAdvertisementState$cinit()
{ //MethodID:1691, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PrePlayAdvertisementState()
{ //MethodID:1692, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
super();
nextStateId = PlayerState.PLAY_STATE;
currentStateId = PlayerState.PREPLAY_AD_STATE;
}
//variables/etc.
override public function create():void
{ //MethodID:1693, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function destroy():void
{ //MethodID:1694, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function prepareView():void
{ //MethodID:1695, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function releaseView():void
{ //MethodID:1696, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function handleMouseRoll(hug1:Boolean):Boolean
{ //MethodID:1697, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function service():void
{ //MethodID:1698, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function handleVideoStreamEvent():Boolean
{ //MethodID:1699, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
override public function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1700, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean
{ //MethodID:1701, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 78
switch(hug1.sourceId){
case EventSources.SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON:
changePlayerStateToNext();
break;
default:
super.handleInternalButtonEvent(hug1);
break;
}
return true;
}
}
}
//¡script174¡
package ru.rutube.states{
import ru.rutube.event.InternalEvent
//¡class(instance)_index:174
public class PlayPlayerState extends PlayerState implements IPlayerState
{
//static constructor
public static function PlayPlayerState$cinit()
{ //MethodID:1703, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PlayPlayerState()
{ //MethodID:1704, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
super();
nextStateId = PlayerState.POST_AD_STATE;
currentStateId = PlayerState.PLAY_STATE;
}
//variables/etc.
override public function create():void
{ //MethodID:1705, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function destroy():void
{ //MethodID:1706, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function prepareView():void
{ //MethodID:1707, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function releaseView():void
{ //MethodID:1708, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function service():void
{ //MethodID:1709, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function handleVideoStreamEvent():Boolean
{ //MethodID:1710, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
override public function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1711, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9
return super.handleInternalEvent(hug1);
}
override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean
{ //MethodID:1712, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean
{ //MethodID:1713, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
}
}
//¡script175¡
package ru.rutube.states{
import Components.LockPanel
import Components.Player
import flash.display.Sprite
import flash.events.ContextMenuEvent
import flash.events.Event
import flash.geom.Rectangle
import flash.ui.ContextMenu
import flash.ui.ContextMenuItem
import ru.rutube.event.ConfigurationMetaInfoEvent
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.EventManager
import ru.rutube.event.EventSources
import ru.rutube.event.GoogleEvent
import ru.rutube.event.InternalEvent
import ru.rutube.event.RestartEvent
import ru.rutube.manager.extern.ExternalNotifier
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.SkinLoaderManager
import ru.rutube.managers.configuration.data.FlashVariablesConfig
import ru.rutube.managers.configuration.data.PlayerConfig
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.reporter.Reporter
import ru.rutube.managers.statistic.google.GoogleAnalyticsConstants
import ru.rutube.managers.statistic.player.PlayerStatistic
import ru.rutube.ui.managers.LiveStateManager
//¡class(instance)_index:175
public class PreloadPlayerState extends PlayerState implements IPlayerState
{
//static constructor
public static function PreloadPlayerState$cinit()
{ //MethodID:1715, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35
QUERY_CONFIG_LOAD = 1;
QUERY_SKIN_LOAD = 2;
QUERY_META_LOAD = 4;
QUERY_USER_LOAD = 8;
}
//static variables/etc.
public static const QUERY_CONFIG_LOAD:int = 1; //slotID:1
public static const QUERY_SKIN_LOAD:int = 2; //slotID:2
public static const QUERY_META_LOAD:int = 4; //slotID:3
public static const QUERY_USER_LOAD:int = 8; //slotID:4
//constructor
public function PreloadPlayerState()
{ //MethodID:1716, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
super();
nextStateId = PlayerState.PREPLAY_STATE;
currentStateId = PlayerState.PRELOAD_STATE;
}
//variables/etc.
private var alreadyLocked:Boolean = false; //slotID:0
private var totalStateExecution:uint = 0; //slotID:0
private const TOTAL_EXECUTION:uint = 15; //slotID:0
private function queryLoadConfig():void
{ //MethodID:1717, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 12
ConfigurationManager.instance.loadPlayerConfig();
}
private function queryLoadExternalSkin():void
{ //MethodID:1718, LocalCount= 5 , MaxScope= 1, MaxStack= 11, CodeLength= 764
trace("queryLoadExternalSkin");
var hug1:PlayerConfig = ConfigurationManager.instance.playerConfig;
var hug2:Boolean = false;
var hug3:LockPanel = null;
var hug4:Rectangle = null;
if(ConfigurationManager.instance.flashVariablesConfig.isEmbedMode) hug2 = !hug1.isEmbededContentAllowed();
if(!ConfigurationManager.instance.flashVariablesConfig.toggleInnerEmbedFlash){
if(!hug1.isContentAllowed() && (hug1.blockReason.toLowerCase() == "unauthenticated")){
hug3 = new LockPanel((("„^„„„€„„ „‚„€„|„y„{ „t„€„ƒ„„„…„„u„~ „„„€„|„„{„€ „x„p„‚„u„s„y„ƒ„„„‚„y„‚„€„r„p„~„~„„} „„€„|„„x„€„r„p„„„u„|„‘„} RuTube.\n„P„€„w„p„|„…„z„ƒ„„„p, „p„r„„„€„‚„y„x„…„z„„„u„ƒ„, „|„y„q„€ „x„p„‚„u„s„y„ƒ„„„‚„y„‚„…„z„„„u„ƒ„."), true);
Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_HIDED);
}else if(!hug1.isContentAllowed() && (hug1.blockReason.toLowerCase() == "domain")){
hug3 = new LockPanel("„^„„„€„„ „‚„€„|„y„{ „t„€„ƒ„„„…„„u„~ „„„€„|„„{„€ „~„p „ƒ„p„z„„„u Rutube.ru.", true);
Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_DOMAIN_RESTRICTED);
}else if(!hug1.isContentAllowed() && (hug1.blockReason.toLowerCase() == "unavailable")){
hug3 = new LockPanel("„^„„„€„„ „‚„€„|„y„{ „r„‚„u„}„u„~„~„€ „~„u„t„€„ƒ„„„…„„u„~.\n„P„€„ƒ„}„€„„„‚„y„„„u „t„‚„…„s„y„u „‚„€„|„y„{„y „~„p „ƒ„p„z„„„u Rutube.ru.", true);
Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_UNAVALIBLE);
}else if(!hug1.isContentAllowed() || (hug1.blockReason.toLowerCase() == "invalid track id")){
hug3 = new LockPanel("„^„„„€„„ „‚„€„|„y„{ „…„t„p„|„u„~.\n„P„€„ƒ„}„€„„„‚„y„„„u „t„‚„…„s„y„u „‚„€„|„y„{„y „~„p „ƒ„p„z„„„u Rutube.ru.", true);
Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_DELETED);
}else if(!hug1.isContentAllowed() || hug2){
if(hug2){
hug3 = new LockPanel("„D„€„ƒ„„„…„ „{ „x„p„„‚„€„Š„u„~„~„€„}„… „r„y„t„u„€-„{„€„~„„„u„~„„„… „‚„p„x„‚„u„Š„u„~ „„„€„|„„{„€ „~„p „ƒ„p„z„„„u rutube.ru");
}else{
hug3 = new LockPanel("„D„€„ƒ„„„…„ „{ „x„p„„‚„€„Š„u„~„~„€„}„… „r„y„t„u„€-„{„€„~„„„u„~„„„… „x„p„„‚„u„‹„u„~");
}
Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_DEFAULT);
}
}
if((hug3 != null) && !this.alreadyLocked){
ContentManager.instance.removeAllContent();
ContentManager.instance.removeContentById(ContentIds.CIRCLE_PRELOADER);
ContentManager.instance.setContentById(ContentIds.LOCK_PANEL, hug3);
ContentManager.instance.addContent(ContentIds.LOCK_PANEL);
hug4 = RutubePlayer.instance.getPlayerRectangle();
hug3.params({w:hug4.width, h:hug4.height, right:true, bottom:true, stage:true});
this.alreadyLocked = true;
}else if((hug1.skinUrl != null) && (hug1.skinUrl.length > 3) && !ConfigurationManager.instance.flashVariablesConfig.toggleInnerEmbedFlash){
if(SkinLoaderManager.instance.loadSkin(hug1.skinUrl)) return;
}
this.totalStateExecution |= QUERY_SKIN_LOAD;
}
private function queryLoadMetaInfo(hug1:String=null):void
{ //MethodID:1719, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 56
var hug2:FlashVariablesConfig = ConfigurationManager.instance.flashVariablesConfig;
ConfigurationManager.instance.loadMetaInfo(((hug1 != null) ? hug1 : hug2.urlMetaInfoXml), ((hug1 != null) ? false : hug2.playListEnable));
}
private function queryLoadUserInfo():void
{ //MethodID:1720, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 12
ConfigurationManager.instance.loadUserInfo();
}
override public function service():void
{ //MethodID:1721, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 103
EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_LOAD));
EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_LOADING_TIME, PlayerStatistic.instance.playerLoadingTime.toString()));
this.totalStateExecution = 0;
this.alreadyLocked = false;
this.queryLoadConfig();
this.queryLoadUserInfo();
this.queryLoadMetaInfo();
}
override public function prepareView():void
{ //MethodID:1722, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 48
EventManager.instance.addEventListener(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE, this.listenerMetaInfoLoaded, false, 0, true);
EventManager.instance.addEventListener(RestartEvent.RESTART, this.onRestart, false, 0, true);
}
override public function releaseView():void
{ //MethodID:1725, LocalCount= 2 , MaxScope= 2, MaxStack= 11, CodeLength= 407
internal var player:Player; //slotID:1
internal var rect:Rectangle; //slotID:2
internal var rutubePlayer:Sprite; //slotID:3
internal var item:ContextMenuItem; //slotID:4
player = null;
PlayerStatistic.instance.finishLoadingXML();
EventManager.instance.removeEventListener(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE, this.listenerMetaInfoLoaded, false);
EventManager.instance.removeEventListener(RestartEvent.RESTART, this.onRestart, false);
ContentManager.instance.removeContent(ContentIds.CIRCLE_PRELOADER);
ContentManager.instance.removeAllContent();
LiveStateManager.instance;
player = new Player();
player.visible = false;
ContentManager.instance.setContentById(ContentIds.PLAYER, player);
ContentManager.instance.addContent(ContentIds.PLAYER);
rect = ContentManager.instance.getContainerRectangle();
player.params({w:rect.width, h:rect.height, right:true, bottom:true, stage:true});
ExternalNotifier.instance.dispatcher = ContentManager.instance.getContainer().loaderInfo.sharedEvents;
PlayerState.controller = Controller.instance;
PlayerState.controller.init();
rutubePlayer = RutubePlayer.instance;
item = null;
rutubePlayer.contextMenu = new ContextMenu();
item = new ContextMenuItem("„O „„|„u„u„‚„u");
rutubePlayer.contextMenu.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function(hug1:Event):void{ //MethodID:1723, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 20
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_SHOW_ABOUT_WINDOW));
});
item = null;
item = new ContextMenuItem("„P„€„w„p„|„€„r„p„„„„ƒ„‘ „‚„p„x„‚„p„q„€„„„‰„y„{„…");
item.enabled = false;
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function(hug1:Event):void{ //MethodID:1724, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 20
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_COPY_DEBUG_INFO));
});
item = null;
rutubePlayer.contextMenu.hideBuiltInItems();
}
override public function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1726, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 191
switch(hug1.sourceId){
case EventSources.SOURCE_MANAGER_SKIN:
this.totalStateExecution |= QUERY_SKIN_LOAD;
break;
case EventSources.SOURCE_MANAGER_CONFIGURATION:
this.totalStateExecution |= QUERY_CONFIG_LOAD;
this.processConfigManager(hug1);
if(!this.alreadyLocked){
this.queryLoadExternalSkin();
}else{
this.totalStateExecution |= QUERY_SKIN_LOAD;
}
break;
case EventSources.SOURCE_MANAGER_CONFIGURATION_USER_INFO:
this.totalStateExecution |= QUERY_USER_LOAD;
break;
default:
break;
}
this.checkFinishParallelLoading();
return true;
}
private function onRestart(hug1:RestartEvent):void
{ //MethodID:1727, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 48
ConfigurationManager.instance.metaInfo.reset();
ConfigurationManager.instance.flashVariablesConfig.parseVariables(hug1.flashVars);
ConfigurationManager.instance.flashVariablesConfig.toggleAutoPlayVideo = true;
this.service();
}
private function checkFinishParallelLoading():void
{ //MethodID:1728, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33
if(this.totalStateExecution != this.TOTAL_EXECUTION) return;
if(this.alreadyLocked) return;
next(true);
}
private function listenerMetaInfoLoaded(hug1:Event):void
{ //MethodID:1729, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 20
this.totalStateExecution |= QUERY_META_LOAD;
this.checkFinishParallelLoading();
}
private function processConfigManager(hug1:InternalEvent):Boolean
{ //MethodID:1730, LocalCount= 6 , MaxScope= 1, MaxStack= 11, CodeLength= 614
var hug2:LockPanel = null;
var hug3:Rectangle = null;
var hug4:PlayerConfig = null;
switch(hug1.type){
case InternalEvent.PROGRESS:
break;
case InternalEvent.COMPLETE:
trace("COMPLETE");
hug2 = null;
hug3 = null;
switch(getCurrentQueryId()){
case QUERY_CONFIG_LOAD:
if(ConfigurationManager.instance.flashVariablesConfig.toggleInnerEmbedFlash) return true;
hug4 = ConfigurationManager.instance.playerConfig;
new LockPanel((("„^„„„€„„ „‚„€„|„y„{ „t„€„ƒ„„„…„„u„~ „„„€„|„„{„€ „x„p„‚„u„s„y„ƒ„„„‚„y„‚„€„r„p„~„~„„} „„€„|„„x„€„r„p„„„u„|„‘„} RuTube.\n„P„€„w„p„|„…„z„ƒ„„„p, „p„r„„„€„‚„y„x„…„z„„„u„ƒ„, „|„y„q„€ „x„p„‚„u„s„y„ƒ„„„‚„y„‚„…„z„„„u„ƒ„."), true);
new LockPanel("„^„„„€„„ „‚„€„|„y„{ „t„€„ƒ„„„…„„u„~ „„„€„|„„{„€ „~„p „ƒ„p„z„„„u Rutube.ru.", true);
new LockPanel("„^„„„€„„ „‚„€„|„y„{ „r„‚„u„}„u„~„~„€ „~„u„t„€„ƒ„„„…„„u„~.\n„P„€„ƒ„}„€„„„‚„y„„„u „t„‚„…„s„y„u „‚„€„|„y„{„y „~„p „ƒ„p„z„„„u Rutube.ru.", true);
return true;
if((hug2 != null) && !this.alreadyLocked){
ContentManager.instance.removeAllContent();
ContentManager.instance.removeContentById(ContentIds.CIRCLE_PRELOADER);
ContentManager.instance.setContentById(ContentIds.LOCK_PANEL, hug2);
ContentManager.instance.addContent(ContentIds.LOCK_PANEL);
hug3 = RutubePlayer.instance.getPlayerRectangle();
RutubePlayer.instance.getPlayerRectangle();
hug2.params({w:hug3.width, h:hug3.height, right:true, bottom:true, stage:true});
this.alreadyLocked = true;
}
break;
default:
break;
}
break;
case InternalEvent.ERROR:
trace("Error while loading! " + hug1.data);
break;
default:
break;
}
return true;
}
}
}
//¡script176¡
package ru.rutube.event{
import flash.events.Event
//¡class(instance)_index:176
public class ChangePlayerStateEvent extends Event
{
//static constructor
public static function ChangePlayerStateEvent$cinit()
{ //MethodID:1732, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
CHANGE_PLAYER_STATE = "CONTROLLLER_CHANGE_PLAYER_STATE";
}
//static variables/etc.
public static const CHANGE_PLAYER_STATE:String = "CONTROLLLER_CHANGE_PLAYER_STATE";//slotID:1
//constructor
public function ChangePlayerStateEvent(hug1:String)
{ //MethodID:1733, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14
super(CHANGE_PLAYER_STATE);
this.state = hug1;
}
//variables/etc.
public var state:String = ""; //slotID:0
override public function clone():Event
{ //MethodID:1734, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
return new ChangePlayerStateEvent(this.state);
}
}
}
//¡script177¡
package ru.rutube.states{
import flash.display.DisplayObject
import flash.display.MovieClip
import flash.events.Event
import flash.events.IOErrorEvent
import flash.geom.Rectangle
import flash.net.URLLoader
import flash.utils.clearTimeout
import flash.utils.setTimeout
import ru.rutube.event.EventManager
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.data.FlashVariablesConfig
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.geo.GeoTargetManager
import ru.rutube.managers.remote.RemotePlayerControl
import ru.rutube.managers.statistic.google.GoogleAnalytics
import ru.rutube.managers.statistic.player.PlayerStatistic
import ru.rutube.ui.components.preloader.MacCirclePreloader
//¡class(instance)_index:177
public class InitPlayerState extends PlayerState implements IPlayerState
{
//static constructor
public static function InitPlayerState$cinit()
{ //MethodID:1736, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
QUERY_SKIN_LOAD = 1;
}
//static variables/etc.
public static const QUERY_SKIN_LOAD:int = 1; //slotID:1
//constructor
public function InitPlayerState()
{ //MethodID:1737, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
super();
nextStateId = PlayerState.PRELOAD_STATE;
currentStateId = PlayerState.INIT_STATE;
}
//variables/etc.
private var zeroInterval:uint = 0; //slotID:0
private var zeroIntervalAttempts:uint = 1; //slotID:0
override public function prepareView():void
{ //MethodID:1738, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 59
var hug1:MovieClip = new MacCirclePreloader(12, 10);
ContentManager.instance.setContentById(ContentIds.CIRCLE_PRELOADER, hug1);
this.handleInternalEvent(new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, Event.RESIZE));
}
override public function releaseView():void
{ //MethodID:1739, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
this.releaseInterval();
}
override public function service():void
{ //MethodID:1740, LocalCount= 3 , MaxScope= 5, MaxStack= 4, CodeLength= 215
internal var flashVarsConfig:FlashVariablesConfig; //slotID:1
PlayerState.controller = null;
PlayerStatistic.instance.startLoadingXML();
trace("SERVICE");
ConfigurationManager.instance.flashVariablesConfig.parseVariables(RutubePlayer.instance.loaderInfo.parameters);
GoogleAnalytics.instance.init(ConfigurationManager.instance.flashVariablesConfig.isEmbedMode);
try{
ConfigurationManager.instance.flashVariablesConfig.loaderUrl = RutubePlayer.instance.loaderInfo.url;
}
catch(err:Error){
}
ConfigurationManager.instance.fileList.setFilesList(ConfigurationManager.instance.flashVariablesConfig.urlContent);
EventManager.instance.addStageListeners();
flashVarsConfig = ConfigurationManager.instance.flashVariablesConfig;
if(flashVarsConfig.referrer.indexOf("rutube.ru")) RemotePlayerControl.instance(RemotePlayerControl.LC_MAIN_PLAYER, EventManager.instance, flashVarsConfig.pageId);
GeoTargetManager.instance.requestGeoPosition();
}
override public function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1741, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 345
var hug2:Rectangle = null;
var hug3:DisplayObject = null;
switch(hug1.sourceId){
case EventSources.SOURCE_MANAGER_SKIN:
this.processSkinManager(hug1);
break;
case EventSources.SOURCE_STAGE:
if((hug1.type == InternalEvent.STAGE) && (hug1.eventType == Event.RESIZE)){
hug2 = ContentManager.instance.getContainerRectangle();
hug3 = ContentManager.instance.getContentById(ContentIds.CIRCLE_PRELOADER);
hug3.x = (hug2.width / 2);
hug3.y = (hug2.height / 2);
if(!ContentManager.instance.isAlreadyOnContainer(ContentIds.CIRCLE_PRELOADER)) ContentManager.instance.addContent(ContentIds.CIRCLE_PRELOADER);
this.releaseInterval();
if(((hug2.width == 0) || (hug2.height == 0)) && (this.zeroInterval == 0)) this.zeroInterval = setTimeout(this.repeatStageEvent, (50 * this.zeroIntervalAttempts));
}
break;
case EventSources.SOURCE_MANAGER_GEO:
ConfigurationManager.instance.metaInfo.adSense.setCountry(GeoTargetManager.instance.geoPosition);
next(true);
break;
default:
break;
}
return true;
}
private function releaseInterval():void
{ //MethodID:1742, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
if(this.zeroInterval > 0){
clearTimeout(this.zeroInterval);
this.zeroInterval = 0;
}
}
private function repeatStageEvent():void
{ //MethodID:1743, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 61
this.releaseInterval();
trace("Waiting non zero rectangle");
this.zeroIntervalAttempts++;
this.handleInternalEvent(new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, Event.RESIZE));
}
private function processSkinManager(hug1:InternalEvent):void
{ //MethodID:1744, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 144
switch(hug1.type){
case InternalEvent.PROGRESS:
break;
case InternalEvent.COMPLETE:
trace("COMPLETE");
next(true);
break;
case InternalEvent.ERROR:
trace("Error while loading! " + hug1.data);
break;
default:
break;
}
}
private function listenerGeoLoading(hug1:Event):void
{ //MethodID:1745, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 153
var hug3:String = null;
var hug2:URLLoader = (hug1.target as URLLoader);
hug2.removeEventListener(Event.COMPLETE, this.listenerGeoLoading);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerGeoLoading);
ConfigurationManager.instance.metaInfo.adSense.setCountry("RU");
if(!(hug1 is IOErrorEvent)){
hug3 = hug2.data;
if(hug3 != null){
hug3 = hug3.replace("\n", "");
hug3.replace("\n", "");
hug3 = hug3.replace("\r", "");
hug3.replace("\r", "");
ConfigurationManager.instance.metaInfo.adSense.setCountry(hug3);
}
}
this.releaseInterval();
next(true);
}
}
}
//¡script178¡
package ru.rutube.states{
import flash.events.MouseEvent
import ru.rutube.event.EventManager
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
//¡class(instance)_index:178
public class PreplayPlayerState extends PlayerState implements IPlayerState
{
//static constructor
public static function PreplayPlayerState$cinit()
{ //MethodID:1747, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PreplayPlayerState()
{ //MethodID:1748, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
super();
nextStateId = PlayerState.PREPLAY_AD_STATE;
currentStateId = PlayerState.PREPLAY_STATE;
}
//variables/etc.
override public function prepareView():void
{ //MethodID:1749, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18
ContentManager.instance.removeContentById(ContentIds.CIRCLE_PRELOADER);
}
override public function releaseView():void
{ //MethodID:1750, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean
{ //MethodID:1751, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 99
switch(hug1.sourceId){
case EventSources.SOURCE_GUI_MAIN_PLAY_BUTTON:
case EventSources.SOURCE_GUI_CONTROL_PLAY_BUTTON:
changePlayerStateToNext();
break;
default:
return super.handleInternalButtonEvent(hug1);
break;
}
return true;
}
override public function service():void
{ //MethodID:1752, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function listenerMouseclick(hug1:MouseEvent):void
{ //MethodID:1753, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 32
var hug2:InternalEvent = new InternalEvent(InternalEvent.BUTTON, EventSources.SOURCE_GUI_MAIN_PLAY_BUTTON);
EventManager.instance.dispatchEvent(hug2);
}
}
}
//¡script179¡
package ru.rutube.states{
import ru.rutube.event.InternalEvent
//¡class(instance)_index:179
public class EndRutubePlayerState extends PlayerState implements IPlayerState
{
//static constructor
public static function EndRutubePlayerState$cinit()
{ //MethodID:1755, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function EndRutubePlayerState()
{ //MethodID:1756, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
override public function create():void
{ //MethodID:1757, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function destroy():void
{ //MethodID:1758, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function prepareView():void
{ //MethodID:1759, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function releaseView():void
{ //MethodID:1760, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function service():void
{ //MethodID:1761, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function handleVideoStreamEvent():Boolean
{ //MethodID:1762, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
override public function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1763, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9
return super.handleInternalEvent(hug1);
}
override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean
{ //MethodID:1764, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean
{ //MethodID:1765, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
}
}
//¡script180¡
package ru.rutube.states{
import flash.net.URLRequest
import flash.net.navigateToURL
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
//¡class(instance)_index:180
public class EndExternalPlayerState extends PlayerState implements IPlayerState
{
//static constructor
public static function EndExternalPlayerState$cinit()
{ //MethodID:1767, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function EndExternalPlayerState()
{ //MethodID:1768, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
override public function create():void
{ //MethodID:1769, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function destroy():void
{ //MethodID:1770, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function prepareView():void
{ //MethodID:1771, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function releaseView():void
{ //MethodID:1772, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function service():void
{ //MethodID:1773, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function handleVideoStreamEvent():Boolean
{ //MethodID:1774, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
override public function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1775, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9
return super.handleInternalEvent(hug1);
}
override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean
{ //MethodID:1776, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean
{ //MethodID:1777, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 158
internal var iEvent:InternalEvent; //slotID:1
internal var requestURL:String; //slotID:2
requestURL = null;
iEvent = hug1;
switch(iEvent.sourceId){
case EventSources.SOURCE_GUI_CONTROL_THUMB_MOVIE_BUTTON:
requestURL = (iEvent.data as String);
try{
navigateToURL(new URLRequest(requestURL), "_blank");
}
catch(err:Error){
trace(err);
}
break;
default:
return super.handleInternalCommandEvent(iEvent);
break;
}
return true;
}
}
}
//¡script181¡
package ru.rutube.managers.remote{
import flash.events.AsyncErrorEvent
import flash.events.Event
import flash.events.EventDispatcher
import flash.events.IEventDispatcher
import flash.events.SecurityErrorEvent
import flash.events.StatusEvent
import flash.events.TimerEvent
import flash.external.ExternalInterface
import flash.net.LocalConnection
import flash.utils.Timer
//¡class(instance)_index:181
public class RemotePlayerControl extends EventDispatcher
{
//static constructor
public static function RemotePlayerControl$cinit()
{ //MethodID:1779, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 258
VERSION = "1.0";
DEBUG = true;
EVENT_EXT_START = "startExt";
EVENT_EXT_PLAY = "playExt";
EVENT_EXT_PAUSE = "pauseExt";
EVENT_EXT_STOP = "stopExt";
STATE_REGISTER = "register";
STATE_INIT = "init";
STATE_READY = "ready";
STATE_PLAYING = "playing";
STATE_PAUSED = "paused";
STATE_FINISHED = "finished";
CMD_STOP = "stop";
CMD_PLAY = "play";
CMD_PAUSE = "pause";
LC_DEFAULT_PLAYER = "_player_";
LC_MAIN_PLAYER = "_main_player";
LC_MANAGER = "_rutube_lc_master";
FUNC_JS_GETPAGEID = "getPageId";
FUNC_NOTIFY = "notify";
FUNC_EXECUTE = "execute";
RESPONSE_OK = "OK";
RESPONSE_FAULT = "FAULT";
PAGE_RND_ID = "_id";
CST_MAXERRORCOUNTER = 30;
__instance = null;
imageUrl = "test.jpg";
mediaUrl = "test.flv";
clickUrl = "http://www.rutube.ru";
}
//static variables/etc.
public static const VERSION:String = 1.0; //slotID:1
public static const DEBUG:Boolean = true; //slotID:2
public static const EVENT_EXT_START:String = "startExt"; //slotID:3
public static const EVENT_EXT_PLAY:String = "playExt"; //slotID:4
public static const EVENT_EXT_PAUSE:String = "pauseExt"; //slotID:5
public static const EVENT_EXT_STOP:String = "stopExt"; //slotID:6
public static const STATE_REGISTER:String = "register"; //slotID:7
public static const STATE_INIT:String = "init"; //slotID:8
public static const STATE_READY:String = "ready"; //slotID:9
public static const STATE_PLAYING:String = "playing"; //slotID:10
public static const STATE_PAUSED:String = "paused"; //slotID:11
public static const STATE_FINISHED:String = "finished"; //slotID:12
public static const CMD_STOP:String = "stop"; //slotID:13
public static const CMD_PLAY:String = "play"; //slotID:14
public static const CMD_PAUSE:String = "pause"; //slotID:15
public static const LC_DEFAULT_PLAYER:String = "_player_"; //slotID:16
public static const LC_MAIN_PLAYER:String = "_main_player"; //slotID:17
public static const LC_MANAGER:String = "_rutube_lc_master"; //slotID:18
public static const FUNC_JS_GETPAGEID:String = "getPageId"; //slotID:19
public static const FUNC_NOTIFY:String = "notify"; //slotID:20
public static const FUNC_EXECUTE:String = "execute"; //slotID:21
public static const RESPONSE_OK:String = "OK"; //slotID:22
public static const RESPONSE_FAULT:String = "FAULT"; //slotID:23
public static var PAGE_RND_ID:String = "_id"; //slotID:24
private static const CST_MAXERRORCOUNTER:int = 30; //slotID:25
private static var __instance:RemotePlayerControl = null; //slotID:26
public static var imageUrl:String = "test.jpg"; //slotID:27
public static var mediaUrl:String = "test.flv"; //slotID:28
public static var clickUrl:String = "http://www.rutube.ru"; //slotID:29
public static function instance(hug1:String="_player_", hug2:IEventDispatcher=null, hug3:String=null):RemotePlayerControl
{ //dispID:3, MethodID:1780, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 25
if(!__instance) __instance = new RemotePlayerControl(hug1, hug2, hug3);
return __instance;
}
public static function changeState(hug1:String):void
{ //dispID:4, MethodID:1781, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 15
instance().changeState(hug1);
}
//constructor
public function RemotePlayerControl(hug1:String="_player_", hug2:IEventDispatcher=null, hug3:String=null)
{ //MethodID:1782, LocalCount= 6 , MaxScope= 5, MaxStack= 3, CodeLength= 234
internal var role:String = "_player_"; //slotID:1
internal var target:IEventDispatcher = null; //slotID:2
internal var pageId:String = null; //slotID:3
role = hug1;
target = hug2;
pageId = hug3;
this.dispatcher = (this as EventDispatcher);
this.lcTimer = new Timer(300);
this.registredLcItems = new Array();
if(target != null){
super(target);
this.dispatcher = target;
}
if(__instance) throw new Error("It's a singleton object, It's already created ");
if((pageId != null) && (pageId != "")){
PAGE_RND_ID = pageId;
}else if(ExternalInterface.available){
try{
pageId = ExternalInterface.call(FUNC_JS_GETPAGEID);
if(pageId && (pageId != "")) PAGE_RND_ID = pageId;
}
catch(error:Error){
trace("JSError");
}
}
this.init(role);
}
//variables/etc.
private var name:String; //slotID:0
private var lastLcFunc:Function = null; //slotID:0
private var isMainPlayerPaused:Boolean = false; //slotID:0
private var errorCounter:int = 0; //slotID:0
private var lcTimer:Timer; //slotID:0
private var manangerName:String; //slotID:0
private var currentState:String = "register"; //slotID:0
private var mainPlayerName:String; //slotID:0
private var dispatcher:IEventDispatcher; //slotID:0
private var registredLcItems:Array; //slotID:0
private var lastLcFuncResponse:* = null; //slotID:0
private var lc:LocalConnection; //slotID:0
private function init(hug1:String):void
{ //MethodID:1783, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 269
internal var role:String; //slotID:1
role = hug1;
try{
this.lc = new LocalConnection();
this.lc.allowDomain("*");
this.lc.allowInsecureDomain("*");
this.lc.client = this;
this.lc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onLocalConnectionEvent, false, 0, true);
this.lc.addEventListener(StatusEvent.STATUS, this.onLocalConnectionStatus, false, 0, true);
this.lc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, this.onLocalConnectionEvent, false, 0, true);
this.currentState = STATE_REGISTER;
switch(role){
case LC_MAIN_PLAYER:
this.initAsMainPlayer();
break;
case LC_MANAGER:
this.initAsManager();
break;
default:
this.initAsDefaultPlayer();
break;
}
this.lc.connect(this.name);
}
catch(error:Error){
trace(error.message);
}
}
private function initAsDefaultPlayer():void
{ //MethodID:1785, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 68
this.name = (LC_DEFAULT_PLAYER + int(Math.random() * 0x989680).toString());
this.manangerName = (LC_MANAGER + PAGE_RND_ID);
this.mainPlayerName = (LC_MAIN_PLAYER + PAGE_RND_ID);
this.lastLcFunc = function():*{ //MethodID:1784, LocalCount= 1 , MaxScope= 0, MaxStack= 6, CodeLength= 48
jstrace("lc:" + manangerName + " , notify " + STATE_REGISTER);
lastLcFuncResponse = lc.send(manangerName, FUNC_NOTIFY, name, STATE_REGISTER);
};
this.lastLcFunc();
}
private function initAsMainPlayer():void
{ //MethodID:1787, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 50
this.manangerName = (LC_MANAGER + PAGE_RND_ID);
this.name = (LC_MAIN_PLAYER + PAGE_RND_ID);
this.mainPlayerName = (LC_MAIN_PLAYER + PAGE_RND_ID);
this.lastLcFunc = function():void{ //MethodID:1786, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 42
jstrace("lc:" + manangerName + " , notify " + STATE_REGISTER);
lc.send(manangerName, FUNC_NOTIFY, name, STATE_REGISTER);
};
this.lastLcFunc();
}
private function initAsManager():void
{ //MethodID:1788, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 42
this.name = (LC_MANAGER + PAGE_RND_ID);
this.manangerName = (LC_MANAGER + PAGE_RND_ID);
this.mainPlayerName = (LC_MAIN_PLAYER + PAGE_RND_ID);
this.jstrace("manager connected");
}
public function changeState(hug1:String):void
{ //MethodID:1790, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 73
internal var newState:String; //slotID:1
newState = hug1;
if(newState == this.currentState) return;
if(this.lcTimer.running){
this.lcTimer.stop();
this.lcTimer.removeEventListener(TimerEvent.TIMER, this.lastLcFunc);
}
this.lastLcFunc = function():*{ //MethodID:1789, LocalCount= 1 , MaxScope= 0, MaxStack= 6, CodeLength= 70
jstrace("lc:" + manangerName + " , notify " + newState);
lastLcFuncResponse = lc.send(manangerName, FUNC_NOTIFY, name, newState);
if(lastLcFuncResponse == RESPONSE_OK) currentState = newState;
return lastLcFuncResponse;
};
this.lastLcFunc();
}
private function sendCommand(hug1:String, hug2:String):void
{ //MethodID:1792, LocalCount= 4 , MaxScope= 2, MaxStack= 2, CodeLength= 29
internal var toLc:String; //slotID:1
internal var command:String; //slotID:2
toLc = hug1;
command = hug2;
this.lastLcFunc = function():*{ //MethodID:1791, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 45
jstrace("lc:" + toLc + " , execute: " + command);
lastLcFuncResponse = lc.send(toLc, FUNC_EXECUTE, command);
};
this.lastLcFunc();
}
public function notify(hug1:String, hug2:String):String
{ //MethodID:1793, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 365
var hug3:String = null;
this.jstrace("notify lc:" + hug1 + " , notify " + hug2);
var hug4:String = hug2;
switch(hug4){
case STATE_REGISTER:
if(!this.registredLcItems[hug1]) this.registredLcItems[hug1] = hug2;
return RESPONSE_OK;
case STATE_PLAYING:
hug3 = "";
this.registredLcItems[hug1] = hug2;
if(hug1 == this.mainPlayerName){
for(hug3 in this.registredLcItems){
if(hug3 != this.mainPlayerName) this.sendCommand(hug3, CMD_STOP);
}
}else{
for(hug3 in this.registredLcItems){
if(hug3 != this.mainPlayerName){
this.sendCommand(hug3, CMD_STOP);
}else if(this.registredLcItems[hug3] == STATE_PLAYING){
this.isMainPlayerPaused = true;
this.sendCommand(hug3, CMD_PAUSE);
}
}
}
return RESPONSE_OK;
case STATE_FINISHED:
if(this.isMainPlayerPaused){
this.isMainPlayerPaused = false;
this.sendCommand(this.mainPlayerName, CMD_PLAY);
}
break;
default:
if(this.registredLcItems[hug1]){
this.registredLcItems[hug1] = hug2;
return RESPONSE_OK;
}
return RESPONSE_FAULT;
break;
}
return RESPONSE_FAULT;
}
public function execute(hug1:String):String
{ //MethodID:1794, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 168
var hug2:String = hug1;
switch(hug2){
case CMD_STOP:
this.dispatcher.dispatchEvent(new RemoteEvent(RemoteEvent.EVENT_EXT_STOP));
return RESPONSE_OK;
case CMD_PAUSE:
this.dispatcher.dispatchEvent(new RemoteEvent(RemoteEvent.EVENT_EXT_PAUSE));
return RESPONSE_OK;
case CMD_PLAY:
this.dispatcher.dispatchEvent(new RemoteEvent(RemoteEvent.EVENT_EXT_PLAY));
return RESPONSE_OK;
default:
return RESPONSE_FAULT;
break;
}
}
private function onLocalConnectionEvent(hug1:Event):void
{ //MethodID:1795, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14
trace(hug1.type);
}
private function onLocalConnectionStatus(hug1:StatusEvent):void
{ //MethodID:1796, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 239
if(this.lcTimer.running){
this.lcTimer.removeEventListener(TimerEvent.TIMER, this.lastLcFunc);
this.lcTimer.stop();
}
switch(hug1.level){
case "status":
if(this.lcTimer.running) this.lcTimer.stop();
break;
case "error":
this.errorCounter = this.errorCounter;
if((this.errorCounter++) > CST_MAXERRORCOUNTER){
if(this.lcTimer.running) this.lcTimer.stop();
return;
}
if(this.lastLcFunc != null){
this.lcTimer.delay = (3000 + (this.errorCounter * 100));
this.lcTimer.addEventListener(TimerEvent.TIMER, this.lastLcFunc, false, 0, true);
this.lcTimer.start();
}
break;
default:
break;
}
}
private function jstrace(hug1:*):void
{ //MethodID:1797, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 67
internal var message:*; //slotID:1
message = hug1;
if(ExternalInterface.available){
try{
if(DEBUG) ExternalInterface.call("debug2", this.name, message);
}
catch(e:*){
}
}
}
}
}
//¡script182¡
package ru.rutube.states{
//¡class(instance)_index:182
public class EndPlayerState extends PlayerState implements IPlayerState
{
//static constructor
public static function EndPlayerState$cinit()
{ //MethodID:1799, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function EndPlayerState()
{ //MethodID:1800, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18
super();
currentStateId = PlayerState.END_SCREEN_STATE;
}
//variables/etc.
override public function create():void
{ //MethodID:1801, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function destroy():void
{ //MethodID:1802, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function prepareView():void
{ //MethodID:1803, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function releaseView():void
{ //MethodID:1804, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function service():void
{ //MethodID:1805, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
}
}
//¡script183¡
package ru.rutube.states{
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
//¡class(instance)_index:183
public class PauseAdvertisementPlayerState extends PlayerState implements IPlayerState
{
//static constructor
public static function PauseAdvertisementPlayerState$cinit()
{ //MethodID:1807, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PauseAdvertisementPlayerState()
{ //MethodID:1808, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
super();
nextStateId = PlayerState.PLAY_STATE;
currentStateId = PlayerState.PAUSE_STATE;
}
//variables/etc.
override public function create():void
{ //MethodID:1809, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function destroy():void
{ //MethodID:1810, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function prepareView():void
{ //MethodID:1811, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function releaseView():void
{ //MethodID:1812, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function service():void
{ //MethodID:1813, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function handleVideoStreamEvent():Boolean
{ //MethodID:1814, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
override public function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1815, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean
{ //MethodID:1816, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 78
switch(hug1.sourceId){
case EventSources.SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON:
changePlayerStateToNext();
break;
default:
super.handleInternalButtonEvent(hug1);
break;
}
return true;
}
override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean
{ //MethodID:1817, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalProgressEvent(hug1:InternalEvent):Boolean
{ //MethodID:1818, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleMouseRoll(hug1:Boolean):Boolean
{ //MethodID:1819, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
}
}
//¡script184¡
package ru.rutube.states{
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
//¡class(instance)_index:184
public class PostAdvertisementPlayerState extends PlayerState implements IPlayerState
{
//static constructor
public static function PostAdvertisementPlayerState$cinit()
{ //MethodID:1821, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PostAdvertisementPlayerState()
{ //MethodID:1822, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
super();
nextStateId = PlayerState.END_SCREEN_STATE;
currentStateId = PlayerState.POST_AD_STATE;
}
//variables/etc.
override public function create():void
{ //MethodID:1823, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function destroy():void
{ //MethodID:1824, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function prepareView():void
{ //MethodID:1825, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function releaseView():void
{ //MethodID:1826, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function service():void
{ //MethodID:1827, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override public function handleVideoStreamEvent():Boolean
{ //MethodID:1828, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
override public function handleInternalEvent(hug1:InternalEvent):Boolean
{ //MethodID:1829, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean
{ //MethodID:1830, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 78
switch(hug1.sourceId){
case EventSources.SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON:
changePlayerStateToNext();
break;
default:
super.handleInternalButtonEvent(hug1);
break;
}
return true;
}
override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean
{ //MethodID:1831, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalProgressEvent(hug1:InternalEvent):Boolean
{ //MethodID:1832, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalCloseEvent(hug1:InternalEvent):Boolean
{ //MethodID:1833, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleInternalErrorEvent(hug1:InternalEvent):Boolean
{ //MethodID:1834, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
override public function handleMouseRoll(hug1:Boolean):Boolean
{ //MethodID:1835, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
}
}
//¡script185¡
package ru.rutube.event{
//¡class(instance)_index:185
public final class EventSources extends Object
{
//static constructor
public static function EventSources$cinit()
{ //MethodID:1837, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 359
SOURCE_NONE = 0;
SOURCE_MANAGER_SKIN = 1;
SOURCE_MANAGER_CONFIGURATION = 2;
SOURCE_MANAGER_TRACKINFO = 3;
SOURCE_MANAGER_STREAM = 4;
SOURCE_MANAGER_ADVERTISEMENT_BEGUN = 5;
SOURCE_MANAGER_SERVER = 6;
SOURCE_MANAGER_GEO = 7;
SOURCE_MANAGER_BALANCER = 8;
SOURCE_MANAGER_CONFIGURATION_VIDEO_WALL = 9;
SOURCE_MANAGER_CONFIGURATION_USER_INFO = 10;
SOURCE_STAGE = 100;
SOURCE_STAGE_KEYBOARD = 101;
SOURCE_NETCLIENT = 200;
SOURCE_GUI_VOTE = 1001;
SOURCE_GUI_MAIN_PLAY_BUTTON = 1002;
SOURCE_GUI_CONTROL_PLAY_BUTTON = 1003;
SOURCE_GUI_CONTROL_PAUSE_BUTTON = 1004;
SOURCE_GUI_CONTROL_TIMELINE = 1005;
SOURCE_GUI_CONTROL_STOP_BUTTON = 1006;
SOURCE_GUI_CONTROL_COPY_SYSTEM_BUFFER_BUTTON = 1007;
SOURCE_GUI_CONTROL_REPLAY_BUTTON = 1008;
SOURCE_GUI_CONTROL_THUMB_MOVIE_BUTTON = 1009;
SOURCE_GUI_CONTROL_ENDSCREEN_TITLE = 1010;
SOURCE_GUI_CONTROL_ENDSCREEN_AUTHORE = 1011;
SOURCE_GUI_CONTROL_VOTE_UP_BUTTON = 1105;
SOURCE_GUI_CONTROL_VOTE_DOWN_BUTTON = 1106;
SOURCE_GUI_CONTROL_FAVORITE_BUTTON = 1107;
SOURCE_GUI_CONTROL_PLAYLIST_BUTTON = 1108;
SOURCE_GUI_CONTROL_MODERATION_BUTTON = 1109;
SOURCE_GUI_CONTROL_LOGOTYPE_BUTTON = 1110;
SOURCE_GUI_CONTROL_FULLSCREEN_BUTTON = 1111;
SOURCE_GUI_CONTROL_SEARCH_BUTTON = 1112;
SOURCE_GUI_CONTROL_TITLE_BUTTON = 1113;
SOURCE_GUI_CONTROL_MARK_BUTTON = 1114;
SOURCE_GUI_ADVERTISEMENT_LOAD_COMPLETE = 2000;
SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON = 2001;
SOURCE_GUI_WINDOW_MODERATION = 3000;
SOURCE_GUI_WINDOW_PLAYLIST = 3001;
SOURCE_GUI_WINDOW_MARK = 3002;
SOURCE_GUI_WINDOW_CONTEXT_ADVERTISEMENT = 3003;
}
//static variables/etc.
public static const SOURCE_NONE:int = 0; //slotID:1
public static const SOURCE_MANAGER_SKIN:int = 1; //slotID:2
public static const SOURCE_MANAGER_CONFIGURATION:int = 2; //slotID:3
public static const SOURCE_MANAGER_TRACKINFO:int = 3; //slotID:4
public static const SOURCE_MANAGER_STREAM:int = 4; //slotID:5
public static const SOURCE_MANAGER_ADVERTISEMENT_BEGUN:int = 5; //slotID:6
public static const SOURCE_MANAGER_SERVER:int = 6; //slotID:7
public static const SOURCE_MANAGER_GEO:int = 7; //slotID:8
public static const SOURCE_MANAGER_BALANCER:int = 8; //slotID:9
public static const SOURCE_MANAGER_CONFIGURATION_VIDEO_WALL:int = 9;//slotID:10
public static const SOURCE_MANAGER_CONFIGURATION_USER_INFO:int = 10;//slotID:11
public static const SOURCE_STAGE:int = 100; //slotID:12
public static const SOURCE_STAGE_KEYBOARD:int = 101; //slotID:13
public static const SOURCE_NETCLIENT:int = 200; //slotID:14
public static const SOURCE_GUI_VOTE:int = 1001; //slotID:15
public static const SOURCE_GUI_MAIN_PLAY_BUTTON:int = 1002; //slotID:16
public static const SOURCE_GUI_CONTROL_PLAY_BUTTON:int = 1003; //slotID:17
public static const SOURCE_GUI_CONTROL_PAUSE_BUTTON:int = 1004; //slotID:18
public static const SOURCE_GUI_CONTROL_TIMELINE:int = 1005; //slotID:19
public static const SOURCE_GUI_CONTROL_STOP_BUTTON:int = 1006; //slotID:20
public static const SOURCE_GUI_CONTROL_COPY_SYSTEM_BUFFER_BUTTON:int = 1007;//slotID:21
public static const SOURCE_GUI_CONTROL_REPLAY_BUTTON:int = 1008;//slotID:22
public static const SOURCE_GUI_CONTROL_THUMB_MOVIE_BUTTON:int = 1009;//slotID:23
public static const SOURCE_GUI_CONTROL_ENDSCREEN_TITLE:int = 1010;//slotID:24
public static const SOURCE_GUI_CONTROL_ENDSCREEN_AUTHORE:int = 1011;//slotID:25
public static const SOURCE_GUI_CONTROL_VOTE_UP_BUTTON:int = 1105;//slotID:26
public static const SOURCE_GUI_CONTROL_VOTE_DOWN_BUTTON:int = 1106;//slotID:27
public static const SOURCE_GUI_CONTROL_FAVORITE_BUTTON:int = 1107;//slotID:28
public static const SOURCE_GUI_CONTROL_PLAYLIST_BUTTON:int = 1108;//slotID:29
public static const SOURCE_GUI_CONTROL_MODERATION_BUTTON:int = 1109;//slotID:30
public static const SOURCE_GUI_CONTROL_LOGOTYPE_BUTTON:int = 1110;//slotID:31
public static const SOURCE_GUI_CONTROL_FULLSCREEN_BUTTON:int = 1111;//slotID:32
public static const SOURCE_GUI_CONTROL_SEARCH_BUTTON:int = 1112;//slotID:33
public static const SOURCE_GUI_CONTROL_TITLE_BUTTON:int = 1113; //slotID:34
public static const SOURCE_GUI_CONTROL_MARK_BUTTON:int = 1114; //slotID:35
public static const SOURCE_GUI_ADVERTISEMENT_LOAD_COMPLETE:int = 2000;//slotID:36
public static const SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON:int = 2001;//slotID:37
public static const SOURCE_GUI_WINDOW_MODERATION:int = 3000; //slotID:38
public static const SOURCE_GUI_WINDOW_PLAYLIST:int = 3001; //slotID:39
public static const SOURCE_GUI_WINDOW_MARK:int = 3002; //slotID:40
public static const SOURCE_GUI_WINDOW_CONTEXT_ADVERTISEMENT:int = 3003;//slotID:41
//constructor
public function EventSources()
{ //MethodID:1838, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script186¡
package Components{
import flash.display.DisplayObjectContainer
import flash.events.TimerEvent
import flash.geom.Rectangle
import flash.text.TextField
import flash.text.TextFieldAutoSize
import flash.text.TextFormat
import flash.utils.Timer
//¡class(instance)_index:186
public final class HintDispatcher extends Object
{
//static constructor
public static function HintDispatcher$cinit()
{ //MethodID:1840, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 50
tf = new TextField();
timerDelayStartHint = new Timer(600, 1);
timerDelayFinishHint = new Timer(2500, 1);
}
//static variables/etc.
private static var tf:TextField; //slotID:1
private static var timerDelayStartHint:Timer; //slotID:2
private static var timerDelayFinishHint:Timer; //slotID:3
public static function init(hug1:DisplayObjectContainer):void
{ //dispID:3, MethodID:1841, LocalCount= 2 , MaxScope= 1, MaxStack= 13, CodeLength= 130
if(tf.parent) return;
tf.defaultTextFormat = new TextFormat("tahoma", 11, 0, null, null, null, null, null, null, 2, 1);
tf.autoSize = TextFieldAutoSize.LEFT;
tf.selectable = false;
tf.background = true;
tf.backgroundColor = 0xFFFFE1;
tf.border = true;
tf.visible = false;
hug1.addChild(tf);
timerDelayStartHint.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerStartHintHandler);
timerDelayFinishHint.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerFinishHintHandler);
}
private static function onTimerStartHintHandler(hug1:TimerEvent):void
{ //dispID:4, MethodID:1842, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 207
timerDelayStartHint.reset();
if(!tf.parent) return;
tf.x = tf.parent.mouseX;
tf.y = (tf.parent.mouseY + 21);
var hug2:Rectangle = tf.getBounds(RutubePlayer.instance.getContainer().stage);
if(hug2.right > (RutubePlayer.instance.getContainer().stage.stageWidth - 3)) tf.x -= (hug2.right - RutubePlayer.instance.getContainer().stage.stageWidth + 3);
if(hug2.bottom > RutubePlayer.instance.getContainer().stage.stageHeight) tf.y = (tf.parent.mouseY - tf.height - 7);
tf.visible = true;
timerDelayFinishHint.reset();
timerDelayFinishHint.start();
}
private static function onTimerFinishHintHandler(hug1:TimerEvent):void
{ //dispID:5, MethodID:1843, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 10
tf.visible = false;
}
public static function show(hug1:String):void
{ //dispID:6, MethodID:1844, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 51
if(tf.visible) tf.visible = false;
tf.text = hug1;
if(timerDelayFinishHint.running) timerDelayFinishHint.stop();
timerDelayStartHint.start();
}
public static function hide():void
{ //dispID:7, MethodID:1845, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 45
if(timerDelayStartHint.running) timerDelayStartHint.reset();
if(timerDelayFinishHint.running) timerDelayFinishHint.stop();
onTimerFinishHintHandler(null);
}
//constructor
public function HintDispatcher()
{ //MethodID:1846, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script187¡
package ru.rutube.managers.advertisement.event{
import flash.events.Event
//¡class(instance)_index:187
public class AdvertisementModelEvent extends Event
{
//static constructor
public static function AdvertisementModelEvent$cinit()
{ //MethodID:1848, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75
ADVERTISEMENT_ERROR = "ADVERTISEMENT_ERROR";
ADVERTISEMENT_ADRIVER_FULL_LOADED = "ADVERTISEMENT_ADRIVER_FULL_LOADED";
ADVERTISEMENT_ADRIVER_PART_LOADED = "ADVERTISEMENT_ADRIVER_PART_LOADED";
ADVERTISEMENT_ADRIVER_LOAD_ERROR = "ADVERTISEMENT_ADRIVER_LOAD_ERROR";
ADVERTISEMENT_BEGUN_ERROR = "ADVERTISEMENT_BEGUN_ERROR";
ADVERTISEMENT_BEGUN_FINISH = "ADVERTISEMENT_BEGUN_FINISH";
ADVERTISEMENT_OVERLAY_ERROR = "ADVERTISEMENT_OVERLAY_ERROR";
ADVERTISEMENT_OVERLAY_FINISH = "ADVERTISEMENT_OVERLAY_FINISH";
}
//static variables/etc.
public static const ADVERTISEMENT_ERROR:String = "ADVERTISEMENT_ERROR";//slotID:1
public static const ADVERTISEMENT_ADRIVER_FULL_LOADED:String = "ADVERTISEMENT_ADRIVER_FULL_LOADED";//slotID:2
public static const ADVERTISEMENT_ADRIVER_PART_LOADED:String = "ADVERTISEMENT_ADRIVER_PART_LOADED";//slotID:3
public static const ADVERTISEMENT_ADRIVER_LOAD_ERROR:String = "ADVERTISEMENT_ADRIVER_LOAD_ERROR";//slotID:4
public static const ADVERTISEMENT_BEGUN_ERROR:String = "ADVERTISEMENT_BEGUN_ERROR";//slotID:5
public static const ADVERTISEMENT_BEGUN_FINISH:String = "ADVERTISEMENT_BEGUN_FINISH";//slotID:6
public static const ADVERTISEMENT_OVERLAY_ERROR:String = "ADVERTISEMENT_OVERLAY_ERROR";//slotID:7
public static const ADVERTISEMENT_OVERLAY_FINISH:String = "ADVERTISEMENT_OVERLAY_FINISH";//slotID:8
//constructor
public function AdvertisementModelEvent(hug1:String, hug2:int=0)
{ //MethodID:1849, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 12
super(hug1);
this.adType = hug2;
}
//variables/etc.
public var adType:int = 0; //slotID:0
override public function clone():Event
{ //MethodID:1850, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 17
return new AdvertisementModelEvent(type, this.adType);
}
}
}
//¡script188¡
package ru.rutube.managers.advertisement.model.adriver{
import flash.net.URLRequest
import flash.net.sendToURL
//¡class(instance)_index:188
public class AdvertisementAdRiverXml extends Object
{
//static constructor
public static function AdvertisementAdRiverXml$cinit()
{ //MethodID:1852, LocalCount= 1 , MaxScope= 1, MaxStack= 24, CodeLength= 181
EVENT_FULL_LOADED = 0;
EVENT_SKIP_ADVERTISEMENT = 1;
EVENT_COMPLETE_ADVERTISEMENT = 9;
xmlVariables = ["ar_bt", "ar_adid", "ar_alt", "ar_bid", "ar_bn", "ar_cgihref", "ar_comppath", "ar_height", "ar_mirror", "ar_netid", "ar_ntype", "ar_ph", "ar_pz", "ar_rhost", "ar_rnd", "ar_sid", "ar_sliceid", "ar_sz", "ar_target", "ar_tns", "ar_width", "ar_type", "ar_name"];
classVariables = ["bt", "advertiseId", "alternativeText", "bannerId", "bannerNumber", "clickURL", "advertiseCompPath", "advertiseHeight", "advertiseMirrorPath", "advertiseNetId", "advertiseNetType", "advertisePlaceHolder", "advertisePageZone", "advertiseRemoteHost", "advertiseRandom", "advertiseSiteId", "advertiseSliceId", "advertiseSiteZone", "advertiseClickTarget", "advertiseServiseTns", "advertiseWidth", "advertiseBannerType", "advertiseCreativeName"];
}
//static variables/etc.
public static const EVENT_FULL_LOADED:int = 0; //slotID:1
public static const EVENT_SKIP_ADVERTISEMENT:int = 1; //slotID:2
public static const EVENT_COMPLETE_ADVERTISEMENT:int = 9; //slotID:3
protected static const xmlVariables:Array; //slotID:4
protected static const classVariables:Array; //slotID:5
//constructor
public function AdvertisementAdRiverXml()
{ //MethodID:1853, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15
super();
this.notifyClickUrl = new Array();
}
//variables/etc.
public var advertiseMirrorPath:String = ""; //slotID:0
public var advertiseBannerType:String = "unknown"; //slotID:0
public var bannerNumber:String = ""; //slotID:0
public var advertiseClickTarget:String = ""; //slotID:0
public var advertiseCompPath:String = ""; //slotID:0
public var advertiseRemoteHost:String = ""; //slotID:0
public var advertiseCreativeName:String = ""; //slotID:0
public var advertiseId:String = ""; //slotID:0
public var advertiseSliceId:String = ""; //slotID:0
public var advertisePageZone:String = ""; //slotID:0
public var advertiseHeight:String = ""; //slotID:0
private var notifyClickUrl:Array = null; //slotID:0
public var advertiseNetId:String = ""; //slotID:0
public var clickURL:String = ""; //slotID:0
public var advertiseSiteId:String = ""; //slotID:0
public var advertiseRandom:String = ""; //slotID:0
public var advertiseNetType:String = ""; //slotID:0
public var bt:String = "unknown"; //slotID:0
public var advertiseSiteZone:String = ""; //slotID:0
public var advertiseServiseTns:String = ""; //slotID:0
public var advertiseWidth:String = ""; //slotID:0
public var bannerId:String = ""; //slotID:0
public var urlEvent:String = ""; //slotID:0
public var advertisePlaceHolder:String = ""; //slotID:0
public var alternativeText:String = ""; //slotID:0
public function get rutubeXml():String
{ //MethodID:1854, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16
return (this.advertiseCompPath + this.advertiseCreativeName).concat();
}
public function get isLoaded():Boolean
{ //MethodID:1855, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return (this.rutubeXml.length > 5);
}
public function isInteractiveContent():Boolean
{ //MethodID:1856, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33
return ((this.advertiseBannerType.toLowerCase() == "swf") || (this.advertiseBannerType.toLowerCase() == "flv"));
}
public function isSwfContent():Boolean
{ //MethodID:1857, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15
return (this.advertiseBannerType.toLowerCase() == "swf");
}
public function isFlvContent():Boolean
{ //MethodID:1858, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15
return (this.advertiseBannerType.toLowerCase() == "flv");
}
public function hasClickNotify():Boolean
{ //MethodID:1859, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
return ((this.notifyClickUrl != null) && (this.notifyClickUrl.length > 0));
}
public function getNotifyClickUrls():Array
{ //MethodID:1860, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.notifyClickUrl.concat();
}
public function hasCorrectMediaUrl():Boolean
{ //MethodID:1861, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return true;
}
public function reset():void
{ //MethodID:1862, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61
var hug1:int = 0;
while(hug1 < classVariables.length){
this[classVariables[hug1]] = "";
hug1++;
}
do{
}while(this.notifyClickUrl.pop() != null);
this.urlEvent = "";
}
public function parseXml(hug1:XMLList):void
{ //MethodID:1863, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 150
var hug2:int = 0;
while(hug2 < xmlVariables.length){
if(hug1.hasOwnProperty(xmlVariables[hug2])) this[classVariables[hug2]] = hug1.child(xmlVariables[hug2]).toString();
hug2++;
}
this.urlEvent = ("http://ad.adriver.ru/cgi-bin/event.cgi?" + "ntype=" + this.advertiseNetType + "&bid=" + this.bannerId + "&sid=" + this.advertiseSiteId + "&bt=" + this.bt + "&ad=" + this.advertiseId + "&nid=" + this.advertiseNetId + "&rnd=" + this.advertiseRandom + "&sliceid=" + this.advertiseSliceId + "&type=");
}
public function fireEvent(hug1:int):void
{ //MethodID:1864, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 59
var hug2:String = this.urlEvent;
if(hug2.length < 1) return;
if(hug2.lastIndexOf("=") == (hug2.length - 1)) hug2 += hug1.toString();
sendToURL(new URLRequest(hug2));
}
}
}
//¡script189¡
package ru.rutube.managers.advertisement.model.context{
//¡class(instance)_index:189
public class ContextRecord extends Object
{
//static constructor
public static function ContextRecord$cinit()
{ //MethodID:1866, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function ContextRecord()
{ //MethodID:1867, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public var desc:String = ""; //slotID:0
public var domain:String = ""; //slotID:0
public var url:String = ""; //slotID:0
public var title:String = ""; //slotID:0
public function parse(hug1:XML):void
{ //MethodID:1868, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
}
}
//¡script190¡
package ru.rutube.managers.advertisement.model.context.yandexdirect{
import ru.rutube.managers.advertisement.model.context.ContextRecord
//¡class(instance)_index:190
public class YandexContextRecord extends ContextRecord
{
//static constructor
public static function YandexContextRecord$cinit()
{ //MethodID:1870, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function YandexContextRecord()
{ //MethodID:1871, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
override public function parse(hug1:XML):void
{ //MethodID:1872, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 59
title = hug1.title.toString();
desc = hug1.text.toString();
domain = hug1.domain.toString();
url = hug1.url.toString();
}
}
}
//¡script191¡
package ru.rutube.managers.configuration.data{
//¡class(instance)_index:191
public class AdvertisingString extends Object
{
//static constructor
public static function AdvertisingString$cinit()
{ //MethodID:1874, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdvertisingString()
{ //MethodID:1875, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public var textColor:String = ""; //slotID:0
public var dataContainer:String = ""; //slotID:0
public var text:String = ""; //slotID:0
public var url:String = ""; //slotID:0
public function get isEmpty():Boolean
{ //MethodID:1876, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return (this.text.length == 0);
}
public function parse(hug1:XMLList):void
{ //MethodID:1877, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 115
if(hug1.hasOwnProperty("data_container")) this.dataContainer = hug1.child("data_container").toString();
if(hug1.hasOwnProperty("url")) this.url = hug1.child("url").toString();
if(hug1.hasOwnProperty("text")) this.text = hug1.child("text").toString();
if(hug1.hasOwnProperty("text_color")) this.textColor = hug1.child("text_color").toString();
}
public function reset():void
{ //MethodID:1878, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
this.dataContainer = "";
this.url = "";
this.text = "";
this.textColor = "";
}
}
}
//¡script192¡
package ru.rutube.managers.configuration.data{
//¡class(instance)_index:192
public class MetaTextInfo extends Object
{
//static constructor
public static function MetaTextInfo$cinit()
{ //MethodID:1880, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function MetaTextInfo()
{ //MethodID:1881, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public var delay:Number = 5.0; //slotID:0
public var text:String = ""; //slotID:0
public var url:String = ""; //slotID:0
public function parse(hug1:XMLList):void
{ //MethodID:1882, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 56
this.text = hug1.child("xml").toString();
this.url = hug1.child("url").toString();
this.delay = Number(hug1.child("delay").toString());
}
public function isPresenter():Boolean
{ //MethodID:1883, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29
return ((this.text.length > 0) && (this.url.length > 0));
}
}
}
//¡script193¡
package ru.rutube.managers.configuration.data{
//¡class(instance)_index:193
public class VideoWallElementInfo extends Object
{
//static constructor
public static function VideoWallElementInfo$cinit()
{ //MethodID:1885, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function VideoWallElementInfo()
{ //MethodID:1886, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public var thumbnailUrl:String = ""; //slotID:0
public var viewCount:Number = 0.0; //slotID:0
public var author:String = ""; //slotID:0
public var videoUrl:String = ""; //slotID:0
public var title:String = ""; //slotID:0
public var rating:Number = 0.0; //slotID:0
public var runTime:String = ""; //slotID:0
public function parseData(hug1:XML):void
{ //MethodID:1887, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 227
if(hug1.hasOwnProperty("title")) this.title = hug1.title.toString();
if(hug1.hasOwnProperty("author")) this.author = hug1.author.toString();
if(hug1.hasOwnProperty("run_time")) this.runTime = hug1.run_time.toString();
if(hug1.hasOwnProperty("view_count")){
this.viewCount = Number(hug1.view_count.toString());
if(isNaN(this.viewCount)) this.viewCount = 0;
}
if(hug1.hasOwnProperty("rating")){
this.rating = (Number(hug1.rating.toString()) * 1000);
if(isNaN(this.rating)) this.rating = 0;
}
if(hug1.hasOwnProperty("url")) this.videoUrl = hug1.url.toString();
if(hug1.hasOwnProperty("thumbnail_url")) this.thumbnailUrl = hug1.thumbnail_url.toString();
}
}
}
//¡script194¡
package ru.rutube.managers.configuration.data{
//¡class(instance)_index:194
public class FavoriteData extends Object
{
//static constructor
public static function FavoriteData$cinit()
{ //MethodID:1889, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function FavoriteData()
{ //MethodID:1890, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public var urlAddFavorite:String = ""; //slotID:0
public function parse(hug1:XMLList):void
{ //MethodID:1891, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 14
this.urlAddFavorite = hug1["add_favorites_url"];
}
public function isFavoritePresent():Boolean
{ //MethodID:1892, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
return ((this.urlAddFavorite != null) && (this.urlAddFavorite.length > 0));
}
}
}
//¡script195¡
package ru.rutube.managers.configuration.data{
//¡class(instance)_index:195
public class PlaylistElement extends Object
{
//static constructor
public static function PlaylistElement$cinit()
{ //MethodID:1894, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PlaylistElement()
{ //MethodID:1895, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public var urlMetaInfo:String = ""; //slotID:0
public var trackId:Number = 0.0; //slotID:0
public var urlContent:String = ""; //slotID:0
public var author:String = ""; //slotID:0
public var id:uint = 0; //slotID:0
public var title:String = ""; //slotID:0
public var duration:Number = 0.0; //slotID:0
public var urlThumbnail:String = ""; //slotID:0
public function parse(hug1:XML):void
{ //MethodID:1896, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 246
if(hug1.hasOwnProperty("title")) this.title = hug1.child("title").toString();
if(hug1.hasOwnProperty("thumbnail_url")) this.urlThumbnail = hug1.child("thumbnail_url").toString();
if(hug1.hasOwnProperty("movie")) this.urlContent = hug1.child("movie").toString();
if(hug1.hasOwnProperty("xurl")) this.urlMetaInfo = hug1.child("xurl").toString();
if(hug1.hasOwnProperty("trackId")) this.trackId = Number(hug1.child("trackId").toString());
if(isNaN(this.trackId)) this.trackId = 0;
if(hug1.hasOwnProperty("author")) this.author = hug1.child("author").toString();
if(hug1.hasOwnProperty("duration")) this.duration = hug1.child("duration").toString();
if(isNaN(this.duration)) this.duration = 0;
}
}
}
//¡script196¡
package ru.rutube.managers.configuration.data{
//¡class(instance)_index:196
public class UserInfo extends Object
{
//static constructor
public static function UserInfo$cinit()
{ //MethodID:1898, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 56
USER_STATUS_NONE = "";
USER_STATUS_ACTIVE = "active";
USER_STATUS_INACTIVE = "inactive";
USER_STATUS_BANNED = "banned";
USER_STATUS_DELETED = "deleted";
USER_STATUS_UNAUTHENTICATED = "unauthenticated";
}
//static variables/etc.
public static const USER_STATUS_NONE:String = ""; //slotID:1
public static const USER_STATUS_ACTIVE:String = "active"; //slotID:2
public static const USER_STATUS_INACTIVE:String = "inactive"; //slotID:3
public static const USER_STATUS_BANNED:String = "banned"; //slotID:4
public static const USER_STATUS_DELETED:String = "deleted"; //slotID:5
public static const USER_STATUS_UNAUTHENTICATED:String = "unauthenticated";//slotID:6
//constructor
public function UserInfo()
{ //MethodID:1899, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
this._allowCategories = [];
super();
}
//variables/etc.
private var _isModerator:Boolean = false; //slotID:0
public var userAvatar:String = ""; //slotID:0
private var _isAdmin:Boolean = false; //slotID:0
public var userId:int = 0; //slotID:0
public var userNick:String = ""; //slotID:0
private var _allowCategories:Array; //slotID:0
public var userStatus:String = ""; //slotID:0
private var _allCategories:Boolean = false; //slotID:0
private var _isAllowSnapshot:Boolean = false; //slotID:0
public function get isUser():Boolean
{ //MethodID:1900, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
return (this.userId > 0);
}
public function get isActiveUser():Boolean
{ //MethodID:1901, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
return (this.userStatus == USER_STATUS_ACTIVE);
}
public function get isAllowedUser():Boolean
{ //MethodID:1902, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25
return ((this.userStatus == USER_STATUS_ACTIVE) || (this.userStatus == USER_STATUS_INACTIVE));
}
public function get isAdmin():Boolean
{ //MethodID:1903, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._isAdmin;
}
public function get isAllowSnapshot():Boolean
{ //MethodID:1904, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._isAllowSnapshot;
}
public function get isModerator():Boolean
{ //MethodID:1905, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._isModerator;
}
public function get allowCategories():Array
{ //MethodID:1906, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this._allowCategories.concat();
}
public function isCategoryAllow(hug1:int):Boolean
{ //MethodID:1907, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 15
return (this._allowCategories.indexOf(hug1) > (-1));
}
public function get allowAllCategories():Boolean
{ //MethodID:1908, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._allCategories;
}
public function reset():void
{ //MethodID:1909, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 78
this.userId = 0;
this.userStatus = USER_STATUS_NONE;
this.userNick = "";
this.userAvatar = "";
this._isAdmin = this._isModerator = this._isAllowSnapshot = this._allCategories = false;
do{
}while(this._allowCategories.pop() != null);
}
public function parse(hug1:XML):void
{ //MethodID:1910, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 294
var hug3:XMLList = null;
var hug4:XMLList = null;
var hug5:int = 0;
this.reset();
if(!hug1) return;
this.userId = Number(hug1.attribute("id").toString());
if(isNaN(this.userId)) this.userId = 0;
this.userStatus = hug1.attribute("status").toString();
if(hug1.children().length() < 2) return;
this.userNick = hug1["nick"].toString();
this.userAvatar = hug1["avatar"].toString();
var hug2:XMLList = hug1["permissions"];
this._isAdmin = hug2.hasOwnProperty("admin");
this._isModerator = hug2.hasOwnProperty("moderator");
if(hug2.hasOwnProperty("moderator")){
hug3 = hug2["moderator"];
this._isAllowSnapshot = hug3.hasOwnProperty("snapshot");
hug4 = hug3.child("category");
hug5 = 0;
while(hug5 < hug4.length()){
if(hug4[hug5].@id.toString().toLowerCase() == "all"){
this._allCategories = true;
break;
}
this._allowCategories.push(int(hug4[hug5].@id.toString()));
hug5++;
}
}
}
}
}
//¡script197¡
package ru.rutube.managers.configuration.data{
import flash.utils.Dictionary
//¡class(instance)_index:197
public class ComplainFormData extends Object
{
//static constructor
public static function ComplainFormData$cinit()
{ //MethodID:1912, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//variables/etc.
public var complainUrl:String = ""; //slotID:0
private var subjectsCount:int = 0; //slotID:0
private var subjectsDictionary:Dictionary; //slotID:0
public function getSubjectsCount():int
{ //MethodID:1913, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.subjectsCount;
}
public function getSubject(hug1:int):String
{ //MethodID:1914, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 26
var hug2:String = this.subjectsDictionary[hug1.toString()];
if(!hug2) hug2 = "";
return hug2;
}
public function isComplainPresents():Boolean
{ //MethodID:1915, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
return ((this.complainUrl != null) && (this.complainUrl.length > 0));
}
public function getSubjectId(hug1:String):String
{ //MethodID:1916, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 71
var hug3:Object = null;
var hug2:String = "";
for(hug3 in this.subjectsDictionary){
if(hug1 == hug3.toString()){
hug2 = hug3.toString();
break;
}
hug2 = "0";
}
return hug2;
}
public function get complainVariants():Array
{ //MethodID:1917, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 59
var hug2:Object = null;
var hug1:Array = [];
for(hug2 in this.subjectsDictionary){
hug1[hug2] = this.subjectsDictionary[hug2];
}
return hug1;
}
public function parse(hug1:XMLList):void
{ //MethodID:1918, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 123
this.reset();
if(hug1.hasOwnProperty("complain_url")) this.complainUrl = hug1.child("complain_url").toString();
var hug2:XMLList = hug1.child("subject_list").child("subject");
var hug3:int = 0;
while(hug3 < hug2.length()){
this.subjectsCount++;
this.subjectsDictionary[hug2[hug3].@id.toString()] = hug2[hug3].toString();
hug3++;
}
}
public function reset():void
{ //MethodID:1919, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 59
var hug1:Object = null;
this.complainUrl = "";
this.subjectsCount = 0;
for(hug1 in this.subjectsDictionary){
delete this.subjectsDictionary[hug1];
}
}
//constructor
public function ComplainFormData()
{ //MethodID:1920, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
this.subjectsDictionary = new Dictionary();
super();
}
}
}
//¡script198¡
package ru.rutube.managers.configuration.data{
import flash.utils.Dictionary
//¡class(instance)_index:198
public class PlayListData extends Object
{
//static constructor
public static function PlayListData$cinit()
{ //MethodID:1922, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PlayListData()
{ //MethodID:1923, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
super();
this.avaliblePlaylists = new Dictionary();
}
//variables/etc.
private var avaliblePlaylists:Dictionary = null; //slotID:0
private var playlistCount:int = 0; //slotID:0
public var urlAddToPlaylist:String = ""; //slotID:0
public function parse(hug1:XMLList):void
{ //MethodID:1924, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 60
this.urlAddToPlaylist = hug1["add_playlist_url"].toString();
var hug2:XMLList = hug1["playlists"];
if(hug2.children().length() > 0){
hug2 = hug2.child("playlist");
this.parseLists(hug2);
}
}
public function parseLists(hug1:XMLList=null):void
{ //MethodID:1925, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 98
if(!hug1 || (hug1.length() < 1)) return;
this.playlistCount = 0;
var hug2:int = 0;
while(hug2 < hug1.length()){
this.playlistCount++;
this.avaliblePlaylists[String(hug1[hug2].@id)] = hug1[hug2].toString();
hug2++;
}
}
public function isPlaylistPresents():Boolean
{ //MethodID:1926, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
return ((this.urlAddToPlaylist != null) && (this.urlAddToPlaylist.length > 0));
}
public function getPlaylistCount():int
{ //MethodID:1927, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.playlistCount;
}
public function getPlaylist(hug1:int):String
{ //MethodID:1928, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 26
var hug2:String = this.avaliblePlaylists[hug1.toString()];
if(!hug2) hug2 = "";
return hug2;
}
public function getPlaylistId(hug1:String):String
{ //MethodID:1929, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 70
var hug3:Object = null;
var hug2:String = "";
for(hug3 in this.avaliblePlaylists){
if(hug1 == this.avaliblePlaylists[hug3]){
hug2 = hug3.toString();
break;
}
}
return hug2;
}
public function get playlistVariants():Array
{ //MethodID:1930, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 59
var hug2:Object = null;
var hug1:Array = [];
for(hug2 in this.avaliblePlaylists){
hug1.push(this.avaliblePlaylists[hug2]);
}
return hug1;
}
}
}
//¡script199¡
package ru.rutube.managers.configuration.data{
import Components.Component
import com.google.ads.instream.api.AdErrorEvent
import com.google.ads.instream.api.AdsLoadedEvent
import com.google.ads.instream.api.AdsLoader
import com.google.ads.instream.api.AdsManager
import com.google.ads.instream.api.AdsManagerTypes
import com.google.ads.instream.api.AdsRequest
import com.google.ads.instream.api.FlashAdsManager
import com.google.ads.instream.api.VideoAdsManager
//¡class(instance)_index:199
public class AdSense extends Object
{
//static constructor
public static function AdSense$cinit()
{ //MethodID:1932, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
AD_TYPE_TEXT_OVERLAY = "text_overlay";
}
//static variables/etc.
public static const AD_TYPE_TEXT_OVERLAY:String = "text_overlay";//slotID:1
//constructor
public function AdSense()
{ //MethodID:1933, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 55
this.channels = [];
super();
this.adsRequest = new AdsRequest();
this.adsRequest.publisherId = "ca-video-pub-0970351097917759";
this.adsRequest.adType = AD_TYPE_TEXT_OVERLAY;
this.adsRequest.channels = ["am-am-am"];
}
//variables/etc.
private var container:Component = null; //slotID:0
private var _adsManager:AdsManager = null; //slotID:0
public var channels:Array; //slotID:0
private var isAdSenseAvalible:Boolean = false; //slotID:0
public var adTimePosition:int = 5; //slotID:0
private var adsLoader:AdsLoader = null; //slotID:0
public var maxTotalAdDuration:int = 10000; //slotID:0
private var adsRequest:AdsRequest = null; //slotID:0
public function get isAvalible():Boolean
{ //MethodID:1934, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.isAdSenseAvalible;
}
public function set adType(hug1:String):void
{ //MethodID:1935, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this.adsRequest.adType = hug1;
}
public function get adType():String
{ //MethodID:1936, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.adsRequest.adType;
}
public function set publisherId(hug1:String):void
{ //MethodID:1937, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this.adsRequest.publisherId = hug1;
}
public function get publisherId():String
{ //MethodID:1938, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.adsRequest.publisherId;
}
public function set contentId(hug1:String):void
{ //MethodID:1939, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this.adsRequest.contentId = hug1;
}
public function get contentId():String
{ //MethodID:1940, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.adsRequest.contentId;
}
public function setCountry(hug1:String):void
{ //MethodID:1941, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 43
if(!hug1 || (hug1.length == 0)) return;
hug1 = hug1.toLowerCase();
if(hug1 == "us") this.isAdSenseAvalible = true;
}
public function init(hug1:Component, hug2:String=123):void
{ //MethodID:1942, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
this.adsRequest.contentId = hug2;
this.container = hug1;
}
public function load():void
{ //MethodID:1943, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 132
if(!this.container || (this.adsLoader != null)) return;
this.adsRequest.adSlotWidth = this.container._width;
this.adsRequest.adSlotHeight = ((this.container.height >= 60) ? this.container.height : 60);
this.adsLoader = new AdsLoader();
this.adsLoader.addEventListener(AdsLoadedEvent.ADS_LOADED, this.listenerAdsLoaded);
this.adsLoader.addEventListener(AdErrorEvent.AD_ERROR, this.listenerAdsError);
this.adsLoader.requestAds(this.adsRequest);
}
public function resize():void
{ //MethodID:1944, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 60
if(!this._adsManager || !this.container) return;
trace("_adsManager.type:" + this._adsManager.type);
trace("1 _adsManager.adSlotWidth:" + this._adsManager.adSlotWidth);
}
private function listenerAdsLoaded(hug1:AdsLoadedEvent):void
{ //MethodID:1945, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 127
var hug3:VideoAdsManager = null;
var hug4:FlashAdsManager = null;
var hug2:AdsManager = hug1.adsManager;
this._adsManager = hug2;
if(hug2.type == AdsManagerTypes.VIDEO){
hug3 = (hug2 as VideoAdsManager);
hug3.clickTrackingElement = this.container;
}else if(hug2.type == AdsManagerTypes.FLASH){
hug4 = (hug2 as FlashAdsManager);
hug4.x = 0;
hug4.y = 0;
hug4.load(this.container);
hug4.play(this.container);
this.container.visible = true;
}
}
private function listenerAdsError(hug1:AdErrorEvent):void
{ //MethodID:1946, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
trace(hug1);
}
}
}
//¡script200¡
package Components.Utils{
//¡class(instance)_index:200
public class Strings extends Object
{
//static constructor
public static function Strings$cinit()
{ //MethodID:1948, LocalCount= 1 , MaxScope= 1, MaxStack= 232, CodeLength= 3191
htmlSpecialElementsArray = new Array({coded:"<", decoded:"<"}, {coded:"«", decoded:"á"}, {coded:"»", decoded:"â"}, {coded:"‹", decoded:" "}, {coded:"›", decoded:" "}, {coded:">", decoded:"<"}, {coded:"'", decoded:"'"}, {coded:""", decoded:"\""}, {coded:"&", decoded:"&"}, {coded:" ", decoded:" "}, {coded:"!", decoded:"!"}, {coded:""", decoded:"g"}, {coded:"#", decoded:"#"}, {coded:"$", decoded:"$"}, {coded:"%", decoded:"%"}, {coded:"&", decoded:"&"}, {coded:"'", decoded:"e"}, {coded:"(", decoded:"("}, {coded:")", decoded:")"}, {coded:"*", decoded:"*"}, {coded:"+", decoded:"+"}, {coded:",", decoded:","}, {coded:"-", decoded:"-"}, {coded:".", decoded:"."}, {coded:"/", decoded:"/"}, {coded:"0", decoded:"0"}, {coded:"1", decoded:"1"}, {coded:"2", decoded:"2"}, {coded:"3", decoded:"3"}, {coded:"4", decoded:"4"}, {coded:"5", decoded:"5"}, {coded:"6", decoded:"6"}, {coded:"7", decoded:"7"}, {coded:"8", decoded:"8"}, {coded:"9", decoded:"9"}, {coded:":", decoded:":"}, {coded:";", decoded:";"}, {coded:"<", decoded:"<"}, {coded:"=", decoded:"="}, {coded:">", decoded:">"}, {coded:"?", decoded:"?"}, {coded:"@", decoded:"@"}, {coded:"A", decoded:"A"}, {coded:"B", decoded:"B"}, {coded:"C", decoded:"C"}, {coded:"D", decoded:"D"}, {coded:"E", decoded:"E"}, {coded:"F", decoded:"F"}, {coded:"G", decoded:"G"}, {coded:"H", decoded:"H"}, {coded:"I", decoded:"I"}, {coded:"J", decoded:"J"}, {coded:"K", decoded:"K"}, {coded:"L", decoded:"L"}, {coded:"M", decoded:"M"}, {coded:"N", decoded:"N"}, {coded:"O", decoded:"O"}, {coded:"P", decoded:"P"}, {coded:"Q", decoded:"Q"}, {coded:"R", decoded:"R"}, {coded:"S", decoded:"S"}, {coded:"T", decoded:"T"}, {coded:"U", decoded:"U"}, {coded:"V", decoded:"V"}, {coded:"W", decoded:"W"}, {coded:"X", decoded:"X"}, {coded:"Y", decoded:"Y"}, {coded:"Z", decoded:"Z"}, {coded:"[", decoded:"["}, {coded:"\", decoded:"\\"}, {coded:"]", decoded:"]"}, {coded:"^", decoded:"^"}, {coded:"_", decoded:"_"}, {coded:"`", decoded:"`"}, {coded:"a", decoded:"a"}, {coded:"b", decoded:"b"}, {coded:"c", decoded:"c"}, {coded:"d", decoded:"d"}, {coded:"e", decoded:"e"}, {coded:"f", decoded:"f"}, {coded:"g", decoded:"g"}, {coded:"h", decoded:"h"}, {coded:"i", decoded:"i"}, {coded:"j", decoded:"j"}, {coded:"k", decoded:"k"}, {coded:"l", decoded:"l"}, {coded:"m", decoded:"m"}, {coded:"n", decoded:"n"}, {coded:"o", decoded:"o"}, {coded:"p", decoded:"p"}, {coded:"q", decoded:"q"}, {coded:"r", decoded:"r"}, {coded:"s", decoded:"s"}, {coded:"t", decoded:"t"}, {coded:"u", decoded:"u"}, {coded:"v", decoded:"v"}, {coded:"w", decoded:"w"}, {coded:"x", decoded:"x"}, {coded:"y", decoded:"y"}, {coded:"z", decoded:"z"}, {coded:"{", decoded:"{"}, {coded:"|", decoded:"|"}, {coded:"}", decoded:"}"}, {coded:"~", decoded:"~"}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"
", decoded:"c"}, {coded:"", decoded:"õ"}, {coded:"", decoded:"ö"}, {coded:"", decoded:" "}, {coded:"", decoded:"ñ"}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:"e"}, {coded:"", decoded:"f"}, {coded:"", decoded:"g"}, {coded:"", decoded:"h"}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:"", decoded:" "}, {coded:" ", decoded:""}, {coded:"¡", decoded:"!"}, {coded:"¢", decoded:"‘"}, {coded:"£", decoded:"’"}, {coded:"¤", decoded:" "}, {coded:"¥", decoded:"\\"}, {coded:"¦", decoded:"|"}, {coded:"§", decoded:"˜"}, {coded:"¨", decoded:"N"}, {coded:"©", decoded:"c"}, {coded:"ª", decoded:"a"}, {coded:"«", decoded:"á"}, {coded:"¬", decoded:"Ê"}, {coded:"", decoded:""}, {coded:"®", decoded:"R"}, {coded:"¯", decoded:"P"}, {coded:"°", decoded:"‹"}, {coded:"±", decoded:"}"}, {coded:"²", decoded:"2"}, {coded:"³", decoded:"3"}, {coded:"´", decoded:"L"}, {coded:"µ", decoded:"ƒÊ"}, {coded:"¶", decoded:"÷"}, {coded:"·", decoded:"E"}, {coded:"¸", decoded:"C"}, {coded:"¹", decoded:"1"}, {coded:"º", decoded:"o"}, {coded:"»", decoded:"â"}, {coded:"¼", decoded:" "}, {coded:"½", decoded:" "}, {coded:"¾", decoded:" "}, {coded:"¿", decoded:" "}, {coded:"À", decoded:"A"}, {coded:"Á", decoded:"A"}, {coded:"Â", decoded:"A"}, {coded:"Ã", decoded:"A"}, {coded:"Ä", decoded:"A"}, {coded:"Å", decoded:"A"}, {coded:"Æ", decoded:"A"}, {coded:"Ç", decoded:"C"}, {coded:"È", decoded:"E"}, {coded:"É", decoded:"E"}, {coded:"Ê", decoded:"E"}, {coded:"Ë", decoded:"E"}, {coded:"Ì", decoded:"I"}, {coded:"Í", decoded:"I"}, {coded:"Î", decoded:"I"}, {coded:"Ï", decoded:"I"}, {coded:"Ð", decoded:"D"}, {coded:"Ñ", decoded:"N"}, {coded:"Ò", decoded:"O"}, {coded:"Ó", decoded:"O"}, {coded:"Ô", decoded:"O"}, {coded:"Õ", decoded:"O"}, {coded:"Ö", decoded:"O"}, {coded:"×", decoded:"~"}, {coded:"Ø", decoded:"O"}, {coded:"Ù", decoded:"U"}, {coded:"Ú", decoded:"U"}, {coded:"Û", decoded:"U"}, {coded:"Ü", decoded:"U"}, {coded:"Ý", decoded:"Y"}, {coded:"Þ", decoded:"T"}, {coded:"ß", decoded:"s"}, {coded:"à", decoded:"a"}, {coded:"á", decoded:"a"}, {coded:"â", decoded:"a"}, {coded:"ã", decoded:"a"}, {coded:"ä", decoded:"a"}, {coded:"å", decoded:"a"}, {coded:"æ", decoded:"a"}, {coded:"ç", decoded:"c"}, {coded:"è", decoded:"e"}, {coded:"é", decoded:"e"}, {coded:"ê", decoded:"e"}, {coded:"ë", decoded:"e"}, {coded:"ì", decoded:"i"}, {coded:"í", decoded:"i"}, {coded:"î", decoded:"i"}, {coded:"ï", decoded:"i"}, {coded:"ð", decoded:"d"}, {coded:"ñ", decoded:"n"}, {coded:"ò", decoded:"o"}, {coded:"ó", decoded:"o"}, {coded:"ô", decoded:"o"}, {coded:"õ", decoded:"o"}, {coded:"ö", decoded:"o"}, {coded:"÷", decoded:"€"}, {coded:"ø", decoded:"o"}, {coded:"ù", decoded:"u"}, {coded:"ú", decoded:"u"}, {coded:"û", decoded:"u"}, {coded:"ü", decoded:"u"}, {coded:"ý", decoded:"y"}, {coded:"þ", decoded:"t"}, {coded:"ÿ", decoded:"y"});
}
//static variables/etc.
private static var htmlSpecialElementsArray:Array; //slotID:1
public static function strip(hug1:String):String
{ //dispID:3, MethodID:1949, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 191
var hug4:* = undefined;
var hug2:* = hug1.split("\n");
hug1 = hug2.join("");
hug2 = hug1.split("\r");
hug1 = hug2.join("");
var hug3:* = hug1.indexOf("<");
while(hug3 != (-1)){
hug4 = hug1.indexOf(">", (hug3 + 1));
if(hug4 == (-1)){
hug4 = (hug1.length - 1);
}else{
}
if(hug1.substr(hug3, 3) == "
1){
hug3 = Number(hug2[hug2.length - 1]);
hug3 += (Number(hug2[hug2.length - 2]) * 60);
if(hug2.length == 3) hug3 += (Number(hug2[hug2.length - 3]) * 3600);
}else{
hug3 = Number(hug1);
}
return hug3;
}
public static function serialize(hug1:String, hug2:Object):Object
{ //dispID:7, MethodID:1953, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 100
var hug3:String = typeof(hug2);
switch(hug3){
case "boolean":
if(hug1 == "true") return true;
return false;
case "number":
return Number(hug1);
default:
return Strings.decode(hug1);
break;
}
}
public static function decode(hug1:String):String
{ //dispID:8, MethodID:1954, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 54
var hug2:* = hug1.indexOf("asfunction");
if(hug2 == (-1)) return decodeURI(hug1);
return decodeURI(hug1.substr(0, hug2) + hug1.substr(hug2 + 10));
}
public static function htmlToText(hug1:String):String
{ //dispID:9, MethodID:1955, LocalCount= 5 , MaxScope= 5, MaxStack= 4, CodeLength= 168
internal var value:String; //slotID:1
internal var retStr:String; //slotID:2
internal var element:Object; //slotID:3
internal var pattern:RegExp; //slotID:4
element = null;
pattern = null;
value = hug1;
retStr = value;
if(!retStr || (retStr == "")) return "";
try{
for each(element in htmlSpecialElementsArray){
pattern = new RegExp(element.coded, "gi");
retStr = retStr.replace(pattern, element.decoded);
}
}
catch(error:Error){
}
return retStr;
}
//constructor
public function Strings()
{ //MethodID:1956, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script201¡
package ru.rutube.managers.playlist{
//¡class(instance)_index:201
public class PlayFilesList extends Object
{
//static constructor
public static function PlayFilesList$cinit()
{ //MethodID:1958, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//variables/etc.
private var currentFileHash:String = ""; //slotID:0
private var currentPlayIndex:int = -1; //slotID:0
private var playFiles:Array; //slotID:0
public var previousIndex:int = -1; //slotID:0
public function get length():int
{ //MethodID:1959, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.playFiles.length;
}
public function get currentIndex():int
{ //MethodID:1960, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.currentPlayIndex;
}
public function get currentPlayFile():String
{ //MethodID:1961, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46
if(this.currentIndex < 0) return this.next();
if(this.playFiles.length == 0) return "";
return this.playFiles[this.currentPlayIndex];
}
public function get fileHash():String
{ //MethodID:1962, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.currentFileHash;
}
public function next():String
{ //MethodID:1963, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 131
if(this.playFiles.length >= this.currentPlayIndex){
this.currentPlayIndex++;
}else{
this.currentPlayIndex = 0;
}
this.currentFileHash = "";
if(this.playFiles.length == 0) return "";
var hug1:String = this.playFiles[this.currentPlayIndex];
var hug2:RegExp = new RegExp("(?:/|%2F)(.{32}).iflv", "gi");
var hug3:Array = hug2.exec(hug1);
this.currentFileHash = hug3[1];
return this.playFiles[this.currentPlayIndex];
}
public function setFilesList(hug1:String):void
{ //MethodID:1964, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 38
do{
}while(this.playFiles.pop() != null);
this.playFiles = null;
this.playFiles = hug1.split(",");
}
//constructor
public function PlayFilesList()
{ //MethodID:1965, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
this.playFiles = [];
super();
}
}
}
//¡script202¡
package ru.rutube.event{
import flash.events.Event
//¡class(instance)_index:202
public class ConfigurationMetaInfoEvent extends Event
{
//static constructor
public static function ConfigurationMetaInfoEvent$cinit()
{ //MethodID:1967, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
CONFIGURATION_META_INFO_LOAD_COMPLETE = "CONFIGURATION_META_INFO_LOAD_COMPLETE";
CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE = "CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE";
CONFIGURATION_USER_INFO_LOAD_COMPLETE = "CONFIGURATION_USER_INFO_LOAD_COMPLETE";
}
//static variables/etc.
public static const CONFIGURATION_META_INFO_LOAD_COMPLETE:String = "CONFIGURATION_META_INFO_LOAD_COMPLETE";//slotID:1
public static const CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE:String = "CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE";//slotID:2
public static const CONFIGURATION_USER_INFO_LOAD_COMPLETE:String = "CONFIGURATION_USER_INFO_LOAD_COMPLETE";//slotID:3
//constructor
public function ConfigurationMetaInfoEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false)
{ //MethodID:1968, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9
super(hug1, hug2, hug3);
}
}
}
//¡script203¡
package ru.rutube.managers.configuration.data{
//¡class(instance)_index:203
public class PlayerConfig extends Object
{
//static constructor
public static function PlayerConfig$cinit()
{ //MethodID:1970, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//variables/etc.
private var skin:String = ""; //slotID:0
private var embededContentAllowed:Boolean = true; //slotID:0
private var imageSrc:String = ""; //slotID:0
private var advertisementArray:Array; //slotID:0
private var _trackId:int = 0; //slotID:0
private var _userId:String = 0; //slotID:0
private var contentAllowed:Boolean = true; //slotID:0
private var contentBlockReason:String = ""; //slotID:0
public function isContentAllowed():Boolean
{ //MethodID:1971, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.contentAllowed;
}
public function isEmbededContentAllowed():Boolean
{ //MethodID:1972, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.embededContentAllowed;
}
public function get blockReason():String
{ //MethodID:1973, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.contentBlockReason;
}
public function get skinUrl():String
{ //MethodID:1974, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.skin;
}
public function get isSkinExists():Boolean
{ //MethodID:1975, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return (this.skin.length > 5);
}
public function get trackId():int
{ //MethodID:1976, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._trackId;
}
public function get isImagePresent():Boolean
{ //MethodID:1977, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return (this.imageSrc.length > 0);
}
public function get imageUrl():String
{ //MethodID:1978, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.imageSrc.concat();
}
public function get advertisement():Array
{ //MethodID:1979, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.advertisementArray.concat();
}
public function getAdvertise(hug1:int):AdvertisingData
{ //MethodID:1980, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 34
if(this.advertisementArray.length > hug1) return new AdvertisingData(this.advertisementArray[hug1]);
return new AdvertisingData();
}
public function get userId():String
{ //MethodID:1981, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._userId;
}
public function initByFlashVars(hug1:String):void
{ //MethodID:1982, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._userId = hug1;
}
public function parseXml(hug1:XML):void
{ //MethodID:1983, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 323
if(!hug1) return;
if(hug1.hasOwnProperty("track")) this._trackId = Number(hug1.track.attribute("id").toString());
if(isNaN(this._trackId)) this._trackId = 0;
if((this._trackId > 0) && hug1.track.hasOwnProperty("img")) this.imageSrc = hug1.track.img.attribute("src").toString();
if(hug1.hasOwnProperty("skin")) this.skin = hug1.skin.toString();
if(hug1.hasOwnProperty("user")) this._userId = hug1.user.toString();
if(hug1.hasOwnProperty("forbidden")) this.contentAllowed = false;
if(hug1.hasOwnProperty("embeded_forbidden")) this.embededContentAllowed = false;
if(!this.contentAllowed){
this.contentBlockReason = hug1.forbidden.attribute("for").toString();
if(!this.contentBlockReason) this.contentBlockReason = "";
}
var hug2:XMLList = hug1.child("advert");
do{
}while(this.advertisementArray.pop() != null);
var hug3:int = 0;
while(hug3 < hug2.length()){
this.advertisementArray.push(hug2[hug3].toString().replace(new RegExp(" ", "gi"), ""));
hug3++;
}
}
//constructor
public function PlayerConfig()
{ //MethodID:1984, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
this.advertisementArray = [];
super();
}
}
}
//¡script204¡
package ru.rutube.managers.advertisement.model.context.begun{
import ru.rutube.managers.advertisement.model.context.ContextRecord
//¡class(instance)_index:204
public class BegunContextRecord extends ContextRecord
{
//static constructor
public static function BegunContextRecord$cinit()
{ //MethodID:1986, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function BegunContextRecord()
{ //MethodID:1987, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
override public function parse(hug1:XML):void
{ //MethodID:1988, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 59
title = hug1.title.toString();
desc = hug1.desc.toString();
domain = hug1.domain.toString();
url = hug1.url.toString();
}
}
}
//¡script205¡
package ru.rutube.managers.advertisement.model.adriver{
//¡class(instance)_index:205
public class AdvertisementTwinOverlayXml extends Object
{
//static constructor
public static function AdvertisementTwinOverlayXml$cinit()
{ //MethodID:1990, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdvertisementTwinOverlayXml()
{ //MethodID:1991, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
protected var _duration:Number = 0.0; //slotID:0
protected var bannerUrl:String = ""; //slotID:0
protected var _widthSWF:Number = 0.0; //slotID:0
protected var _heightSWF:Number = 0.0; //slotID:0
protected var adType:int = 0; //slotID:0
public function get type():int
{ //MethodID:1992, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.adType;
}
public function get isLoaded():Boolean
{ //MethodID:1993, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return (this.bannerUrl.length > 0);
}
public function get url():String
{ //MethodID:1994, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.bannerUrl.concat();
}
public function get duration():Number
{ //MethodID:1995, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._duration;
}
public function get widthSWF():Number
{ //MethodID:1996, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._widthSWF;
}
public function get heightSWF():Number
{ //MethodID:1997, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._heightSWF;
}
public function reset():void
{ //MethodID:1998, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33
this.adType = 0;
this.bannerUrl = "";
this._duration = 0;
this._widthSWF = 0;
this._heightSWF = 0;
}
public function initFromRutubeXml(hug1:AdvertisementRutubeXml):void
{ //MethodID:1999, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 48
this.reset();
this.adType = hug1.bannerType;
this.bannerUrl = hug1.bannerUrl;
this._duration = hug1.duration;
this._widthSWF = hug1.widthSWF;
this._heightSWF = hug1.heightSWF;
}
public function parse(hug1:XML):void
{ //MethodID:2000, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 283
if(!hug1) return;
var hug2:String = String(hug1.@type).toLowerCase();
if(hug2 == "swf"){
this.adType = AdvertisementRutubeXml.BANNER_SWF;
}else if(hug2 == "flv"){
this.adType = AdvertisementRutubeXml.BANNER_FLV;
}else if(hug2 == "img"){
this.adType = AdvertisementRutubeXml.BANNER_IMG;
}
this.bannerUrl = hug1["localUrl"].toString().replace(new RegExp(" ", "gi"), "");
if(this.bannerUrl.length < 2) this.bannerUrl = hug1["locationUrl"].toString().replace(new RegExp(" ", "gi"), "");
this._duration = Number(hug1["duration"].toString());
if(isNaN(this._duration)) this._duration = 0;
this._widthSWF = Number(hug1["widthSWF"].toString());
if(isNaN(this._widthSWF)) this._widthSWF = 0;
this._heightSWF = Number(hug1["heightSWF"].toString());
if(isNaN(this._heightSWF)) this._heightSWF = 0;
}
}
}
//¡script206¡
//skip components :com.google.analytics.core
//as filename :ServerOperationMode.as
//¡script207¡
//skip components :com.google.analytics.core
//as filename :EventTracker.as
//¡script208¡
//skip components :com.google.analytics.v4
//as filename :Configuration.as
//¡script209¡
//skip components :com.google.analytics.debug
//as filename :DebugConfiguration.as
//¡script210¡
//skip components :com.google.analytics.events
//as filename :AnalyticsEvent.as
//¡script211¡
//skip components :com.google.analytics
//as filename :API.as
//¡script212¡
//skip components :com.google.analytics.core
//as filename :TrackerCache.as
//¡script213¡
//skip components :com.google.analytics.core
//as filename :Buffer.as
//¡script214¡
//skip components :com.google.analytics.core
//as filename :ga_internal.as
//¡script215¡
//skip components :com.google.analytics.core
//as filename :IdleTimer.as
//¡script216¡
//skip components :com.google.analytics.v4
//as filename :Bridge.as
//¡script217¡
//skip components :com.google.analytics.external
//as filename :JavascriptProxy.as
//¡script218¡
//skip components :com.google.analytics.external
//as filename :HTMLDOM.as
//¡script219¡
//skip components :com.google.analytics.core
//as filename :GIFRequest.as
//¡script220¡
//skip components :com.google.analytics.external
//as filename :AdSenseGlobals.as
//¡script221¡
//skip components :com.google.analytics.utils
//as filename :Version.as
//¡script222¡
//skip components :com.google.analytics.debug
//as filename :ILayout.as
//¡script223¡
//skip components :com.google.analytics.debug
//as filename :Layout.as
//¡script224¡
//skip components :com.google.analytics.utils
//as filename :Environment.as
//¡script225¡
//skip components :com.google.analytics.v4
//as filename :Tracker.as
//¡script226¡
package ru.rutube.managers.statistic.tns{
import flash.net.URLLoader
import flash.net.URLRequest
import flash.net.sendToURL
import flash.utils.Dictionary
//¡class(instance)_index:225
public class TNSStatistic extends Object
{
//static constructor
public static function TNSStatistic$cinit()
{ //MethodID:2408, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
_instance = null;
}
//static variables/etc.
private static var _instance:TNSStatistic = null; //slotID:1
public static function get instance():TNSStatistic
{ //dispID:3, MethodID:2409, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new TNSStatistic();
return _instance;
}
//constructor
public function TNSStatistic()
{ //MethodID:2410, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 55
super();
if(_instance) throw new Error("Need use static method 'instance' !");
_instance = this;
this.currentFile = " ";
this._referrer = "";
this.reportDictionary = new Dictionary();
}
//variables/etc.
private var _referrer:String = null; //slotID:0
private var reportDictionary:Dictionary = null; //slotID:0
private var currentFile:String = null; //slotID:0
public function set referrer(hug1:String):void
{ //MethodID:2411, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
this._referrer = hug1;
if(!this._referrer) this._referrer = "";
}
public function get referrer():String
{ //MethodID:2412, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this._referrer.concat();
}
public function setCurrentFile(hug1:String):void
{ //MethodID:2413, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this.currentFile = hug1;
}
public function setFileReports(hug1:String, hug2:String, hug3:String):void
{ //MethodID:2414, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 86
var hug4:TnsReportRec = this.getReportRecord(hug1);
if((hug4.startReportUrl != null) && (hug4.startReportUrl.length > 0)) hug4.clear();
hug4.startReportUrl = hug2;
hug4.finishReportUrl = hug3;
if(hug4.needStartReport){
hug4.needStartReport = false;
hug4.startReported = false;
this.startReport(hug1);
}
}
public function initReport():void
{ //MethodID:2415, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21
var hug1:String = ("http://www.tns-counter.ru/V13a***R>" + "$REF" + "*rutube_ru/ru/KOI8-R/tmsec=rutube_player/");
this.statisticReport(hug1);
}
public function reset(hug1:String=null):void
{ //MethodID:2416, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 40
var hug2:TnsReportRec = this.getReportRecord(hug1);
var hug3:Boolean = false;
hug2.startReported = hug3;
hug2.finishReported = hug3;
var hug3:Boolean = false;
hug2.needFinishReport = hug3;
hug2.needStartReport = hug3;
}
public function startReport(hug1:String=null):Boolean
{ //MethodID:2417, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 73
var hug2:TnsReportRec = this.getReportRecord(hug1);
if(!hug2.startReported){
hug2.startReported = true;
if((hug2.startReportUrl != null) && (hug2.startReportUrl.length > 0)){
this.statisticReport(hug2.startReportUrl);
}else{
hug2.needStartReport = true;
}
return true;
}
return false;
}
public function finishReport(hug1:String=null):Boolean
{ //MethodID:2418, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 73
var hug2:TnsReportRec = this.getReportRecord(hug1);
if(!hug2.finishReported){
hug2.finishReported = true;
if((hug2.finishReportUrl != null) && (hug2.finishReportUrl.length > 0)){
this.statisticReport(hug2.finishReportUrl);
}else{
hug2.needFinishReport = true;
}
return true;
}
return false;
}
public function setReportFinished(hug1:String):Boolean
{ //MethodID:2419, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 28
var hug2:TnsReportRec = this.getReportRecord(hug1);
if(!hug2.finishReported){
hug2.finishReported = true;
return true;
}
return false;
}
protected function getReportRecord(hug1:String=null):TnsReportRec
{ //MethodID:2420, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 55
var hug2:TnsReportRec = null;
if(!hug1) return new TnsReportRec();
hug2 = (this.reportDictionary[hug1] as TnsReportRec);
if(!hug2){
hug2 = new TnsReportRec();
this.reportDictionary[hug1] = hug2;
}
return hug2;
}
protected function statisticReport(hug1:String=null):void
{ //MethodID:2421, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 218
var hug6:String = null;
var hug7:RegExp = null;
if(!hug1) return;
if(hug1.length < 5) return;
var hug2:Array = hug1.split(" ");
var hug3:URLRequest = null;
var hug4:URLLoader = null;
var hug5:int = 0;
while(hug5 < hug2.length){
if((this.referrer != null) && (this.referrer.length > 0)){
hug6 = hug2[hug5];
hug7 = new RegExp("\$REF");
hug6 = hug6.replace(hug7, this.referrer);
hug7 = new RegExp("^\s*");
hug6 = hug6.replace(hug7, "");
hug7 = new RegExp("\s*$");
hug6 = hug6.replace(hug7, "");
hug2[hug5] = hug6;
}
hug3 = new URLRequest(hug2[hug5]);
sendToURL(hug3);
hug5++;
}
}
protected function statisticReportEx(hug1:Array, hug2:String=null):void
{ //MethodID:2422, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 125
var hug5:URLRequest = null;
var hug6:String = null;
var hug7:RegExp = null;
var hug3:Array = hug1;
var hug4:int = 0;
while(hug4 < hug3.length){
if((hug2 != null) && (hug2.length > 0)){
hug6 = hug3[hug4];
hug7 = new RegExp("\$REF");
hug3[hug4] = hug6.replace(hug7, hug2);
}
hug5 = new URLRequest(hug3[hug4]);
sendToURL(hug5);
hug4++;
}
}
}
}
//¡script227¡
package ru.rutube.managers.content{
//¡class(instance)_index:226
public final class ContentIds extends Object
{
//static constructor
public static function ContentIds$cinit()
{ //MethodID:2424, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 43
NONE = 0;
CIRCLE_PRELOADER = 1;
LOCK_PANEL = 2;
PLAYER = 3;
PLAYER_CONTENT_PRELOADER = 4;
}
//static variables/etc.
public static const NONE:int = 0; //slotID:1
public static const CIRCLE_PRELOADER:int = 1; //slotID:2
public static const LOCK_PANEL:int = 2; //slotID:3
public static const PLAYER:int = 3; //slotID:4
public static const PLAYER_CONTENT_PRELOADER:int = 4; //slotID:5
//constructor
public function ContentIds()
{ //MethodID:2425, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script228¡
package ru.rutube.states{
//¡class(instance)_index:227
public final class QueryElement extends Object
{
//static constructor
public static function QueryElement$cinit()
{ //MethodID:2427, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function QueryElement(hug1:Function=null, hug2:int=0)
{ //MethodID:2428, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16
super();
this.func = hug1;
this.stateAlias = hug2;
}
//variables/etc.
public var func:Function; //slotID:0
public var stateAlias:int = 0; //slotID:0
}
}
//¡script229¡
package ru.rutube.managers.playback.controller{
import flash.utils.Dictionary
import org.osmf.events.MediaFactoryEvent
import org.osmf.media.DefaultMediaFactory
import org.osmf.media.MediaElement
import org.osmf.media.MediaFactory
import org.osmf.media.PluginInfoResource
import org.osmf.media.URLResource
import org.osmf.metadata.Metadata
import ru.rutube.event.EventManager
import ru.rutube.managers.balancer.BalancerEvent
import ru.rutube.managers.balancer.BalancerManager
import ru.rutube.managers.balancer.BalancerResponder
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.playback.StreamMetaInfo
import ru.rutube.media.MediaTypes
import ru.rutube.plugin.statistic.google.GoogleStatisticPlugin
//¡class(instance)_index:228
public class StreamControllerManager extends Object
{
//static constructor
public static function StreamControllerManager$cinit()
{ //MethodID:2430, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
_instance = null;
}
//static variables/etc.
private static var _instance:StreamControllerManager = null; //slotID:1
public static function get instance():StreamControllerManager
{ //dispID:3, MethodID:2431, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new StreamControllerManager();
return _instance;
}
//constructor
public function StreamControllerManager()
{ //MethodID:2432, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37
super();
if(_instance != null) throw new Error("Oops!");
_instance = this;
this.init();
}
//variables/etc.
private var _factory:MediaFactory = null; //slotID:0
private var controllers:Dictionary = null; //slotID:0
private function init():void
{ //MethodID:2433, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 108
this.controllers = new Dictionary();
this._factory = new DefaultMediaFactory();
this._factory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD_ERROR, this.listenerPluginLoaded);
this._factory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD, this.listenerPluginLoaded);
EventManager.instance.addEventListener(BalancerEvent.EVENT_BALANCER_COMPLETE, this.listenerBalanceComplete, false, 0, true);
EventManager.instance.addEventListener(BalancerEvent.EVENT_BALANCER_ERROR, this.listenerBalanceError, false, 0, true);
this.loadPlugins();
}
public function loadPlugins(hug1:Array=null):void
{ //MethodID:2434, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 25
this._factory.loadPlugin(new PluginInfoResource(new GoogleStatisticPlugin()));
}
protected function get factory():MediaFactory
{ //MethodID:2435, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._factory;
}
public function createMediaElement(hug1:URLResource):MediaElement
{ //MethodID:2436, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 35
var hug2:Metadata = new Metadata();
hug1.addMetadataValue(MediaTypes.MEDIA_TYPE_GOOGLE_VIDEO_PROXY, hug2);
return this.factory.createMediaElement(hug1);
}
public function getController(hug1:int=0):StreamController
{ //MethodID:2437, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 104
var hug2:StreamController = null;
if(hug1 == StreamController.CONTROLLER_NONE){
hug2 = new StreamController();
}else{
hug2 = this.controllers[hug1];
if(!hug2){
hug2 = ((hug1 == StreamController.CONTROLLER_ADVERTISE_STREAM) ? new AdvertisementStreamController(hug1) : new StreamController(hug1));
this.controllers[hug1] = hug2;
hug2.addEventListener(StreamControllerEvent.EVENT_BALANCE_URL, this.listenerBalanceFile);
}
}
return hug2;
}
public function getOffset(hug1:int, hug2:Number):Number
{ //MethodID:2438, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 139
var hug3:StreamController = this.getController(hug1);
var hug4:Number = hug2;
if(hug3.getMediaType() == StreamController.STREAM_TYPE_STREAM) return hug4;
var hug5:StreamMetaInfo = hug3.getMetaData();
if(hug3.getSecondMetaData().isHasMetadata()){
hug5 = hug3.getSecondMetaData();
}else{
hug5 = hug3.getMetaData();
}
var hug6:int = -1;
if(hug5.isHasMetadata() && hug5.isHasKeyframes()){
hug6 = hug5.searchIndex(hug4);
if(hug6 > (-1)) hug4 = hug5.getTimeByIndex(hug6);
}
return hug4;
}
public function getCorrectedOffset(hug1:int, hug2:Number):Number
{ //MethodID:2439, LocalCount= 8 , MaxScope= 1, MaxStack= 2, CodeLength= 218
var hug3:Number = hug2;
var hug4:StreamController = this.getController(hug1);
if(hug4.getMediaType() == StreamController.STREAM_TYPE_STREAM) return hug3;
var hug5:StreamMetaInfo = hug4.getMetaData();
var hug6:int = -1;
if(hug5.isHasMetadata() && hug5.isHasKeyframes()){
hug6 = hug5.searchIndex(hug3);
if(hug6 > (-1)){
switch(hug4.getMediaType()){
case StreamController.STREAM_TYPE_FLV:
case StreamController.STREAM_TYPE_IFLV:
hug3 = hug5.getByteShift(hug6);
break;
case StreamController.STREAM_TYPE_MP4:
hug3 = hug5.getTimeByIndex(hug6);
break;
default:
break;
}
}
}
return hug3;
}
public function get volume():Number
{ //MethodID:2440, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 20
var hug1:StreamController = this.getController(StreamController.CONTROLLER_MAIN_STREAM);
return hug1.volume;
}
public function set volume(hug1:Number):void
{ //MethodID:2441, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 67
var hug2:Array = [StreamController.CONTROLLER_MAIN_STREAM, StreamController.CONTROLLER_ADVERTISE_STREAM, StreamController.CONTROLLER_CACHE_STREAM];
var hug3:StreamController = null;
var hug4:int = 0;
while(hug4 < hug2.length){
hug3 = this.getController(hug2[hug4]);
hug3.volume = hug1;
hug4++;
}
}
public function playOffsettedMedia(hug1:int, hug2:Number):void
{ //MethodID:2442, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 147
var hug3:StreamController = this.getController(hug1);
hug2 = StreamControllerManager.instance.getOffset(hug1, hug2);
var hug4:int = this.getBalancerId(hug1);
var hug5:String = ((hug3.balancedUrl.length > 0) ? hug3.balancedUrl : BalancerManager.instance.getResponder(hug4).videoStreamUrl);
var hug6:String = BalancerManager.instance.getResponder(hug4).buildPlayUrl(hug5, ConfigurationManager.instance.flashVariablesConfig.referrer, (hug3.getMediaType() == StreamController.STREAM_TYPE_MP4), hug2);
hug3.offset = hug2;
hug3.autoBalance = true;
hug3.needAutoConnect = true;
hug3.setBalancedUrl(hug6, false);
hug3.play();
}
private function getBalancerId(hug1:int):int
{ //MethodID:2443, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 136
var hug2:int = 0;
var hug3:int = hug1;
switch(hug3){
case StreamController.CONTROLLER_MAIN_STREAM:
hug2 = BalancerResponder.BALANCER_MAIN;
break;
case StreamController.CONTROLLER_ADVERTISE_STREAM:
hug2 = BalancerResponder.BALANCER_ADVERTISEMENT;
break;
case StreamController.CONTROLLER_CACHE_STREAM:
hug2 = BalancerResponder.BALANCER_CACHE;
break;
default:
break;
}
return hug2;
}
private function getControllerId(hug1:int):int
{ //MethodID:2444, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 136
var hug2:int = 0;
var hug3:int = hug1;
switch(hug3){
case BalancerResponder.BALANCER_MAIN:
hug2 = StreamController.CONTROLLER_MAIN_STREAM;
break;
case BalancerResponder.BALANCER_ADVERTISEMENT:
hug2 = StreamController.CONTROLLER_ADVERTISE_STREAM;
break;
case BalancerResponder.BALANCER_CACHE:
hug2 = StreamController.CONTROLLER_CACHE_STREAM;
break;
default:
break;
}
return hug2;
}
private function listenerPluginLoaded(hug1:MediaFactoryEvent):void
{ //MethodID:2445, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function listenerBalanceFile(hug1:StreamControllerEvent):void
{ //MethodID:2446, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 201
var hug2:StreamController = (hug1.target as StreamController);
var hug3:int = this.getBalancerId(hug2.type);
var hug4:BalancerResponder = BalancerManager.instance.getResponder(hug3);
if((hug2.preBalancedUrl.lastIndexOf(".iflv") < 0) || !BalancerManager.instance.isBalancerUrl(hug2.preBalancedUrl)){
hug4.load(hug2.preBalancedUrl);
return;
}
if(!hug4.isLoading){
hug4.reset();
}else{
return;
}
var hug5:String = hug4.buildRequestUrl(hug2.preBalancedUrl, ConfigurationManager.instance.flashVariablesConfig.referrer, (hug2.getMediaType() == StreamController.STREAM_TYPE_MP4), hug2.offset, true);
hug5 = hug5.replace(new RegExp("\.iflv"), ".xml");
if(hug5.indexOf("http://") == (-1)) hug5 = ("http://" + hug5);
hug4.load(hug5, true);
}
private function listenerBalanceComplete(hug1:BalancerEvent):void
{ //MethodID:2447, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 127
var hug2:StreamController = null;
hug2 = this.getController(this.getControllerId(hug1.id));
var hug3:BalancerResponder = BalancerManager.instance.getResponder(hug1.id);
if((hug2.preBalancedUrl.lastIndexOf(".iflv") < 0) || !BalancerManager.instance.isBalancerUrl(hug2.preBalancedUrl)){
hug2.setBalancedUrl(hug2.preBalancedUrl);
}else{
hug2.setBalancedUrl(hug3.videoStreamUrl);
}
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_RECEIVE_BALANCED_URL, null, hug2.type));
}
private function listenerBalanceError(hug1:BalancerEvent):void
{ //MethodID:2448, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
}
}
//¡script230¡
package{
import Components.FunctionalPanel
import Components.ParamEvent
import Components.Player
import Components.PlaylistPanel
import Components.SkinManager
import Components.EndScreen.EndScreen2
import Components.EndScreen.Navigator
import Components.Renderer.PlayerLayoutRenderer
import Components.Utils.BookmarkItem
import Components.Utils.sprintf
import Components.Window.SnapshotWindow
import Data.TIDS
import Data.TSearchItem
import flash.display.Stage
import flash.display.StageDisplayState
import flash.events.Event
import flash.events.IOErrorEvent
import flash.events.KeyboardEvent
import flash.events.MouseEvent
import flash.events.SecurityErrorEvent
import flash.events.TimerEvent
import flash.external.ExternalInterface
import flash.net.URLLoader
import flash.net.URLRequest
import flash.net.navigateToURL
import flash.net.sendToURL
import flash.utils.Timer
import ru.rutube.command.CommandManager
import ru.rutube.command.commands.advertisement.overlay.CommandAdvertisementOverlayClick
import ru.rutube.command.commands.advertisement.overlay.CommandAdvertisementOverlayError
import ru.rutube.command.commands.advertisement.video.CommandAdvertisementShowBanner
import ru.rutube.command.commands.advertisement.video.CommandAdvertisementShowFlvBanner
import ru.rutube.command.commands.balancer.CommandBalancerComplete
import ru.rutube.command.commands.balancer.CommandBalancerError
import ru.rutube.command.commands.loading.CommandLoadindVideoWallComplete
import ru.rutube.command.commands.service.CommandRestart
import ru.rutube.command.commands.service.CommandStageEvents
import ru.rutube.command.commands.streaming.CommandStreamBufferingChange
import ru.rutube.command.commands.streaming.CommandStreamCurrentTimeChange
import ru.rutube.command.commands.streaming.CommandStreamDurationChange
import ru.rutube.command.commands.streaming.CommandStreamError
import ru.rutube.command.commands.streaming.CommandStreamLoadingProgress
import ru.rutube.command.commands.streaming.CommandStreamMediaEvents
import ru.rutube.command.commands.streaming.CommandStreamMetadataReceived
import ru.rutube.command.commands.streaming.CommandStreamPlayerStateChange
import ru.rutube.command.commands.streaming.CommandStreamVideoComplete
import ru.rutube.command.commands.ui.CommandUIHideTopPanel
import ru.rutube.command.commands.ui.CommandUILogotypeClick
import ru.rutube.command.commands.ui.CommandUIMenuHandler
import ru.rutube.command.commands.ui.CommandUIPause
import ru.rutube.command.commands.ui.CommandUIShowAboutwindow
import ru.rutube.command.commands.ui.CommandUITimelineMark
import ru.rutube.command.commands.ui.CommandUITimelineThumb
import ru.rutube.command.commands.ui.CommandUITimelineThumbMouse
import ru.rutube.command.commands.ui.CommandUITimelineTime
import ru.rutube.command.commands.ui.CommandUITimelineTrack
import ru.rutube.command.commands.ui.CommandUITitleVideoClick
import ru.rutube.command.commands.ui.CommandUIVideoModify
import ru.rutube.command.commands.ui.CommandUIVolumeControl
import ru.rutube.command.commands.ui.CommandUIVote
import ru.rutube.command.commands.voting.CommandVotingFailed
import ru.rutube.command.commands.voting.CommandVotingSuccess
import ru.rutube.event.ChangePlayerStateEvent
import ru.rutube.event.ConfigurationMetaInfoEvent
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.EventManager
import ru.rutube.event.FunctionalPanelEvent
import ru.rutube.event.GoogleEvent
import ru.rutube.event.InternalEvent
import ru.rutube.event.RestartEvent
import ru.rutube.manager.extern.ExternalNotifier
import ru.rutube.managers.PopUpManager
import ru.rutube.managers.advertisement.AdvertisementControllerManager
import ru.rutube.managers.advertisement.AdvertisementManager
import ru.rutube.managers.advertisement.AdvertisementType
import ru.rutube.managers.advertisement.event.AdvertisementControllerEvent
import ru.rutube.managers.advertisement.model.Advertisement
import ru.rutube.managers.advertisement.visual.controller.AdvertisementController
import ru.rutube.managers.balancer.BalancerEvent
import ru.rutube.managers.balancer.BalancerManager
import ru.rutube.managers.balancer.BalancerResponder
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.data.AdvertisingString
import ru.rutube.managers.configuration.data.FlashVariablesConfig
import ru.rutube.managers.configuration.data.MetaInfo
import ru.rutube.managers.configuration.data.PlayerConfig
import ru.rutube.managers.configuration.data.PlaylistElement
import ru.rutube.managers.configuration.data.VoteData
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.cookie.CookieManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerEvent
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.managers.playback.stream.RemoteStreamType
import ru.rutube.managers.playback.stream.StreamEvent
import ru.rutube.managers.preloader.PreloaderManager
import ru.rutube.managers.remote.RemoteEvent
import ru.rutube.managers.reporter.Reporter
import ru.rutube.managers.statistic.comscore.ComScoreStatistic
import ru.rutube.managers.statistic.google.GoogleAnalyticsConstants
import ru.rutube.managers.statistic.player.PlayerStatistic
import ru.rutube.managers.statistic.tns.TNSStatistic
import ru.rutube.managers.voting.VoteEvent
import ru.rutube.managers.voting.VotingManager
import ru.rutube.states.PlayerState
//¡class(instance)_index:229
public class Controller extends Object
{
//static constructor
public static function Controller$cinit()
{ //MethodID:2450, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
_instance = null;
}
//static variables/etc.
private static var _instance:Controller = null; //slotID:1
public static function get instance():Controller
{ //dispID:3, MethodID:2451, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new Controller();
return _instance;
}
public static function getTimeInfo(hug1:Number):String
{ //dispID:4, MethodID:2452, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 65
var hug2:uint = (hug1 / 3600);
var hug3:uint = ((hug1 % 3600) / 60);
var hug4:uint = (hug1 % 60);
return (hug2 ? sprintf("%d:%.2d:%.2d", hug2, hug3, hug4) : sprintf("%.2d:%.2d", hug3, hug4));
}
//constructor
public function Controller():void
{ //MethodID:2453, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 377
this.m_Bookmarks = new Array();
super();
Reporter.instance.debugMode = ConfigurationManager.DEBUG_MODE;
var hug1:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
this.flashVariables = ConfigurationManager.instance.flashVariablesConfig;
this.metaInfo = ConfigurationManager.instance.metaInfo;
var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
hug2.needAutoConnect = !this.flashVariables.isEmbedMode;
hug2.autoBalance = !this.flashVariables.isEmbedMode;
hug2.offset = (this.flashVariables.bookMarkStartTime * 1000);
hug2.autoPlay = this.flashVariables.toggleAutoPlayVideo;
hug2.mediaContainer = hug1.mediaContainer;
this.isTwix = (SkinManager.getThemeName() == "AnimTwix");
hug1.setVersion(ConfigurationManager.VERSION + (ConfigurationManager.DEBUG_MODE ? " (debug)" : ""));
hug1.enablePlaylist = this.flashVariables.playListEnable;
hug1.autoHidePlaylist = this.flashVariables.playListEnable;
hug1.createES(this.flashVariables.isEmbedMode);
if(this.flashVariables.toggleInnerEmbedFlash) hug1.removeNavigator();
this.m_fileArray = String(this.flashVariables.urlContent).split(",");
if(this.m_fileArray.length > 0){
hug2.preBalancedUrl = this.m_fileArray[this.m_fileIndex];
Reporter.instance.tn = hug2.hash;
this.m_trySwitchCounter = 1;
}
TNSStatistic.instance.setCurrentFile(hug2.hash);
TNSStatistic.instance.referrer = this.flashVariables.referrer;
hug1.getFunctional().displayMode([FunctionalPanel.DISPLAY_FULLSCREEN_BUTTON], true);
hug1.previewLoad(ConfigurationManager.instance.playerConfig.imageUrl);
}
//variables/etc.
public var m_plPlayTimer:Timer; //slotID:0
public var m_AdPostViewLocked:Boolean = true; //slotID:0
public var m_Bookmarks:Array; //slotID:0
public var fireOverlayBanner:Boolean = false; //slotID:0
public var m_retryTimer:Timer; //slotID:0
public var m_AddToBookmarks:String = ""; //slotID:0
public var m_rtmsRetryTimer:Timer; //slotID:0
public var currentState:String = "STATE_UNDEFINED"; //slotID:0
public var m_curPLItem:uint = 0; //slotID:0
public var m_bHoldThumb:Boolean = false; //slotID:0
public var m_rtmsRetryInterval:Number = 0.0; //slotID:0
public var m_rtmsRetryCnt:uint = 0; //slotID:0
public var lastThumbSeekPos:Number = 0.0; //slotID:0
public var m_AdPreViewLocked:Boolean = true; //slotID:0
public var m_trySwitchCounter:int = 0; //slotID:0
public var isTwix:Boolean = false; //slotID:0
public var externAnimOffset:Number = -1.0; //slotID:0
public var metaInfo:MetaInfo = null; //slotID:0
public var previousState:String = "STATE_UNDEFINED"; //slotID:0
public var fullScreenHandled:Boolean = false; //slotID:0
public var m_RetryCnt:uint = 0; //slotID:0
public var m_fileIndex:int = 0; //slotID:0
private var flashVariables:FlashVariablesConfig = null; //slotID:0
public var m_prevSnapshotState:String; //slotID:0
public var m_fileArray:Array = null; //slotID:0
public var externalStop:Boolean = false; //slotID:0
public var externAnimTimer:Timer = null; //slotID:0
private var canShowNavigatopWhilePlay:Boolean = true; //slotID:0
public function init():void
{ //MethodID:2455, LocalCount= 2 , MaxScope= 2, MaxStack= 6, CodeLength= 2353
internal var playerConfig:PlayerConfig; //slotID:1
internal var forceAutoPlay:Boolean; //slotID:2
internal var isFullScreenEnabled:Boolean; //slotID:3
internal var streamController:StreamController; //slotID:4
internal var flvplayer:Player; //slotID:5
internal var isFunctionalPanelEnabled:Boolean; //slotID:6
internal var isSearchPanelEnabled:Boolean; //slotID:7
internal var isMediaContainerClickable:Boolean; //slotID:8
internal var areLinksClickable:Boolean; //slotID:9
internal var playing:Boolean; //slotID:10
internal var urlRequest:URLRequest; //slotID:11
internal var advertisement:Advertisement; //slotID:12
internal var advController:AdvertisementController; //slotID:13
urlRequest = null;
advertisement = null;
advController = null;
this.switchState(PlayerState.STATE_INITIAL);
playerConfig = ConfigurationManager.instance.playerConfig;
Reporter.instance.userId = String(playerConfig.userId);
if(Reporter.instance.userId.length == 0) Reporter.instance.userId = "0";
forceAutoPlay = SkinManager.getStyle("forceAutoPlay", false);
if(forceAutoPlay) this.flashVariables.toggleAutoPlayVideo = true;
isFullScreenEnabled = SkinManager.getStyle("isFullScreenEnabled", true);
if(!isFullScreenEnabled) this.flashVariables.hideFullScreen = true;
this.listenerMetaInfoLoaded();
streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
EventManager.instance.addEventListener(ControlPanelEvent.EVENT_PLAY, this.OnBnPlay, false, 0, true);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_PAUSE, CommandUIPause);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT, CommandUIPause);
EventManager.instance.addEventListener(ControlPanelEvent.EVENT_STOP, this.OnBnStop, false, 0, true);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_PRESS, CommandUITimelineThumb);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_DRAG, CommandUITimelineThumb);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_RELEASE, CommandUITimelineThumb);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_OVER, CommandUITimelineThumbMouse);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_OUT, CommandUITimelineThumbMouse);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_TRACK_PRESS, CommandUITimelineTrack);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_SHOW_ADD, CommandUITimelineMark);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_ADD, CommandUITimelineMark);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_EDIT, CommandUITimelineMark);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_OVER, CommandUITimelineMark);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_SHOW_DESC, CommandUITimelineMark);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_CHANGE, CommandUITimelineMark);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_VOLUME, CommandUIVolumeControl);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_CHANGE_VOLUME, CommandUIVolumeControl);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MUTE, CommandUIVolumeControl);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_TIMER_RELEASE, CommandUITimelineTime);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_SHOW_ABOUT_WINDOW, CommandUIShowAboutwindow);
CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_SCALE, CommandUIVideoModify);
CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_ROTATE, CommandUIVideoModify);
CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_SNAPSHOT, CommandUIVideoModify);
CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_FULLSCREEN, CommandUIVideoModify);
CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_MESSAGE, CommandUIMenuHandler);
CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_PLAYLIST, CommandUIMenuHandler);
CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_FAVORITES, CommandUIMenuHandler);
CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_VOTE, CommandUIVote);
CommandManager.instance.registerCommand(VoteEvent.VOTING_FAILED, CommandVotingFailed);
CommandManager.instance.registerCommand(VoteEvent.VOTING_SUCCESS, CommandVotingSuccess);
CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_LOGO, CommandUILogotypeClick);
EventManager.instance.addEventListener(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE, this.listenerMetaInfoLoaded, false, 0, true);
CommandManager.instance.registerCommand(ConfigurationMetaInfoEvent.CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE, CommandLoadindVideoWallComplete);
CommandManager.instance.registerCommand(BalancerEvent.EVENT_BALANCER_ERROR, CommandBalancerError);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_RECEIVE_BALANCED_URL, CommandBalancerComplete);
CommandManager.instance.registerCommand(RestartEvent.RESTART, CommandRestart);
EventManager.instance.addEventListener(InternalEvent.FREE, this.listenerFree, false, 0, true);
EventManager.instance.addEventListener(InternalEvent.BANDWIDTH, this.handleBandWidth, false, 0, true);
flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
isFunctionalPanelEnabled = SkinManager.getStyle("isFunctionalPanelEnabled", true);
if(!isFunctionalPanelEnabled) flvplayer.forbidFunctionalPanel();
isSearchPanelEnabled = SkinManager.getStyle("isSearchPanelEnabled", true);
if(!isSearchPanelEnabled) flvplayer.forbidMenuPanel();
isMediaContainerClickable = SkinManager.getStyle("isMediaContainerClickable", true);
this.canShowNavigatopWhilePlay = SkinManager.getStyle("canShowNavigatopWhilePlay", true);
if((this.flashVariables.isEmbedMode || this.flashVariables.toggleInnerEmbedFlash) && isMediaContainerClickable){
flvplayer.mediaContainer.buttonMode = true;
flvplayer.mediaContainer.doubleClickEnabled = true;
flvplayer.mediaContainer.addEventListener(MouseEvent.CLICK, function():void{ //MethodID:2454, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 40
if(flashVariables.toggleInnerEmbedFlash) ExternalNotifier.instance.notifyOpenContent();
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_VIDEO_TITLE_CLICKED));
});
}
areLinksClickable = SkinManager.getStyle("areLinksClickable", true);
if(!areLinksClickable){
flvplayer.getTitlePanel().mouseEnabled = false;
flvplayer.textAdvertising.mouseEnabled = false;
flvplayer.getLogoButton().mouseEnabled = false;
flvplayer.endScreen.es.linkEnabled = false;
}
flvplayer.getFunctional().showFullScreenOption(!this.flashVariables.hideFullScreen);
flvplayer.endScreen.addEventListener(EndScreen2.EVENT_REPEAT, this.onBnRepeat);
if(flvplayer.navigator != null) flvplayer.navigator.addEventListener(Navigator.EVENT_LINK_FRAME, this.onNavigatorEventHandler);
EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_SHOW, this.onAdViewHandler, false, 0, true);
EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_HIDE, this.onAdViewHandler, false, 0, true);
EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_CLOSE, this.onAdViewHandler, false, 0, true);
EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_FINISH, this.onAdViewHandler, false, 0, true);
EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_ERROR, this.onAdViewHandler, false, 0, true);
EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_CLICK, this.onAdViewHandler, false, 0, true);
CommandManager.instance.registerCommand(AdvertisementControllerEvent.EVENT_SHOW_BANNER, CommandAdvertisementShowBanner);
CommandManager.instance.registerCommand(AdvertisementControllerEvent.EVENT_SHOW_FLVBANNER, CommandAdvertisementShowFlvBanner);
CommandManager.instance.registerCommand(AdvertisementControllerEvent.ADV_OVERLAY_ERROR, CommandAdvertisementOverlayError);
CommandManager.instance.registerCommand(AdvertisementControllerEvent.ADV_CONTEXT_CLICK, CommandAdvertisementOverlayClick);
CommandManager.instance.registerCommand(AdvertisementControllerEvent.ADV_OVERLAY_LINK, CommandAdvertisementOverlayClick);
CommandManager.instance.registerCommand(RemoteEvent.EVENT_EXT_HIDE_TOP_PANEL, CommandUIHideTopPanel);
CommandManager.instance.registerCommand(InternalEvent.STAGE, CommandStageEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_DURATION_CHANGE, CommandStreamDurationChange);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_BUFFERING_CHANGE, CommandStreamBufferingChange);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_CURRENT_TIME_CHANGE, CommandStreamCurrentTimeChange);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_VIDEO_COMPLETE, CommandStreamVideoComplete);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_LOADING_PROGRESS, CommandStreamLoadingProgress);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_STATE_CHANGE, CommandStreamPlayerStateChange);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_METADATA_RECEIVED, CommandStreamMetadataReceived);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_STREAM_ERROR, CommandStreamError);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_ON_EOF, CommandStreamMediaEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_ON_ERROR, CommandStreamMediaEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_EOF, CommandStreamMediaEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_REDIRECT, CommandStreamMediaEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_AUTH, CommandStreamMediaEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_FORBID, CommandStreamMediaEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_RETRY_LATTER, CommandStreamMediaEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_FOUND, CommandStreamMediaEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_ERROR, CommandStreamMediaEvents);
CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_WARNING, CommandStreamMediaEvents);
flvplayer.getPlaylistPanel().addEventListener(PlaylistPanel.EVENT_FRAME_PRESS, this.onPlaylistPanelHandler, false, 0, true);
CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_VIDEO_TITLE_CLICKED, CommandUITitleVideoClick);
flvplayer.getSnapshotWindow().addEventListener(SnapshotWindow.EVENT_SNAPSHOT_WINDOW_CLOSED, this.OnSnapshotWindowClosed, false, 0, true);
StreamControllerManager.instance.volume = CookieManager.instance.playerVolume;
flvplayer.getControl().volume = CookieManager.instance.playerVolume;
this.initBookmarks();
TNSStatistic.instance.initReport();
if(playerConfig.isSkinExists && (this.metaInfo.playButtonStatistic.length > 5)){
urlRequest = new URLRequest(this.metaInfo.playButtonStatistic);
sendToURL(urlRequest);
}
if(this.flashVariables.toggleShowLogo == false) flvplayer.getLogoButton().visible = false;
if(this.flashVariables.toggleAutoPlayVideo) flvplayer.useRollPlayer = true;
playing = false;
ExternalNotifier.instance.notifyCreated();
if(playerConfig.advertisement.length > 0){
if(flvplayer.setAdViewMode(true)){
streamController.pause();
advertisement = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_BLIND);
advController = AdvertisementControllerManager.instance.getControllerByModel(advertisement);
advController.show();
}
}else if(this.flashVariables.toggleAutoPlayVideo && !this.flashVariables.playListEnable){
this.OnBnPlay(null);
playing = true;
if(!flvplayer.visible) flvplayer.visible = true;
}else if(playerConfig.advertisement.length == 0){
if(!flvplayer.visible) flvplayer.visible = true;
}
if(this.flashVariables.autoload && !this.flashVariables.isEmbedMode && !playing && !this.flashVariables.toggleInnerEmbedFlash) this.metaInfo.noHideThumbnail = true;
}
public function pauseMovie():void
{ //MethodID:2456, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 25
var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
hug1.pause();
}
public function initBookmarks():void
{ //MethodID:2457, LocalCount= 9 , MaxScope= 1, MaxStack= 5, CodeLength= 319
var hug5:Array = null;
var hug6:Object = null;
var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
var hug2:Number = (hug1.duration ? hug1.duration : this.metaInfo.contentDuration);
var hug3:Boolean = (this.m_Bookmarks.length > 0);
while(this.m_Bookmarks.length > 0){
this.m_Bookmarks.pop();
}
if(this.flashVariables.bookMarkStartTime) this.m_Bookmarks.push(new BookmarkItem(this.flashVariables.bookMarkStartTime, hug1.preBalancedUrl, this.flashVariables.bookMarkTitle));
var hug4:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
if(this.m_Bookmarks.length && (hug2 > 0)){
this.m_Bookmarks.sort(BookmarkItem.sortOnTime);
hug5 = new Array();
for each(hug6 in this.m_Bookmarks){
hug5.push(hug6.time / hug2);
}
hug4.getControl().timeline.marks = hug5;
hug4.getControl().timeline.onPaint();
}else if(hug3){
hug4.getControl().timeline.marks = [];
hug4.getControl().timeline.onPaint();
}
}
public function chooseContextAdvertisement(hug1:Boolean=false):void
{ //MethodID:2458, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 160
var hug2:Advertisement = null;
var hug3:AdvertisementController = null;
if(this.metaInfo.adSense.isAvalible){
hug2 = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_BEGUN);
hug2.url = hug2.url.replace(new RegExp("pad_id=\d+", "gi"), "pad_id=232703233");
hug3 = AdvertisementControllerManager.instance.getControllerByModel(hug2);
if(hug1){
hug3.show();
}else{
hug3.delayedShow();
}
}else{
hug2 = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_BEGUN);
hug3 = AdvertisementControllerManager.instance.getControllerByModel(hug2);
if(hug1){
hug3.show();
}else{
hug3.delayedShow();
}
}
}
public function get currentPlayerState():String
{ //MethodID:2459, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.currentState.concat();
}
public function switchState(hug1:String):void
{ //MethodID:2460, LocalCount= 5 , MaxScope= 7, MaxStack= 7, CodeLength= 1560
internal var state:String; //slotID:1
internal var streamController:StreamController; //slotID:2
internal var flvplayer:Player; //slotID:3
internal var advController:AdvertisementController; //slotID:4
internal var advertisement:Advertisement; //slotID:5
internal var gEvent:GoogleEvent; //slotID:6
streamController = null;
flvplayer = null;
gEvent = null;
state = hug1;
if(this.currentState == state) return;
this.previousState = this.currentState;
this.currentState = state;
streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
flvplayer.isPaused = false;
switch(this.previousState){
case PlayerState.STATE_PAUSED:
this.hideAdView();
flvplayer.visibleTitlePanel = false;
break;
case PlayerState.STATE_STARTED:
PreloaderManager.instance.hide();
break;
case PlayerState.STATE_INITIAL:
flvplayer.infoPanel.visible = false;
flvplayer.visibleTitlePanel = false;
flvplayer.getControl().stopButton.listenerAllowed = true;
if(state != PlayerState.STATE_NOT_AVALIBLE) ContentManager.instance.removeContentById(ContentIds.LOCK_PANEL);
break;
default:
break;
}
flvplayer.allowNavigator = (((this.currentState == PlayerState.STATE_STARTED) || (this.currentState == PlayerState.STATE_PAUSED) || (this.currentState == PlayerState.STATE_INITIAL)) && this.canShowNavigatopWhilePlay);
advController = null;
advertisement = null;
try{
switch(this.currentState){
case PlayerState.STATE_STARTED:
if((this.previousState == PlayerState.STATE_INITIAL) || (this.previousState == PlayerState.STATE_PREVIEW)){
Reporter.instance.send("beg=" + encodeURIComponent(this.flashVariables.referrer));
PreloaderManager.instance.show();
}
if(this.isTwix){
if(flvplayer.playWindowButton.currentFrameLabelSkin() != "END"){
flvplayer.playWindowButton.listenerAllowed = false;
flvplayer.playWindowButton.changeAnimationSkin("START_TWIX");
}
}else{
flvplayer.playWindowButton.visible = false;
}
break;
case PlayerState.STATE_PAUSED:
flvplayer.isPaused = true;
if(this.flashVariables.isEmbedMode) flvplayer.visibleTitlePanel = true;
if(this.isTwix){
flvplayer.playWindowButton.visible = true;
if(flvplayer.playWindowButton.currentFrameLabelSkin() == "END"){
flvplayer.playWindowButton.listenerAllowed = true;
flvplayer.playWindowButton.changeAnimationSkin("START_TWIX_PAUSE");
}
}
advController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY);
advController.hide();
advController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_BEGUN);
advController.hide();
break;
case PlayerState.STATE_STOPPED:
PreloaderManager.instance.hide();
advController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY);
advController.hide();
ExternalNotifier.instance.notifyVideoEnd();
gEvent = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_VIDEO, GoogleAnalyticsConstants.ACTION_SHOW_FINISH, streamController.duration.toString(), this.metaInfo.category);
EventManager.instance.dispatchEvent(gEvent);
if(this.flashVariables.toggleInnerEmbedFlash){
break;
0;
return;
}
break;
case PlayerState.STATE_POSTVIEW:
if(this.externalStop){
this.externalStop = false;
this.switchState(PlayerState.STATE_STOPPED);
break;
1;
return;
}else{
flvplayer.getControl().pauseMode = false;
if(flvplayer.setAdViewMode(true, false)){
advertisement = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_POST_ROLL);
advController = AdvertisementControllerManager.instance.getControllerByModel(advertisement);
advController.show();
}
advController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY);
advController.hide();
}
break;
case PlayerState.STATE_PREVIEW:
if(this.previousState == PlayerState.STATE_INITIAL){
if(streamController.getMediaType() != StreamController.STREAM_TYPE_STREAM){
try{
this.playMovie(this.flashVariables.bookMarkStartTime);
this.pauseMovie();
}
catch(error:Error){
}
}else{
this.pauseMovie();
}
}
flvplayer.getControl().pauseMode = true;
if(this.metaInfo.preView.isInitialized){
try{
if(flvplayer.setAdViewMode(true)){
advertisement = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_PRE_ROLL);
advController = AdvertisementControllerManager.instance.getControllerByModel(advertisement);
advController.show();
}
}
catch(error:Error){
switchState(PlayerState.STATE_STARTED);
}
}else{
if(!streamController.playingState) this.playMovie(this.flashVariables.bookMarkStartTime);
this.switchState(PlayerState.STATE_STARTED);
}
break;
case PlayerState.STATE_INITIAL:
flvplayer.getControl().stopButton.listenerAllowed = false;
if(this.flashVariables.isEmbedMode) flvplayer.visibleTitlePanel = true;
break;
case PlayerState.STATE_UNDEFINED:
flvplayer.getControl().stopButton.listenerAllowed = false;
break;
default:
break;
}
}
catch(e:Error){
trace(e);
}
finally{
EventManager.instance.dispatchEvent(new ChangePlayerStateEvent(this.currentState));
this.UpdateUI();
}
}
private function UpdateUI():void
{ //MethodID:2461, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 584
var hug4:StreamController = null;
var hug5:Number = NaN;
var hug1:Array = [FunctionalPanel.DISPLAY_FAVORITE_BUTTON, FunctionalPanel.DISPLAY_PLAYLIST_BUTTON, FunctionalPanel.DISPLAY_MESSAGE_BUTTON, FunctionalPanel.DISPLAY_LOGO_BUTTON];
var hug2:Array = [this.metaInfo.userInfo.isAllowedUser, Boolean(this.metaInfo.userInfo.isUser), Boolean(this.metaInfo.complain.isComplainPresents()), (this.currentState == PlayerState.STATE_STOPPED)];
var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
hug3.getFunctional().displayMode(hug1, hug2);
if(this.metaInfo.favoriteData.isFavoritePresent() && this.flashVariables.isEmbedMode && this.metaInfo.playList.isPlaylistPresents() && this.flashVariables.isEmbedMode && this.flashVariables.toggleShowLogo && this.currentState != PlayerState.STATE_INITIAL){
if(!this.isTwix) hug3.playWindowButton.visible = false;
}
switch(this.currentState){
case PlayerState.STATE_INITIAL:
hug3.getControl().pauseMode = false;
hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_SNAPSHOT_BUTTON], this.metaInfo.isSnapshotAvalible);
break;
case PlayerState.STATE_STARTED:
hug3.getControl().pauseMode = true;
hug3.getControl().timeline.markMode = false;
hug3.hideEndScreen();
hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_SNAPSHOT_BUTTON], [this.metaInfo.isSnapshotAvalible]);
break;
case PlayerState.STATE_PAUSED:
hug3.getControl().pauseMode = false;
break;
case PlayerState.STATE_STOPPED:
hug3.getControl().pauseMode = false;
hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_SNAPSHOT_BUTTON], false);
hug4 = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
hug5 = (hug4.duration ? hug4.duration : this.metaInfo.contentDuration);
hug3.getControl().timeInfo = hug5;
PreloaderManager.instance.hide();
if(!this.flashVariables.toggleInnerEmbedFlash) hug3.showEndScreen();
break;
default:
break;
}
}
public function hideAdView():void
{ //MethodID:2462, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 70
var hug2:Player = null;
var hug1:AdvertisementController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_PRE_ROLL);
if(hug1.isVisible){
hug1.hide();
hug2 = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
hug2.setAdViewMode(false);
}
}
public function UpdateBookmarks():void
{ //MethodID:2463, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 203
var hug3:Array = null;
var hug4:Object = null;
var hug5:Player = null;
var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
var hug2:Number = (hug1.duration ? hug1.duration : this.metaInfo.contentDuration);
if(this.m_Bookmarks.length && (hug2 > 0)){
this.m_Bookmarks.sort(BookmarkItem.sortOnTime);
hug3 = new Array();
for each(hug4 in this.m_Bookmarks){
hug3.push(hug4.time / hug2);
}
hug5 = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
hug5.getControl().timeline.marks = hug3;
hug5.getControl().timeline.onPaint();
}
}
private function IsRetryCode(hug1:uint):Boolean
{ //MethodID:2464, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 95
return ((hug1 == TIDS.TRY_LATTER) || (hug1 == TIDS.SERVICE_UNAVAIL) || (hug1 == TIDS.SRC_LIMIT) || (hug1 == TIDS.TRAF_LIMIT) || (hug1 == TIDS.TRAFORCONN_LIMIT) || (hug1 == TIDS.SRC_EXISTS) || (hug1 == TIDS.DST_EXISTS));
}
public function updateLoader(hug1:Number=0.0, hug2:Number=0.0):void
{ //MethodID:2465, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 64
var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
hug3.getControl().timeline.setLoader(hug4.currentOffset, (hug1 / hug2));
}
public function updateTimeline(hug1:Number=0.0, hug2:Number=0.0, hug3:Boolean=false):void
{ //MethodID:2466, LocalCount= 9 , MaxScope= 1, MaxStack= 3, CodeLength= 231
var hug8:Array = null;
var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
var hug5:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
if((Math.round(hug1) == 1) && !ExternalNotifier.instance.isFirstSecondNotified) ExternalNotifier.instance.notifyVideoPlayFirstSecond();
if((Math.round(hug2 - hug1) == 5) && !ExternalNotifier.instance.isLastFiveSecondNotified) ExternalNotifier.instance.notifyVideoPlayLastFiveseconds();
var hug6:Number = ((hug2 == 0) ? 0 : (hug1 / hug2));
var hug7:Number = hug2;
if((!this.m_bHoldThumb && (hug4.isMetaData || (hug4.time > 0))) || hug3){
hug8 = hug5.getControl().timeline.setThumbPos(hug6 + this.lastThumbSeekPos);
if(hug8){
}
}
}
private function listenerMetaInfoLoaded(hug1:Event=null):void
{ //MethodID:2467, LocalCount= 22 , MaxScope= 1, MaxStack= 7, CodeLength= 1610
var hug10:Object = null;
var hug11:PlaylistElement = null;
var hug12:int = 0;
var hug13:XMLList = null;
var hug14:Number = NaN;
var hug15:Object = null;
var hug16:BookmarkItem = null;
var hug17:Array = null;
var hug18:Object = null;
var hug19:Object = null;
var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
if(BalancerManager.instance.getResponder(BalancerResponder.BALANCER_MAIN).isReceivedGoodPath) TNSStatistic.instance.setFileReports(hug2.hash, this.metaInfo.urlStartStatistic, this.metaInfo.urlEndStatistic);
ComScoreStatistic.instance.referrer = ConfigurationManager.instance.flashVariablesConfig.referrer;
ComScoreStatistic.instance.setLoaderUrl(ConfigurationManager.instance.flashVariablesConfig.loaderUrl);
ComScoreStatistic.instance.initStatisticRecord(this.metaInfo);
var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
if(this.metaInfo.isPlayListAvalible && !this.metaInfo.toggleLoadMetaInfo){
hug3.getPlaylistPanel().clear();
hug11 = null;
hug12 = 0;
while(hug12 < this.metaInfo.videoPlayList.length){
hug11 = (this.metaInfo.videoPlayList[hug12] as PlaylistElement);
hug3.getPlaylistPanel().addItem(hug11);
if(hug11.trackId == ConfigurationManager.instance.flashVariablesConfig.playListStartId) this.metaInfo.playlistStartIndex = hug11.id;
hug12++;
}
hug3.getPlaylistPanel().indexPlayed = this.m_curPLItem = this.metaInfo.playlistStartIndex;
if(this.flashVariables.toggleAutoPlayVideo){
this.plPlayItem(this.metaInfo.videoPlayList[this.metaInfo.playlistStartIndex], true);
return;
}
hug2.preBalancedUrl = this.metaInfo.videoPlayList[this.metaInfo.playlistStartIndex].urlContent;
Reporter.instance.tn = hug2.hash;
if(!this.flashVariables.toggleInnerEmbedFlash) hug3.previewLoad(this.metaInfo.videoPlayList[this.metaInfo.playlistStartIndex].urlThumbnail);
}
this.initActio();
this.m_AddToBookmarks = "";
var hug4:XML = this.metaInfo.parseXmlData;
this.metaInfo.toggleLoadMetaInfo = false;
var hug5:Number = (hug2.duration ? hug2.duration : this.metaInfo.contentDuration);
hug3.getControl().timeInfo = hug5;
if(!this.flashVariables.playListEnable && this.flashVariables.bookMarkStartTime && (hug5 > 0)){
hug3.getControl().timeline.showMarkPreviewWindow((this.flashVariables.bookMarkStartTime / hug5), getTimeInfo(this.flashVariables.bookMarkStartTime), null, true);
hug3.getControl().timeline.setThumbPos(this.flashVariables.bookMarkStartTime / hug5);
}
if(this.flashVariables.isEmbedMode) hug3.getTitlePanel().setData(this.metaInfo.title, getTimeInfo(hug5));
if(this.metaInfo.isVideoWallLoaded && !this.flashVariables.toggleInnerEmbedFlash && hug3.navigator) hug3.navigator.control.setData(this.metaInfo);
hug3.endScreen.setData(this.metaInfo);
VotingManager.instance.initVoting(this.metaInfo);
var hug6:VoteData = VotingManager.instance.votinParams;
hug3.getFunctional().paramVote((hug6.rating / 5), hug6.ratingCounter);
var hug7:Boolean = Boolean(hug6.voteUrl.length);
if((hug6.isVoteAvalible && (hug7 || (hug6.authUrl.length > 0))) && !hug6.hideRating){
hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_VOTE_PANEL, FunctionalPanel.DISPLAY_VOTE], [true, Boolean(hug6.voteValue)]);
}else{
hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_VOTE_PANEL], false);
}
if(hug7 && hug4.hasOwnProperty("bookmarks")){
if(hug4.bookmarks.hasOwnProperty("bookmark_url")) this.m_AddToBookmarks = hug4.bookmarks.bookmark_url;
hug13 = hug4.child("bookmarks").child("bookmark_list").children();
hug14 = (hug2.duration ? hug2.duration : this.metaInfo.contentDuration);
if(hug14 > 0){
for each(hug15 in hug13){
hug16 = new BookmarkItem(hug15.begin, hug2.preBalancedUrl, hug15.description, hug15.author, hug15.avatar);
this.m_Bookmarks.push(hug16);
}
}
if(this.m_Bookmarks.length && (hug14 > 0)){
this.m_Bookmarks.sort(BookmarkItem.sortOnTime);
hug17 = new Array();
for each(hug18 in this.m_Bookmarks){
hug17.push(hug18.time / hug14);
}
hug3.getControl().timeline.marks = hug17;
hug3.getControl().timeline.onPaint();
}
}else{
hug3.getControl().timeline.marks = new Array();
hug3.getControl().timeline.onPaint();
}
var hug8:Array = new Array();
var hug9:Array = this.metaInfo.complain.complainVariants;
for(hug10 in hug9){
hug19 = new Object();
hug19.label = hug9[hug10];
hug19.data = this.metaInfo.complain.getSubjectId(hug10.toString());
hug8.push(hug19);
}
hug3.complainWindow.updateData({reasons:hug8, url:this.metaInfo.complain.complainUrl, auth:this.metaInfo.isRegistered});
hug3.playlistWindow.updateData(this.metaInfo.playList);
hug3.textAdvertising.setData(this.metaInfo.advertisingString);
hug3.visibleTextAdvertising = !this.metaInfo.advertisingString.isEmpty;
hug3.infoPanel.setData(this.metaInfo.infoText);
if(this.currentState == PlayerState.STATE_INITIAL) hug3.infoPanel.visible = true;
if(!this.flashVariables.playListEnable && (!CookieManager.instance.getLocalCookie("advertising") || (CookieManager.instance.getLocalCookie("advertising") != "OFF"))){
if(this.metaInfo.postView.isInitialized) this.m_AdPostViewLocked = false;
if(this.metaInfo.preView.isInitialized) this.m_AdPreViewLocked = false;
}
this.UpdateUI();
if(this.m_plPlayTimer != null){
this.m_plPlayTimer = null;
this.m_AdPreViewLocked = false;
if(this.flashVariables.toggleAutoPlayVideo) this.OnBnPlay(new Event("play"), false);
}
}
public function initActio():void
{ //MethodID:2469, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 202
internal var flvplayer:Player; //slotID:1
internal var streamController:StreamController; //slotID:2
flvplayer = null;
streamController = null;
flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
if(this.metaInfo.isActioPresent && (flvplayer.actioLayer != null)){
if(!(flvplayer.mediaContainer.layoutRenderer as PlayerLayoutRenderer).hasEventListener(PlayerLayoutRenderer.UPDATED_MEDIA_DISPLAY)){
(flvplayer.mediaContainer.layoutRenderer as PlayerLayoutRenderer).addEventListener(PlayerLayoutRenderer.UPDATED_MEDIA_DISPLAY, function():void{ //MethodID:2468, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 42
if(flvplayer.actioLayer) flvplayer.actioLayer.rect = streamController.mediaRectangle;
ExternalNotifier.instance.notifyVideoRectangleChange(streamController.mediaRectangle);
});
}
flvplayer.actioLayer.avsFile = this.metaInfo.actioContent;
flvplayer.actioLayer.streamController = streamController;
flvplayer.removeNavigator();
}else{
flvplayer.removeActio();
}
}
private function onStreamInternalError(hug1:StreamEvent):void
{ //MethodID:2470, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function onAdViewHandler(hug1:Event):void
{ //MethodID:2471, LocalCount= 7 , MaxScope= 1, MaxStack= 6, CodeLength= 1756
trace(("onAdViewHandler: " + hug1.type), this.currentState);
var hug2:AdvertisementController = null;
var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
if(!hug3.visible) hug3.visible = true;
var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
switch(this.currentState){
case PlayerState.STATE_PREVIEW:
hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_PRE_ROLL);
break;
case PlayerState.STATE_PAUSED:
hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_PAUSE);
break;
case PlayerState.STATE_POSTVIEW:
hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_POST_ROLL);
break;
default:
hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY);
if(!hug2.isVisible) hug2 = null;
break;
}
var hug5:GoogleEvent = null;
if(hug2 != null){
switch(hug1.type){
case AdvertisementControllerEvent.ADV_CONTROLLER_HIDE:
break;
case AdvertisementControllerEvent.ADV_CONTROLLER_ERROR:
break;
case AdvertisementControllerEvent.ADV_CONTROLLER_FINISH:
hug5 = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_ADVERTISEMENT, GoogleAnalyticsConstants.ACTION_SHOW_FINISH, hug2.advertisement.advertisementId, hug2.advertisementFullTime);
break;
case AdvertisementControllerEvent.ADV_CONTROLLER_CLICK:
hug5 = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_ADVERTISEMENT, GoogleAnalyticsConstants.ACTION_NAVIGATE_ONTIME, hug2.advertisement.advertisementId, hug2.advertisementCurrentTime);
break;
case AdvertisementControllerEvent.ADV_CONTROLLER_CLOSE:
hug5 = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_ADVERTISEMENT, GoogleAnalyticsConstants.ACTION_CLOSE, hug2.advertisement.advertisementId, hug2.advertisementCurrentTime);
break;
case AdvertisementControllerEvent.ADV_CONTROLLER_SHOW:
hug5 = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_ADVERTISEMENT, GoogleAnalyticsConstants.ACTION_SHOW_START, hug2.advertisement.advertisementId);
break;
default:
break;
}
}
if((this.currentState != PlayerState.STATE_PAUSED) && (this.currentState != PlayerState.STATE_INITIAL)){
switch(hug1.type){
case AdvertisementControllerEvent.ADV_CONTROLLER_HIDE:
case AdvertisementControllerEvent.ADV_CONTROLLER_ERROR:
this.m_AdPreViewLocked = true;
ExternalNotifier.instance.notifyAdvertisementFinish();
hug3.getBottomPanel().visible = true;
break;
case AdvertisementControllerEvent.ADV_CONTROLLER_FINISH:
case AdvertisementControllerEvent.ADV_CONTROLLER_CLICK:
case AdvertisementControllerEvent.ADV_CONTROLLER_CLOSE:
if(this.currentState == PlayerState.STATE_PREVIEW){
this.m_AdPreViewLocked = true;
}else if(this.metaInfo.postView.showCount > 0){
this.m_AdPostViewLocked = true;
}
ExternalNotifier.instance.notifyAdvertisementFinish();
hug3.getBottomPanel().visible = true;
break;
case AdvertisementControllerEvent.ADV_CONTROLLER_SHOW:
hug3.getControl().visible = false;
hug4.pause();
break;
default:
break;
}
}else if(this.currentState == PlayerState.STATE_PAUSED){
switch(hug1.type){
case AdvertisementControllerEvent.ADV_CONTROLLER_HIDE:
case AdvertisementControllerEvent.ADV_CONTROLLER_ERROR:
case AdvertisementControllerEvent.ADV_CONTROLLER_FINISH:
case AdvertisementControllerEvent.ADV_CONTROLLER_CLOSE:
case AdvertisementControllerEvent.ADV_CONTROLLER_CLICK:
ExternalNotifier.instance.notifyAdvertisementFinish();
hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY);
hug2.show();
if(!hug2.isVisible){
hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_BEGUN);
hug2.show();
}
break;
default:
break;
}
}
if(this.currentState != PlayerState.STATE_STOPPED) hug3.setAdViewMode(false, false);
if(!hug3.isOver && !hug3.isAdvertisementMode) hug3.motionPanes(false);
switch(this.currentState){
case PlayerState.STATE_POSTVIEW:
if(hug1.type != AdvertisementControllerEvent.ADV_CONTROLLER_SHOW){
hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_POST_ROLL);
hug2.hide();
if(hug1.type != AdvertisementControllerEvent.ADV_CONTROLLER_ERROR) this.switchState(PlayerState.STATE_STOPPED);
}
break;
case PlayerState.STATE_PREVIEW:
if(this.metaInfo.preView.isInitialized && !this.m_AdPreViewLocked){
this.m_AdPreViewLocked = false;
this.switchState(PlayerState.STATE_PREVIEW);
}else if(hug1.type == AdvertisementControllerEvent.ADV_CONTROLLER_CLICK){
this.switchState(PlayerState.STATE_PAUSED);
}else{
trace("onAdViewHandler: playMovie");
if(RemoteStreamType.getStreamTypeByConnStr(hug4.preBalancedUrl) == RemoteStreamType.FMS_LIVE){
hug4.resume();
return;
}
this.playMovie(int(this.flashVariables.bookMarkStartTime));
this.switchState(PlayerState.STATE_STARTED);
}
break;
case PlayerState.STATE_INITIAL:
if(this.flashVariables.toggleAutoPlayVideo && !this.flashVariables.playListEnable) this.OnBnPlay(null);
break;
case PlayerState.STATE_PAUSED:
switch(hug1.type){
case AdvertisementControllerEvent.ADV_CONTROLLER_SHOW:
hug3.getBottomPanel().visible = false;
break;
default:
hug3.getBottomPanel().visible = true;
break;
}
break;
case PlayerState.STATE_STARTED:
if(hug4.playingState){
hug4.resume();
}else{
hug4.play();
}
default:
break;
}
if(hug5 != null) EventManager.instance.dispatchEvent(hug5);
}
public function reportAtComplete():void
{ //MethodID:2472, LocalCount= 3 , MaxScope= 5, MaxStack= 5, CodeLength= 163
internal var streamController:StreamController; //slotID:1
internal var urlLoader:URLLoader; //slotID:2
streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
urlLoader = new URLLoader();
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, trace);
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, trace);
try{
urlLoader.load(new URLRequest((("http:/" + "/rutube.ru/img/the_end.gif?hash=") + streamController.preBalancedUrl + "&fb=") + ((streamController.offset > 0) ? 0 : 1)));
}
catch(error:SecurityError){
trace("Controller.ReportAtComplete:", error);
}
}
public function playMovie(hug1:Number=0.0, hug2:Boolean=false):void
{ //MethodID:2473, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 292
var hug5:String = null;
if(this.currentState == PlayerState.STATE_NOT_AVALIBLE) return;
var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
if((hug3.getControl().visible == false) && hug3.isOver) hug3.getControl().visible = true;
var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
if(RemoteStreamType.getStreamTypeByConnStr(hug4.preBalancedUrl) == RemoteStreamType.FMS_LIVE) hug4.resume();
if(!hug2 && hug4.session){
if(hug1 > 0) hug4.offset = hug1;
if(hug4.playingState){
hug4.resume();
ComScoreStatistic.instance.fireTag(ComScoreStatistic.CONTENT);
}else{
hug4.play();
}
}else if(BalancerManager.instance.getResponder(BalancerResponder.BALANCER_MAIN).isReceivedGoodPath){
StreamControllerManager.instance.playOffsettedMedia(StreamController.CONTROLLER_MAIN_STREAM, hug1);
}else{
if(!hug4.autoBalance){
hug4.autoBalance = true;
hug4.needAutoConnect = true;
hug5 = hug4.preBalancedUrl;
hug4.preBalancedUrl = "";
hug4.preBalancedUrl = hug5;
}
hug4.play();
}
}
public function onBnRepeat(hug1:Event):void
{ //MethodID:2474, LocalCount= 3 , MaxScope= 1, MaxStack= 7, CodeLength= 79
var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
TNSStatistic.instance.reset(hug2.hash);
this.OnBnPlay(null, true);
EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_VIDEO, GoogleAnalyticsConstants.ACTION_SHOW_REPEAT, null, this.metaInfo.category));
}
public function OnBnPlay(hug1:Event=null, hug2:Boolean=false):void
{ //MethodID:2475, LocalCount= 5 , MaxScope= 5, MaxStack= 3, CodeLength= 306
internal var event:Event = null; //slotID:1
internal var bForce:Boolean = false; //slotID:2
internal var flvplayer:Player; //slotID:3
internal var streamController:StreamController; //slotID:4
event = hug1;
bForce = hug2;
AdvertisementManager.instance.finishCheckSiamtwin(AdvertisementType.AD_PRE_ROLL);
flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
flvplayer.previewHide();
streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
flvplayer.getControl().timeline.showBufferLine = true;
trace("BUTTON PLAY PRESSED");
if(flvplayer.getControl().visible == false) flvplayer.getControl().visible = true;
this.hideAdView();
if(TNSStatistic.instance.startReport(streamController.hash)) ComScoreStatistic.instance.fireTag(ComScoreStatistic.CONTENT);
try{
if((!this.m_AdPreViewLocked && ((this.currentState == PlayerState.STATE_INITIAL) || (this.currentState == PlayerState.STATE_STOPPED))) && !bForce){
this.switchState(PlayerState.STATE_PREVIEW);
}else{
this.playMovie(0, bForce);
this.switchState(PlayerState.STATE_STARTED);
}
}
catch(error:Error){
trace("Controller.OnBnPlay:", error);
}
}
public function stopMovie():void
{ //MethodID:2476, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 117
var hug2:Number = NaN;
var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
if(this.currentState != PlayerState.STATE_STOPPED){
hug2 = hug1.time;
if(!isNaN(hug2)) Reporter.instance.send("ve=" + Math.round(hug2));
hug1.stop();
this.lastThumbSeekPos = 0;
}
TNSStatistic.instance.finishReport(hug1.hash);
this.updateTimeline(0, 0, true);
this.updateLoader(0, 0);
}
public function OnBnStop(hug1:Event=null):void
{ //MethodID:2477, LocalCount= 4 , MaxScope= 1, MaxStack= 7, CodeLength= 162
var hug3:StreamController = null;
this.flashVariables.toggleAutoPlayVideo = false;
if(hug1 != null){
ExternalNotifier.instance.notifyVideoStop();
hug3 = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_VIDEO, GoogleAnalyticsConstants.ACTION_SHOW_BREAK, hug3.time.toString(), this.metaInfo.category));
}
var hug2:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
hug2.getControl().visible = false;
this.stopMovie();
this.switchState(this.m_AdPostViewLocked ? PlayerState.STATE_STOPPED : PlayerState.STATE_POSTVIEW);
}
public function OnLiveErrorOld(hug1:*, hug2:*):void
{ //MethodID:2478, LocalCount= 10 , MaxScope= 1, MaxStack= 3, CodeLength= 184
var hug3:Boolean = false;
var hug4:Boolean = false;
var hug5:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
if(this.m_retryTimer) this.m_retryTimer.reset();
this.m_trySwitchCounter++;
if((this.m_fileArray.length > 1) && (this.m_trySwitchCounter <= this.m_fileArray.length)){
this.m_fileIndex++;
if(this.m_fileIndex == this.m_fileArray.length) this.m_fileIndex = 0;
hug5.preBalancedUrl = this.m_fileArray[this.m_fileIndex];
this.stopMovie();
this.TryLiveSwitch();
return;
}else{
this.stopMovie();
this.switchState(PlayerState.STATE_STOPPED);
return;
}
}
public function onRetryTimer(hug1:TimerEvent):void
{ //MethodID:2479, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34
trace("onRetryTimer");
if(this.m_retryTimer) this.m_retryTimer.reset();
this.playMovie();
}
public function onRTMS_RetryTimer(hug1:TimerEvent):void
{ //MethodID:2480, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 142
this.m_rtmsRetryCnt++;
trace("onRTMS_RetryTimer", this.m_rtmsRetryCnt);
if(this.m_rtmsRetryTimer) this.m_rtmsRetryTimer.reset();
if(this.m_rtmsRetryCnt < this.flashVariables.retryCount){
if(this.currentState == PlayerState.STATE_STARTED){
this.playMovie();
}else{
this.m_rtmsRetryCnt = 0;
}
}else{
this.m_rtmsRetryCnt = 0;
if(this.currentState == PlayerState.STATE_STARTED){
this.OnBnStop();
PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, "„R„u„‚„r„y„ƒ „r„‚„u„}„u„~„~„€ „~„u„t„€„ƒ„„„…„„u„~. „P„€„r„„„€„‚„y„„„u „„€„„„„„{„… „„€„x„t„~„u„u.");
}
}
}
public function plPlayItem(hug1:PlaylistElement, hug2:Boolean=false):void
{ //MethodID:2481, LocalCount= 5 , MaxScope= 5, MaxStack= 5, CodeLength= 380
internal var plItem:PlaylistElement; //slotID:1
internal var forceSelf:Boolean = false; //slotID:2
internal var streamController:StreamController; //slotID:3
internal var flvplayer:Player; //slotID:4
plItem = hug1;
forceSelf = hug2;
streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
if(this.flashVariables.playListSelfPlay || forceSelf){
this.stopMovie();
if(!flvplayer.isOver) flvplayer.motionPanes(false);
}else{
if(ExternalInterface.available){
try{
ExternalInterface.call("playerNotification", "PlayList.Next", {trackId:plItem.trackId});
}
catch(e:SecurityError){
trace(e);
}
}else{
navigateToURL(new URLRequest(("javascript:playerNotification('PlayList.Next',{" + "trackId:") + plItem.trackId + "})"));
}
this.OnBnStop();
return;
}
flvplayer.getPlaylistPanel().indexPlayed = this.m_curPLItem = plItem.id;
streamController.preBalancedUrl = plItem.urlContent;
Reporter.instance.tn = streamController.hash;
this.metaInfo.toggleLoadMetaInfo = true;
ExternalNotifier.instance.clear();
ConfigurationManager.instance.loadMetaInfo(plItem.urlMetaInfo);
if(!this.flashVariables.toggleInnerEmbedFlash) flvplayer.previewLoad(plItem.urlThumbnail);
if(this.flashVariables.playListSelfPlay || forceSelf) this.m_plPlayTimer = new Timer(5, 1);
}
private function OnPLPlayTimer(hug1:Event):void
{ //MethodID:2482, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61
if(this.m_plPlayTimer != null){
this.m_plPlayTimer.stop();
this.m_plPlayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, this.OnPLPlayTimer);
this.m_plPlayTimer = null;
}
this.m_AdPreViewLocked = false;
this.OnBnPlay(new Event("play"), false);
}
private function onPlaylistPanelHandler(hug1:ParamEvent):void
{ //MethodID:2483, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 15
this.plPlayItem(hug1.params as PlaylistElement);
}
public function isInFullScreenState():Boolean
{ //MethodID:2484, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 59
var hug1:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
if(!hug1.stage) return false;
var hug2:Stage = hug1.stage;
return Boolean(hug2.displayState == StageDisplayState.FULL_SCREEN);
}
public function exitFullScreen():void
{ //MethodID:2485, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 52
var hug1:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
var hug2:Stage = hug1.stage;
if(this.isInFullScreenState()) hug2.displayState = StageDisplayState.NORMAL;
}
private function listenerVideoKeyboardDown(hug1:KeyboardEvent):void
{ //MethodID:2486, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function OnSnapshotWindowClosed(hug1:Event):void
{ //MethodID:2487, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 52
var hug2:StreamController = null;
if(this.m_prevSnapshotState == PlayerState.STATE_STARTED){
hug2 = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
hug2.resume();
this.switchState(this.m_prevSnapshotState);
}
}
private function onNavigatorEventHandler(hug1:ParamEvent):void
{ //MethodID:2488, LocalCount= 4 , MaxScope= 5, MaxStack= 8, CodeLength= 293
internal var event:ParamEvent; //slotID:1
internal var sItem:TSearchItem; //slotID:2
internal var gEvent:GoogleEvent; //slotID:3
event = hug1;
sItem = (event.params as TSearchItem);
if(sItem == null) return;
gEvent = null;
switch(event.type){
case Navigator.EVENT_LINK_FRAME:
if(sItem.page_link.length > 0){
try{
navigateToURL(new URLRequest(unescape(sItem.page_link)), (this.flashVariables.toggleNewWindow ? "_blank" : "_self"));
}
catch(error:SecurityError){
trace("Controller.onNavigatorEventHandler:", error);
}
gEvent = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_SIMILAR, sItem.page_link.substr(sItem.page_link.indexOf("v=") + 2), this.metaInfo.category);
}
break;
default:
break;
}
if(gEvent != null) EventManager.instance.dispatchEvent(gEvent);
}
private function onContextAdvLink(hug1:Event):void
{ //MethodID:2489, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 29
trace("Controller.onContextAdvLink");
this.pauseMovie();
this.switchState(PlayerState.STATE_PAUSED);
}
public function TryLiveSwitch():void
{ //MethodID:2490, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 38
var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
Reporter.instance.tn = hug1.hash;
this.playMovie();
}
private function listenerFree(hug1:InternalEvent):void
{ //MethodID:2491, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 25
var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
hug2.clear();
}
public function jsReportAtStop():void
{ //MethodID:2492, LocalCount= 3 , MaxScope= 5, MaxStack= 7, CodeLength= 180
internal var streamController:StreamController; //slotID:1
internal var request:String; //slotID:2
request = null;
streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
trace("ExternalInterface : ", ExternalInterface.available);
if(ExternalInterface.available){
try{
ExternalInterface.call("playerNotification", "Play.Stop", {live:streamController.isLive, repeat:this.flashVariables.repeat});
}
catch(e:SecurityError){
trace(e);
}
}else{
request = (("javascript:playerNotification('Play.Stop',{" + "live:") + streamController.isLive + ",repeat:" + this.flashVariables.repeat + "});");
navigateToURL(new URLRequest(request));
}
}
public function plPlayNext():Boolean
{ //MethodID:2493, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61
if(this.flashVariables.playListEnable == false) return false;
var hug1:uint = this.m_curPLItem;
hug1++;
if(hug1 >= this.metaInfo.videoPlayList.length) return false;
this.plPlayItem(this.metaInfo.videoPlayList[hug1]);
return true;
}
private function handleBandWidth(hug1:InternalEvent):void
{ //MethodID:2494, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16
PlayerStatistic.instance.sendBandwidth(hug1.data);
}
public function openContentPage():void
{ //MethodID:2495, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 22
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_VIDEO_TITLE_CLICKED));
}
public function setLiveState(hug1:StreamControllerEvent):void
{ //MethodID:2496, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 92
var hug2:AdvertisingString = null;
var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
trace("Set Live State: " + hug1.type);
if(hug1.body){
hug2 = (hug1.body.advertString as AdvertisingString);
if(hug2){
hug3.textAdvertising.setData(hug2);
hug3.visibleTextAdvertising = !hug2.isEmpty;
}
}
}
}
}
//¡script231¡
package ru.rutube.managers.playback.controller{
import Components.IMediaPlayer
import flash.display.DisplayObject
import flash.events.EventDispatcher
import flash.events.NetStatusEvent
import flash.events.TimerEvent
import flash.geom.Rectangle
import flash.system.System
import flash.utils.Timer
import org.osmf.containers.MediaContainer
import org.osmf.elements.ProxyElement
import org.osmf.events.BufferEvent
import org.osmf.events.LoadEvent
import org.osmf.events.MediaElementEvent
import org.osmf.events.MediaErrorEvent
import org.osmf.events.MediaPlayerCapabilityChangeEvent
import org.osmf.events.MediaPlayerStateChangeEvent
import org.osmf.events.SeekEvent
import org.osmf.events.TimeEvent
import org.osmf.media.MediaElement
import org.osmf.media.MediaPlayer
import org.osmf.media.MediaPlayerState
import org.osmf.media.URLResource
import org.osmf.net.NetClient
import org.osmf.net.NetStreamCodes
import org.osmf.net.NetStreamLoadTrait
import org.osmf.traits.LoadState
import org.osmf.traits.MediaTraitType
import ru.rutube.event.EventManager
import ru.rutube.managers.configuration.data.FlashVariablesConfig
import ru.rutube.managers.playback.StreamMetaInfo
//¡class(instance)_index:230
public class StreamController extends EventDispatcher
{
//static constructor
public static function StreamController$cinit()
{ //MethodID:2498, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 67
CONTROLLER_NONE = 0;
CONTROLLER_MAIN_STREAM = 1;
CONTROLLER_ADVERTISE_STREAM = 2;
CONTROLLER_CACHE_STREAM = 3;
STREAM_TYPE_IFLV = 0;
STREAM_TYPE_FLV = 1;
STREAM_TYPE_MP4 = 2;
STREAM_TYPE_STREAM = 3;
}
//static variables/etc.
public static const CONTROLLER_NONE:int = 0; //slotID:1
public static const CONTROLLER_MAIN_STREAM:int = 1; //slotID:2
public static const CONTROLLER_ADVERTISE_STREAM:int = 2; //slotID:3
public static const CONTROLLER_CACHE_STREAM:int = 3; //slotID:4
public static const STREAM_TYPE_IFLV:int = 0; //slotID:5
public static const STREAM_TYPE_FLV:int = 1; //slotID:6
public static const STREAM_TYPE_MP4:int = 2; //slotID:7
public static const STREAM_TYPE_STREAM:int = 3; //slotID:8
public static function getFileHash(hug1:String):String
{ //dispID:3, MethodID:2499, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 47
var hug2:RegExp = new RegExp("(?:/|%2F)(.{32}).iflv", "gi");
var hug3:Array = hug2.exec(hug1);
return (hug3 ? hug3[1] : "");
}
//constructor
public function StreamController(hug1:int=0)
{ //MethodID:2500, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 340
super();
this._type = hug1;
this.metaInfo = new StreamMetaInfo();
this.metaInfoSecond = new StreamMetaInfo();
this.timer = new Timer(1000);
this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimerTick);
this.bufferTimer = new Timer(1000);
this.bufferTimer.addEventListener(TimerEvent.TIMER_COMPLETE, this.listenerBufferTick);
this.mediaPlayer = new MediaPlayer();
this.mediaPlayer.addEventListener(TimeEvent.DURATION_CHANGE, this.listenerDurationChange);
this.mediaPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, this.listenerCurrentTimeChange);
this.mediaPlayer.addEventListener(LoadEvent.BYTES_TOTAL_CHANGE, this.listenerTotalBytesChange);
this.mediaPlayer.addEventListener(LoadEvent.LOAD_STATE_CHANGE, this.listenerLoadingStateChange);
this.mediaPlayer.addEventListener(LoadEvent.BYTES_LOADED_CHANGE, this.listenerLoading);
this.mediaPlayer.addEventListener(BufferEvent.BUFFER_TIME_CHANGE, this.listenerBufferTimeChange);
this.mediaPlayer.addEventListener(BufferEvent.BUFFERING_CHANGE, this.listenerBufferingChange);
this.mediaPlayer.addEventListener(TimeEvent.COMPLETE, this.listenerMediaComplete);
this.mediaPlayer.addEventListener(MediaErrorEvent.MEDIA_ERROR, this.listenerMediaError);
this.mediaPlayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, this.listenerStateChange);
this.mediaPlayer.addEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, this.listenerTraitSeekChange);
this.mediaPlayer.addEventListener(MediaPlayerCapabilityChangeEvent.CAN_PLAY_CHANGE, this.listenerTraitPlayChange);
this.mediaPlayer.addEventListener(SeekEvent.SEEKING_CHANGE, this.listenerSeekingChange);
}
//variables/etc.
protected var streamFlashVariables:FlashVariablesConfig = null; //slotID:0
private var _streamOffset:Number = 0.0; //slotID:0
private var _type:int = 0; //slotID:0
protected var _mediaContainer:MediaContainer = null; //slotID:0
public var autoBalance:Boolean = true; //slotID:0
private var timer:Timer = null; //slotID:0
private var _needPlay:Boolean = false; //slotID:0
protected var metaInfo:StreamMetaInfo = null; //slotID:0
private var delayedConnectString:String = ""; //slotID:0
private var streamPathUrl:String = ""; //slotID:0
private var _currentOffset:Number = 0.0; //slotID:0
protected var streamMediaPlayerInterface:IMediaPlayer = null; //slotID:0
private var toggleStop:Boolean = false; //slotID:0
private var _needAutoConnect:Boolean = true; //slotID:0
private var bufferCounter:int = 0; //slotID:0
protected var metaInfoSecond:StreamMetaInfo = null; //slotID:0
protected var fileHash:String = ""; //slotID:0
private var _mediaMime:String = null; //slotID:0
private var _mediaType:String = null; //slotID:0
private var toggleListenerVideoCompleteFired:Boolean = false; //slotID:0
protected var _preBalancedUrl:String = ""; //slotID:0
private var toggleUpdateBuffer:Boolean = false; //slotID:0
private var bufferTimer:Timer = null; //slotID:0
protected var mediaPlayer:MediaPlayer = null; //slotID:0
public function setMediaParams(hug1:String, hug2:String):void
{ //MethodID:2501, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 13
this._mediaType = hug1;
this._mediaMime = hug2;
}
public function get session():Boolean
{ //MethodID:2502, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
return ((this.mediaPlayer.media != null) && !this.toggleStop);
}
public function set autoPlay(hug1:Boolean):void
{ //MethodID:2503, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this.mediaPlayer.autoPlay = hug1;
}
public function get type():int
{ //MethodID:2504, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._type;
}
public function set offset(hug1:Number):void
{ //MethodID:2505, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._streamOffset = hug1;
}
public function get offset():Number
{ //MethodID:2506, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._streamOffset;
}
public function get currentOffset():Number
{ //MethodID:2507, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._currentOffset;
}
public function get hasStream():Boolean
{ //MethodID:2508, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18
if(this.mediaPlayer.media != null) return true;
return false;
}
public function get videoContainer():DisplayObject
{ //MethodID:2509, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
if(this.mediaPlayer.media != null) return this.mediaPlayer.displayObject;
return null;
}
public function get bytesLoaded():Number
{ //MethodID:2510, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.mediaPlayer.bytesLoaded;
}
public function get bytesTotal():Number
{ //MethodID:2511, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.mediaPlayer.bytesTotal;
}
public function get isSoundAvalible():Boolean
{ //MethodID:2512, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25
return (this.metaInfo.audiocodecid || this.metaInfo.audiosamplerate);
}
public function get bufferLength():Number
{ //MethodID:2513, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.mediaPlayer.bufferLength;
}
protected function set bufferTime(hug1:Number):void
{ //MethodID:2514, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 184
if(int(this.mediaPlayer.duration - this.mediaPlayer.currentTime) <= hug1) hug1 = Math.abs(this.mediaPlayer.duration - this.mediaPlayer.currentTime);
if((hug1 == 0) || isNaN(hug1)) hug1 = 0.1;
if(this.mediaPlayer.bufferTime == hug1) return;
this.mediaPlayer.bufferTime = hug1;
trace("mediaPlayer.bufferTime:" + this.mediaPlayer.bufferTime + ";value:" + hug1);
if(((this.mediaPlayer.duration - this.mediaPlayer.currentTime) < 0.09) && (this.mediaPlayer.duration > 0) && (this.mediaPlayer.media != null)) this.listenerMediaComplete(null);
}
protected function get bufferTime():Number
{ //MethodID:2515, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.mediaPlayer.bufferTime;
}
public function get videoWidth():Number
{ //MethodID:2516, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.mediaPlayer.mediaWidth;
}
public function get videoHeight():Number
{ //MethodID:2517, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.mediaPlayer.mediaHeight;
}
public function get playingState():Boolean
{ //MethodID:2518, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25
return (this.mediaPlayer.playing || this.mediaPlayer.paused);
}
public function get time():Number
{ //MethodID:2519, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.mediaPlayer.currentTime;
}
public function get filesize():Number
{ //MethodID:2520, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.mediaPlayer.bytesTotal;
}
public function get duration():Number
{ //MethodID:2521, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 31
if(isNaN(this.mediaPlayer.duration)) return 0;
return this.mediaPlayer.duration;
}
public function get isLive():Boolean
{ //MethodID:2522, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function get isMetaData():Boolean
{ //MethodID:2523, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.metaInfo.isHasMetadata();
}
public function getMetaData():StreamMetaInfo
{ //MethodID:2524, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.metaInfo;
}
public function getSecondMetaData():StreamMetaInfo
{ //MethodID:2525, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.metaInfoSecond;
}
public function get firstTimeReal():Number
{ //MethodID:2526, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.metaInfo.first_ts;
}
public function get firstTime():Number
{ //MethodID:2527, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5
return 0;
}
public function get needAutoConnect():Boolean
{ //MethodID:2528, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._needAutoConnect;
}
public function set needAutoConnect(hug1:Boolean):void
{ //MethodID:2529, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._needAutoConnect = hug1;
}
public function get metaFirstTimeReal():Number
{ //MethodID:2530, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(this.metaInfo != null) return this.metaInfo.first_ts;
return 0;
}
public function get alreadyBalanced():Boolean
{ //MethodID:2531, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function set mediaContainer(hug1:MediaContainer):void
{ //MethodID:2532, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45
if(this._mediaContainer == hug1) return;
this._mediaContainer = hug1;
if(this.mediaPlayer.media != null) this._mediaContainer.addMediaElement(this.mediaPlayer.media);
}
public function get mediaContainer():MediaContainer
{ //MethodID:2533, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._mediaContainer;
}
public function get preBalancedUrl():String
{ //MethodID:2534, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this._preBalancedUrl.concat();
}
public function set preBalancedUrl(hug1:String):void
{ //MethodID:2535, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 82
if(hug1 == this._preBalancedUrl) return;
this.clear();
this._preBalancedUrl = hug1;
this.fileHash = getFileHash(this._preBalancedUrl);
if(this._preBalancedUrl.length < 1) return;
if(this.autoBalance) dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_BALANCE_URL, null, this.type));
}
public function get balancedUrl():String
{ //MethodID:2536, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.streamPathUrl.concat();
}
public function setBalancedUrl(hug1:String, hug2:Boolean=true):void
{ //MethodID:2537, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 143
if(hug1.length < 1) return;
hug1 = hug1.replace("max-age=0", "");
hug1 = hug1.replace("&schema=rtmp", "");
if(hug2 || (this.streamPathUrl.length < 1)){
this.streamPathUrl = hug1;
this.delayedConnectString = "";
}else{
this.delayedConnectString = hug1;
}
this.toggleStop = false;
this.bufferCounter = 0;
if((this.streamPathUrl.indexOf("webcaster") > (-1)) && (this.mediaPlayer.media != null)) this.needAutoConnect = false;
if(this.needAutoConnect) this.setDelayedBalancerUrl();
}
public function get hash():String
{ //MethodID:2538, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.fileHash.concat();
}
public function get isReceivedGoodPath():Boolean
{ //MethodID:2539, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function set streamOffset(hug1:Number):void
{ //MethodID:2540, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function get buffering():Boolean
{ //MethodID:2541, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37
if(MediaPlayerState.PLAYBACK_ERROR) return false;
return (this.mediaPlayer.buffering && this.mediaPlayer.paused);
}
public function get mediaRectangle():Rectangle
{ //MethodID:2542, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 103
var hug1:Rectangle = new Rectangle();
if(this.mediaPlayer && this.mediaPlayer.displayObject){
hug1.width = this.mediaPlayer.displayObject.width;
hug1.height = this.mediaPlayer.displayObject.height;
hug1.x = this.mediaPlayer.displayObject.x;
hug1.y = this.mediaPlayer.displayObject.y;
}
trace("get mediaRectangle(): " + hug1);
return hug1;
}
protected function setDelayedBalancerUrl():void
{ //MethodID:2543, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 359
if(this.bufferTimer.running) this.bufferTimer.reset();
var hug1:NetStreamLoadTrait = null;
if(this.mediaPlayer.media != null){
hug1 = (this.mediaPlayer.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait);
if((hug1 != null) && (hug1.netStream != null)){
NetClient(hug1.netStream.client).removeHandler(NetStreamCodes.ON_META_DATA, this.onMetaData);
hug1.netStream.removeEventListener(NetStatusEvent.NET_STATUS, this.listenerStreamStatus);
}
}
var hug2:URLResource = new URLResource((this.delayedConnectString.length > 0) ? this.delayedConnectString : this.streamPathUrl);
hug2.mimeType = this._mediaMime;
hug2.mediaType = this._mediaType;
var hug3:MediaElement = StreamControllerManager.instance.createMediaElement(hug2);
if(hug3.hasOwnProperty("smoothing")){
hug3["smoothing"] = true;
}else{
hug3.addEventListener(MediaElementEvent.TRAIT_ADD, this.listenerMediaTraitAdd);
}
this.mediaPlayer.media = hug3;
if(this.mediaPlayer.media != null){
hug1 = (this.mediaPlayer.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait);
hug1.addEventListener(LoadEvent.LOAD_STATE_CHANGE, this.listenerLoadTraitStateChange);
if((this.balancedUrl.indexOf("http://video-") == 0) && (hug1.netStream != null)) hug1.netStream.checkPolicyFile = true;
}
if(this.mediaPlayer.media != null) this.mediaContainer.addMediaElement(this.mediaPlayer.media);
}
public function play(hug1:Boolean=true, hug2:Number=0.0):void
{ //MethodID:2544, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 130
this.toggleStop = false;
if(hug1){
if(!this.mediaPlayer.playing && this.mediaPlayer.canPlay){
this._needPlay = false;
this.mediaPlayer.play();
if(this.bufferTime < 1){
this.bufferTime = 1;
}else if(this.mediaPlayer.bufferLength > 0){
this.bufferTime = this.mediaPlayer.bufferLength;
}
}else{
this._needPlay = true;
this.bufferTime = 1;
}
}
if(this.bufferTimer.running) this.bufferTimer.reset();
}
public function pause():void
{ //MethodID:2545, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 145
if(!this.mediaPlayer.paused && this.mediaPlayer.playing && this.mediaPlayer.canPause) this.mediaPlayer.pause();
this._needPlay = false;
this.bufferCounter = 0;
if(!isNaN(this.mediaPlayer.duration) && (this.mediaPlayer.duration > 0)){
this.bufferTime = (this.mediaPlayer.duration - this.mediaPlayer.currentTime);
}else{
this.bufferTime = 1;
}
if(this.bufferTimer.running) this.bufferTimer.reset();
}
public function stop():void
{ //MethodID:2546, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 51
if(this.mediaPlayer.canPlay) this.mediaPlayer.stop();
this.toggleStop = true;
if(this.bufferTimer.running) this.bufferTimer.reset();
this._needPlay = false;
}
public function resume():void
{ //MethodID:2547, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 73
if(this.mediaPlayer.paused || this.mediaPlayer.canPlay){
this.bufferTime = this.mediaPlayer.bufferLength;
this.mediaPlayer.play();
this.bufferCounter = 0;
}
if(this.bufferTimer.running) this.bufferTimer.reset();
}
public function seek(hug1:Number):void
{ //MethodID:2548, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 144
this.bufferCounter = 0;
this.bufferTime = 0.1;
if(this.bufferTimer.running) this.bufferTimer.reset();
if(hug1 < 0) hug1 = 0;
this._needPlay = (this._needPlay || this.mediaPlayer.playing);
if(this.mediaPlayer.canSeek){
if(this.mediaPlayer.canSeekTo(hug1)){
this.mediaPlayer.seek(hug1);
}else if(this.mediaPlayer.canSeekTo(hug1 / 1000)){
this.mediaPlayer.seek(hug1 / 1000);
}
}else{
this.offset = hug1;
}
}
public function getMediaType():int
{ //MethodID:2549, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 163
var hug2:String = null;
var hug1:int = STREAM_TYPE_IFLV;
if(this.streamPathUrl != null){
if(this.streamPathUrl.toLowerCase().indexOf(".iflv") > 0){
hug1 = STREAM_TYPE_IFLV;
}else if(this.streamPathUrl.toLowerCase().indexOf(".flv") > 0){
hug1 = STREAM_TYPE_FLV;
}else if(this.streamPathUrl.toLowerCase().indexOf(".mp4") > 0){
hug1 = STREAM_TYPE_MP4;
}else{
hug1 = STREAM_TYPE_STREAM;
}
hug2 = this.streamPathUrl.toLowerCase();
if((hug2.indexOf("rtmp") > (-1)) || (hug2.indexOf("http") > 10)) hug1 = STREAM_TYPE_STREAM;
}
return hug1;
}
public function clear():void
{ //MethodID:2550, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 95
trace(this.type);
this.streamPathUrl = "";
this._preBalancedUrl = "";
if((this.mediaContainer != null) && (this.mediaPlayer.media != null)) this.mediaContainer.removeMediaElement(this.mediaPlayer.media);
this.listenerMediaComplete(null);
this.mediaPlayer.media = null;
this.bufferTime = 0.1;
System.gc();
}
public function get volume():Number
{ //MethodID:2551, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.mediaPlayer.volume;
}
public function set volume(hug1:Number):void
{ //MethodID:2552, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this.mediaPlayer.volume = hug1;
}
private function listenerSeekingChange(hug1:SeekEvent):void
{ //MethodID:2553, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 42
if(!hug1.seeking && this._needPlay){
if(!this.mediaPlayer.playing) this.mediaPlayer.play();
}
}
private function listenerTraitSeekChange(hug1:MediaPlayerCapabilityChangeEvent):void
{ //MethodID:2554, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 28
if(this.offset > 0){
this.seek(this.offset);
this.offset = 0;
}
}
private function listenerTraitPlayChange(hug1:MediaPlayerCapabilityChangeEvent):void
{ //MethodID:2555, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 40
if(this._needPlay && hug1.enabled){
this.play();
}else{
this.mediaPlayer.autoPlay = false;
}
}
private function listenerStreamStatus(hug1:NetStatusEvent):void
{ //MethodID:2556, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function listenerLoadTraitStateChange(hug1:LoadEvent):void
{ //MethodID:2557, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 518
trace("lEvent.loadState:" + hug1.loadState);
var hug2:NetStreamLoadTrait = null;
if(hug1.loadState == LoadState.READY){
hug2 = (hug1.target as NetStreamLoadTrait);
if(hug2 != null){
if(this.balancedUrl.indexOf("http://video-") == 0) hug2.netStream.checkPolicyFile = true;
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.ON_META_DATA, this.onMetaData);
hug2.netStream.addEventListener(NetStatusEvent.NET_STATUS, this.listenerStreamStatus);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.ON_IMAGE_DATA, this.onImageData);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.ON_EOF, this.on_eof);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.ON_ERROR, this.on_error);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_EOF, this.rtms_eof);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_REDIRECT, this.rtms_redirect);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_NOT_AUTH, this.rtms_not_auth);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_FORBID, this.rtms_forbid);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_RETRY_LATER, this.rtms_retry_latter);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_NOT_FOUND, this.rtms_not_found);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_ERROR, this.rtms_error);
NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_WARNING, this.rtms_warning);
}
}else if(hug1.loadState == LoadState.UNLOADING){
this.listenerMediaComplete(null);
}else if(hug1.loadState == LoadState.LOADING){
hug2 = (hug1.target as NetStreamLoadTrait);
if(hug2 != null){
if(this.balancedUrl.indexOf("http://video-") == 0) hug2.netStream.checkPolicyFile = true;
}
}
}
private function onMetaData(hug1:Object):void
{ //MethodID:2558, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 125
if(this.metaInfo.isHasMetadata() && (this.getMediaType() == StreamController.STREAM_TYPE_MP4)){
this.metaInfoSecond.allowChangeKeyframes = true;
this.metaInfoSecond.analise(hug1);
}
this.metaInfo.analise(hug1);
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_METADATA_RECEIVED, null, this.type));
var hug2:NetStreamLoadTrait = null;
hug2 = (this.mediaPlayer.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait);
hug2.connection.call("checkBandwidth", null);
}
protected function listenerLoadingStateChange(hug1:LoadEvent):void
{ //MethodID:2559, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
protected function listenerTotalBytesChange(hug1:LoadEvent):void
{ //MethodID:2560, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
protected function listenerLoading(hug1:LoadEvent):void
{ //MethodID:2561, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 27
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_LOADING_PROGRESS, null, this.type));
}
private function listenerDurationChange(hug1:TimeEvent):void
{ //MethodID:2562, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 61
if(!isNaN(hug1.time)){
if(!this.mediaPlayer.buffering) this.bufferTime = hug1.time;
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_DURATION_CHANGE, null, this.type));
}
}
private function listenerCurrentTimeChange(hug1:TimeEvent):void
{ //MethodID:2563, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 46
if(!this.timer.running) this.timer.start();
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_CURRENT_TIME_CHANGE, null, this.type));
}
private function listenerBufferingChange(hug1:BufferEvent):void
{ //MethodID:2564, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 103
if(!this.bufferTimer.running){
if(!hug1.buffering && (this.bufferTime > 0)){
this.bufferTime = (this.duration - this.time);
if(!this.toggleStop){
this.bufferTimer.reset();
this.bufferTimer.start();
}
}
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_BUFFERING_CHANGE, null, this.type, false, false, hug1.buffering));
}
}
private function listenerBufferTimeChange(hug1:BufferEvent):void
{ //MethodID:2565, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function listenerMediaTraitAdd(hug1:MediaElementEvent):void
{ //MethodID:2566, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 82
var hug2:MediaElement = null;
if(hug1.traitType == MediaTraitType.DISPLAY_OBJECT){
hug2 = (hug1.target as MediaElement);
while(hug2 is ProxyElement){
hug2 = (hug2 as ProxyElement).proxiedElement;
}
if(hug2 != null){
if(hug2.hasOwnProperty("smoothing")) hug2["smoothing"] = true;
}
}
}
private function listenerMediaComplete(hug1:TimeEvent):void
{ //MethodID:2567, LocalCount= 4 , MaxScope= 5, MaxStack= 5, CodeLength= 720
internal var tEvent:TimeEvent; //slotID:1
internal var loadTrain:NetStreamLoadTrait; //slotID:2
loadTrain = null;
tEvent = hug1;
if(this.toggleListenerVideoCompleteFired) return;
this.toggleListenerVideoCompleteFired = true;
if(this.mediaPlayer.media != null){
if(this.mediaPlayer.playing){
this.mediaPlayer.stop();
}else if((this.streamPathUrl != null) && (this.streamPathUrl.indexOf("webcaster") > (-1))){
if(this.mediaPlayer.canPause){
this.mediaPlayer.pause();
this.mediaPlayer.play();
}
return;
}
}
this.timer.reset();
if((this.mediaPlayer.media != null) && this.mediaPlayer.media.hasTrait(MediaTraitType.LOAD)){
loadTrain = (this.mediaPlayer.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait);
if((loadTrain != null) && (loadTrain.netStream != null)){
loadTrain.netStream.removeEventListener(NetStatusEvent.NET_STATUS, this.listenerStreamStatus);
if(loadTrain.netStream.client != null){
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.ON_META_DATA, this.onMetaData);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.ON_IMAGE_DATA, this.onImageData);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.ON_EOF, this.on_eof);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.ON_ERROR, this.on_error);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_EOF, this.rtms_eof);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_REDIRECT, this.rtms_redirect);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_NOT_AUTH, this.rtms_not_auth);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_FORBID, this.rtms_forbid);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_RETRY_LATER, this.rtms_retry_latter);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_NOT_FOUND, this.rtms_not_found);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_ERROR, this.rtms_error);
NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_WARNING, this.rtms_warning);
}
}
}
try{
this.mediaPlayer.media = null;
}
catch(err:Error){
}
this.toggleListenerVideoCompleteFired = false;
if((this.streamPathUrl != null) && (this.streamPathUrl.length > 5)) EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_VIDEO_COMPLETE, null, this.type));
}
private function listenerStateChange(hug1:MediaPlayerStateChangeEvent):void
{ //MethodID:2568, LocalCount= 4 , MaxScope= 1, MaxStack= 8, CodeLength= 560
trace("mEvent.state:" + hug1.state + ", buffelLength:" + this.mediaPlayer.bufferLength);
if((hug1.state == "buffering") && (this.mediaPlayer.bufferLength < 1.5)) this.bufferCounter++;
if((hug1.state == "buffering") && (this.mediaPlayer.bufferLength < 1.5) && !this.mediaPlayer.paused && !this.mediaPlayer.seeking && (this.bufferCounter > 1)){
if(this.mediaPlayer.playing && this.mediaPlayer.canPause && !this._needPlay) this.mediaPlayer.pause();
this.bufferTime = this.duration;
if(this.bufferTimer.running) this.bufferTimer.reset();
switch(this.bufferCounter){
case 2:
this.bufferTimer.repeatCount = 5;
break;
case 3:
this.bufferTimer.repeatCount = 10;
break;
case 4:
this.bufferTimer.repeatCount = 20;
break;
default:
this.bufferTimer.repeatCount = 1;
break;
}
this.bufferTime = (this.duration - this.mediaPlayer.currentTime);
if(this.bufferTimer.repeatCount > 1) this.bufferTimer.start();
}else if(hug1.state == "playing"){
if((this.bufferTime == 1) && (this.duration > 0) && !this.mediaPlayer.buffering) this.bufferTime = (this.duration - this.mediaPlayer.currentTime);
}else if(hug1.state == "paused"){
this.toggleUpdateBuffer = true;
}else if(hug1.state == "uninitialized"){
}
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_STATE_CHANGE, null, this.type, false, false, hug1.state));
if(hug1.state == "buffering") EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_BUFFERING_CHANGE, null, this.type, false, false, true));
}
private function listenerMediaError(hug1:MediaErrorEvent):void
{ //MethodID:2569, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 58
trace(hug1.error.detail);
this.timer.reset();
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_STREAM_ERROR, null, this.type, false, false, hug1.error.errorID));
}
private function listenerTimerTick(hug1:TimerEvent):void
{ //MethodID:2570, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 70
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_LOADING_PROGRESS, null, this.type));
if(this.toggleUpdateBuffer){
if(this.mediaPlayer.state == "paused") this.bufferTime = (this.duration - this.mediaPlayer.currentTime);
this.toggleUpdateBuffer = false;
}
}
private function listenerBufferTick(hug1:TimerEvent):void
{ //MethodID:2571, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 56
if(this.mediaPlayer.paused || this.mediaPlayer.canPlay){
this.bufferTime = this.mediaPlayer.bufferLength;
this.mediaPlayer.play();
}
this.bufferTimer.reset();
}
protected function onCuePoint(hug1:*=null):void
{ //MethodID:2572, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
protected function onImageData(hug1:*=null):void
{ //MethodID:2573, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
protected function on_eof(hug1:*, hug2:*=null):void
{ //MethodID:2574, LocalCount= 3 , MaxScope= 1, MaxStack= 11, CodeLength= 49
trace("OnEOF Old");
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_ON_EOF, null, this.type, false, false, {uid:hug1, msg:hug2}));
}
protected function on_error(hug1:*, hug2:*=null):void
{ //MethodID:2575, LocalCount= 3 , MaxScope= 1, MaxStack= 11, CodeLength= 49
trace("OnError Old");
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_ON_ERROR, null, this.type, false, false, {uid:hug1, msg:hug2}));
}
protected function rtms_eof():void
{ //MethodID:2576, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 37
trace("OnRTMS_EOF");
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_EOF, null, this.type));
}
protected function rtms_redirect(hug1:*=null):void
{ //MethodID:2577, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9
this.setBalancedUrl(hug1);
}
protected function rtms_not_auth():void
{ //MethodID:2578, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 27
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_AUTH, null, this.type));
}
protected function rtms_forbid(hug1:*=null):void
{ //MethodID:2579, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 30
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_FORBID, null, this.type, false, false, hug1));
}
protected function rtms_retry_latter(hug1:*=null):void
{ //MethodID:2580, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 30
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_RETRY_LATTER, null, this.type, false, false, hug1));
}
protected function rtms_not_found():void
{ //MethodID:2581, LocalCount= 1 , MaxScope= 1, MaxStack= 8, CodeLength= 30
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_FOUND, null, this.type, false, false, null));
}
protected function rtms_error(hug1:*=null):void
{ //MethodID:2582, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 30
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_ERROR, null, this.type, false, false, hug1));
}
protected function rtms_warning(hug1:*=null):void
{ //MethodID:2583, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 30
EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_WARNING, null, this.type, false, false, hug1));
}
}
}
//¡script232¡
package Components{
import Components.EndScreen.DefaultES
import Components.EndScreen.EmbedES
import Components.EndScreen.EndScreen2
import Components.EndScreen.MenuPanel
import Components.EndScreen.Navigator
import Components.Renderer.PlayerLayoutRenderer
import Components.Window.AboutWindow
import Components.Window.AlertWindow
import Components.Window.ComplainWindow
import Components.Window.PlaylistWindow
import Components.Window.SnapshotWindow
import Components.Window.WindowDispatcher
import fl.transitions.Tween
import fl.transitions.TweenEvent
import fl.transitions.easing.None
import flash.display.DisplayObject
import flash.display.Shape
import flash.display.Sprite
import flash.display.StageDisplayState
import flash.events.Event
import flash.events.FullScreenEvent
import flash.events.MouseEvent
import flash.events.TimerEvent
import flash.geom.Point
import flash.geom.Rectangle
import flash.ui.Mouse
import flash.utils.Timer
import org.osmf.containers.MediaContainer
import ru.rutube.actio.ActioLayer
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.EventManager
import ru.rutube.event.FunctionalPanelEvent
import ru.rutube.event.InternalEvent
import ru.rutube.managers.playback.stream.LiveEvent
//¡class(instance)_index:231
public class Player extends Component
{
//static constructor
public static function Player$cinit()
{ //MethodID:2585, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16
alertWindow = new AlertWindow();
}
//static variables/etc.
public static var alertWindow:AlertWindow; //slotID:1
public static function alert(hug1:String, hug2:Boolean=false):void
{ //dispID:3, MethodID:2586, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 12
alertWindow.showText(hug1, hug2);
}
//constructor
public function Player():void
{ //MethodID:2615, LocalCount= 1 , MaxScope= 1, MaxStack= 21, CodeLength= 2007
this.topPanel = new Component();
this.bottomPanel = new Component();
this.control = new ControlPanel();
this.functional = new FunctionalPanel();
this.playlistPanel = new PlaylistPanel();
this.textAdvertising = new TextAdvertising();
this.navigator = new Navigator();
this.titlePanel = new TitlePanel();
this.infoPanel = new InfoPanel();
this.invisibleCompsArray = [];
this.complainWindow = new ComplainWindow("dialog");
this.playlistWindow = new PlaylistWindow("dialog");
this.snapshotWindow = new SnapshotWindow("dialog");
this.logoButton = new Button(SkinManager.getSkin("LogoButtonSkin"));
this.aboutWindow = new AboutWindow("dialog");
this.endScreen = new EndScreen2(this.navigator, this.contextAdvertising);
this.blurPanel = new Sprite();
this.maskPanel = new Shape();
this.hideTimer = new Timer(1500, 1);
this.navigatorTimer = new Timer(800, 1);
this.menuPanel = new MenuPanel();
super();
size(640, 360);
this.previewWindow = new PreviewImageWindow();
addChild(this.previewWindow);
this.previewWindow.params({w:_width, h:_height, right:true, bottom:true});
this.videoContainer = new MediaContainer(new PlayerLayoutRenderer());
this.videoContainer.mouseChildren = false;
this.videoContainer.backgroundColor = 0;
this.videoContainer.addEventListener(MouseEvent.ROLL_OVER, this.onMouseVideoWindowHandler);
this.videoContainer.addEventListener(MouseEvent.ROLL_OUT, this.onMouseVideoWindowHandler);
this.videoContainer.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseVideoWindowHandler);
addChild(this.videoContainer);
this.actioLayer = new ActioLayer();
addChild(this.actioLayer);
EventManager.instance.addEventListener(InternalEvent.STAGE, this.listenerStageMouseHandler);
addChild(this.endScreen);
this.endScreen.params({w:_width, h:_height, right:true, bottom:true});
this.endScreen.visible = false;
this.endScreen.topPadding = this.functional._height;
addChild(this.infoPanel);
this.infoPanel.params({x:80, w:(_width - 160), y:0.5, yP:true, yD:(-40), right:true});
this.playWindowButton = new Button(SkinManager.getSkin("PlayWindowButtonSkin"));
this.playWindowButton.hint = "„ƒ„„„p„‚„„";
addChild(this.playWindowButton);
this.playWindowButton.params({x:0.5, xP:true, y:0.5, yP:true, yD:10});
this.playWindowButton.addEventListener(MouseEvent.CLICK, this.listenerMainButtonClick);
addChild(this.playlistPanel);
this.playlistPanel.params({h:_height, bottom:true});
this.playlistPanel.indent(this.functional._height, this.control._height);
this.playlistPanel.setVisible(false);
this.playlistPanel.addEventListener(PlaylistPanel.EVENT_CHANGE_VISIBLE, this.updateVisibleComponents);
addChild(this.topPanel);
this.topPanel.params({w:_width, h:_height, right:true, bottom:true});
this.topPanel.addChild(this.titlePanel);
this.titlePanel.params({x:5, y:(this.functional._height + 5), w:(this.topPanel._width - 10), right:true});
this.titlePanel.addEventListener(MouseEvent.CLICK, this.listenerTitlePanelClicked);
this.topPanel.addChild(this.functional);
this.functional.params({w:this.topPanel._width, right:true});
this.topPanel.addChild(this.textAdvertising);
this.textAdvertising.params({w:this.topPanel._width, y:this.functional._height, right:true});
this.topPanel.addChild(this.menuPanel);
this.menuPanel.params({w:this.topPanel._width, y:(this.functional._height - 1), h:(this.topPanel._height - this.functional._height - this.control._height), right:true, bottom:true, wContainer:this.topPanel._width, hContainer:this.topPanel._height});
this.menuPanel.visible = false;
EventManager.instance.addEventListener(FunctionalPanelEvent.EVENT_MENU, this.onShowMenuHandler);
this.menuPanel.addEventListener(MouseEvent.ROLL_OUT, this.onHideMenuHandler);
addChild(this.bottomPanel);
this.bottomPanel.params({w:_width, h:_height, bottom:true, right:true});
if(SkinManager.theme == null) this.logoButton.hint = "„„u„‚„u„z„„„y „~„p rutube.ru";
this.logoButton.addEventListener(MouseEvent.CLICK, this.listenerLogoClick);
this.bottomPanel.addChild(this.logoButton);
this.logoButton.params({x:(this.bottomPanel._width - this.logoButton.width - 4), y:(this.bottomPanel._height - this.control._height - this.logoButton.height - 1), top:false, bottom:true, left:false, right:true});
if(this.navigator != null){
this.bottomPanel.addChild(this.navigator);
this.navigator.params({w:this.bottomPanel._width, y:((this.bottomPanel._height - this.control._height) - ((this.contextAdvertising != null) ? this.contextAdvertising._height : 0) - this.navigator._height - 10), top:false, bottom:true, right:true});
this.navigator.visible = false;
}
this.bottomPanel.addChild(this.control);
this.control.params({w:this.bottomPanel._width, y:(this.bottomPanel._height - this.control._height), top:false, bottom:true, right:true});
addChild(this.blurPanel);
this.blurPanel.visible = false;
addChild(this.complainWindow);
this.complainWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true, right:true, bottom:true, wContainer:460, hContainer:300});
addChild(this.playlistWindow);
this.playlistWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true, right:true, bottom:true, wContainer:460, hContainer:260});
addChild(this.snapshotWindow);
this.snapshotWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true, right:true, bottom:true, wContainer:460, hContainer:310});
addChild(this.aboutWindow);
this.aboutWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true});
addChild(alertWindow);
alertWindow.y = 30;
HintDispatcher.init(this);
addChild(this.maskPanel);
mask = this.maskPanel;
WindowDispatcher.addEventListener("dialog", WindowDispatcher.EVENT_SHOW, this.onChangeWindowVisible);
WindowDispatcher.addEventListener("dialog", WindowDispatcher.EVENT_HIDE, this.onChangeWindowVisible);
addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseEventHandler);
addEventListener(MouseEvent.ROLL_OVER, this.onMouseEventHandler);
EventManager.instance.addEventListener(InternalEvent.STAGE, this.onChangeFullScreenModeHandler);
this.topPanelTween = new Tween(this.topPanel, "y", None.easeNone, 0, 0, 1, true);
this.topPanelTween.stop();
this.bottomPanelTween = new Tween(this.bottomPanel, "y", None.easeNone, this.control._height, this.control._height, 1, true);
this.bottomPanelTween.addEventListener(TweenEvent.MOTION_FINISH, this.onFinishPanelTweenHandler);
this.bottomPanelTween.stop();
this.hideTimer.addEventListener(TimerEvent.TIMER_COMPLETE, this.onHideTimerHandler);
this.navigatorTimer.addEventListener(TimerEvent.TIMER_COMPLETE, this.onNavigatorTimerHandler);
EventManager.instance.addEventListener(LiveEvent.EVENT_CHANGE_STATE, this.onChangeLiveState);
this.motionPanes(false);
}
//variables/etc.
private var invisibleCompsArray:Array; //slotID:0
private var functional:FunctionalPanel; //slotID:0
private var isRollVideoWindow:Boolean = false; //slotID:0
private var hideTimer:Timer; //slotID:0
public var endScreen:EndScreen2; //slotID:0
private var googleAdvertising:AdSenseContainer = null; //slotID:0
private var navigatorTimer:Timer; //slotID:0
private var functionalForbidden:Boolean = false; //slotID:0
public var complainWindow:ComplainWindow; //slotID:0
private var adViewMode:Boolean = false; //slotID:0
private var videoContainer:MediaContainer = null; //slotID:0
private var playlistPanel:PlaylistPanel; //slotID:0
private var allowableHidePanels:Boolean = true; //slotID:0
public var navigator:Navigator; //slotID:0
private var bottomPanelTween:Tween = null; //slotID:0
private var menuForbidden:Boolean = false; //slotID:0
private var $allowNavigator:Boolean = false; //slotID:0
public var playlistWindow:PlaylistWindow; //slotID:0
protected var wasFirstRoll:Boolean = false; //slotID:0
private var autoHidePL:Boolean = false; //slotID:0
private var endScreenMode:Boolean = false; //slotID:0
private var control:ControlPanel; //slotID:0
private var adView:Component = null; //slotID:0
private var maskPanel:Shape; //slotID:0
private var isRollPlayer:Boolean = false; //slotID:0
private var titlePanel:TitlePanel; //slotID:0
public var playWindowButton:Button = null; //slotID:0
public var bottomPanel:Component; //slotID:0
private var _lockPanels:Boolean = false; //slotID:0
private var isFullScreen:Boolean = false; //slotID:0
public var useRollPlayer:Boolean = false; //slotID:0
public var topPanel:Component; //slotID:0
private var overlayAdvertising:Component = null; //slotID:0
public var textAdvertising:TextAdvertising; //slotID:0
private var logoButton:Button; //slotID:0
private var enablePL:Boolean = false; //slotID:0
private var snapshotWindow:SnapshotWindow; //slotID:0
private var previewWindow:PreviewImageWindow = null; //slotID:0
private var blurPanel:Sprite; //slotID:0
private var aboutWindow:AboutWindow; //slotID:0
private var menuPanel:MenuPanel; //slotID:0
private var contextAdvertising:Component = null; //slotID:0
public var infoPanel:InfoPanel; //slotID:0
public var actioLayer:ActioLayer = null; //slotID:0
private var topPanelTween:Tween = null; //slotID:0
private var isVisiblePanels:Boolean = true; //slotID:0
public var isPaused:Boolean = false; //slotID:0
public function getControl():ControlPanel
{ //MethodID:2587, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.control;
}
public function getBottomPanel():Component
{ //MethodID:2588, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.bottomPanel;
}
public function getFunctional():FunctionalPanel
{ //MethodID:2589, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.functional;
}
public function get isOver():Boolean
{ //MethodID:2590, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.isRollPlayer;
}
public function get isAdvertisementMode():Boolean
{ //MethodID:2591, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.adViewMode;
}
public function getPlaylistPanel():PlaylistPanel
{ //MethodID:2592, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.playlistPanel;
}
public function get mediaContainer():MediaContainer
{ //MethodID:2593, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.videoContainer;
}
public function previewLoad(hug1:String):void
{ //MethodID:2594, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 36
if(!this.previewWindow.parent) addChildAt(this.previewWindow, 0);
this.previewWindow.loadThumbnail(hug1);
}
public function previewHide():void
{ //MethodID:2595, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
if(this.previewWindow.parent != null) this.previewWindow.parent.removeChild(this.previewWindow);
}
public function getSnapshotWindow():SnapshotWindow
{ //MethodID:2596, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.snapshotWindow;
}
public function getLogoButton():Button
{ //MethodID:2597, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.logoButton;
}
public function getTitlePanel():TitlePanel
{ //MethodID:2598, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.titlePanel;
}
public function setVersion(hug1:String):void
{ //MethodID:2599, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this.aboutWindow.build = hug1;
}
public function showAboutWindow():void
{ //MethodID:2600, LocalCount= 1 , MaxScope= 1, MaxStack= 13, CodeLength= 85
if(this.aboutWindow.parent != null) this.aboutWindow.parent.removeChild(this.aboutWindow);
addChild(this.aboutWindow);
this.aboutWindow.visible = true;
this.aboutWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true});
}
public function hideAboutWindow():void
{ //MethodID:2601, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 38
this.aboutWindow.visible = false;
if(this.aboutWindow.parent != null) this.aboutWindow.parent.removeChild(this.aboutWindow);
}
public function getEndScreen():EndScreen2
{ //MethodID:2602, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.endScreen;
}
private function get lockPanels():Boolean
{ //MethodID:2603, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._lockPanels;
}
private function set lockPanels(hug1:Boolean):void
{ //MethodID:2604, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._lockPanels = hug1;
}
public function forbidFunctionalPanel():void
{ //MethodID:2605, LocalCount= 1 , MaxScope= 1, MaxStack= 15, CodeLength= 160
this.functionalForbidden = true;
this.functional.forbidShow();
this.titlePanel.params({x:5, y:5, w:(this.topPanel._width - 10), right:true}, true, true, true, false);
this.textAdvertising.params({w:this.topPanel._width, y:0, right:true});
this.menuPanel.params({w:this.topPanel._width, y:0, h:(this.topPanel._height - 0 - this.control._height), right:true, bottom:true, wContainer:this.topPanel._width, hContainer:this.topPanel._height});
}
public function forbidMenuPanel():void
{ //MethodID:2606, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16
this.menuForbidden = true;
this.menuPanel.forbidShow();
}
public function get googleContainer():Component
{ //MethodID:2607, LocalCount= 1 , MaxScope= 1, MaxStack= 13, CodeLength= 140
if(!this.googleAdvertising){
this.googleAdvertising = new AdSenseContainer();
this.googleAdvertising.size(this.bottomPanel._width, 60, false, this.bottomPanel._width, 60, 0, 60);
this.googleAdvertising.visible = false;
this.bottomPanel.addChild(this.googleAdvertising);
this.googleAdvertising.params({w:this.bottomPanel._width, h:60, y:(this.bottomPanel._height - this.googleAdvertising._height - this.control._height), right:true, top:false, bottom:true});
}
return this.googleAdvertising;
}
public function addOverlay(hug1:Component):void
{ //MethodID:2608, LocalCount= 2 , MaxScope= 1, MaxStack= 11, CodeLength= 268
this.removeOverlay();
this.overlayAdvertising = hug1;
if((this.bottomPanel != null) && (this.overlayAdvertising != null)){
this.bottomPanel.addChildAt(this.overlayAdvertising, (this.bottomPanel.getChildIndex(this.logoButton) + 1));
this.overlayAdvertising.params({w:this.bottomPanel.baseWidth, y:(this.bottomPanel.baseHeight - this.overlayAdvertising._height - this.control._height), right:true, bottom:true});
this.overlayAdvertising.onResize();
}
if(this.overlayAdvertising != null) this.overlayAdvertising.addEventListener(OverlayAdvertising.EVENT_OVERLAY_SHOW, this.onOverlayAdvertisingHandler, false, 0, true);
if(this.navigator != null){
this.navigator.params({w:this.bottomPanel._width, y:((this.bottomPanel._height - this.control._height) - ((this.contextAdvertising != null) ? this.contextAdvertising._height : 0) - this.navigator._height - 10), top:false, bottom:true, right:true});
this.navigator.visible = false;
this.navigatorTimer.reset();
}
}
public function removeOverlay():void
{ //MethodID:2609, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 60
if((this.overlayAdvertising != null) && (this.bottomPanel != null)){
if(this.bottomPanel.contains(this.overlayAdvertising)) this.bottomPanel.removeChild(this.overlayAdvertising);
}
this.overlayAdvertising = null;
}
public function addBegun(hug1:Component):void
{ //MethodID:2610, LocalCount= 2 , MaxScope= 1, MaxStack= 11, CodeLength= 324
this.removeOverlay();
this.contextAdvertising = hug1;
if((this.bottomPanel != null) && (this.contextAdvertising != null)){
this.bottomPanel.addChildAt(this.contextAdvertising, (this.bottomPanel.getChildIndex(this.logoButton) + 1));
this.contextAdvertising.params({w:this.bottomPanel._width, y:(this.bottomPanel._height - this.contextAdvertising._height - this.control._height), right:true, top:false, bottom:true});
}
if((hug1 != null) && !hug1.hasEventListener(ContextAdvertising.EVENT_OPEN)){
hug1.addEventListener(ContextAdvertising.EVENT_OPEN, this.onContextAdvertisingHandler, false, 0, true);
hug1.addEventListener(ContextAdvertising.EVENT_CLOSE, this.onContextAdvertisingHandler, false, 0, true);
}
this.endScreen.setContextAdvertising(hug1);
if(this.endScreenMode) this.endScreen.onPaint();
if(this.contextAdvertising != null) this.updateVisibleComponents(this.contextAdvertising);
if(this.navigator != null) this.navigator.params({w:this.bottomPanel._width, y:((this.bottomPanel._height - this.control._height) - ((this.contextAdvertising != null) ? this.contextAdvertising._height : 0) - this.navigator._height - 10), top:false, bottom:true, right:true});
}
public function removeBegun():void
{ //MethodID:2611, LocalCount= 1 , MaxScope= 1, MaxStack= 11, CodeLength= 250
if((this.contextAdvertising != null) && (this.bottomPanel != null)){
if(this.contextAdvertising.parent != null){
if(this.contextAdvertising.parent.contains(this.contextAdvertising)) this.contextAdvertising.parent.removeChild(this.contextAdvertising);
}
}
if((this.contextAdvertising != null) && this.contextAdvertising.hasEventListener(ContextAdvertising.EVENT_OPEN)){
this.contextAdvertising.removeEventListener(ContextAdvertising.EVENT_OPEN, this.onContextAdvertisingHandler);
this.contextAdvertising.removeEventListener(ContextAdvertising.EVENT_CLOSE, this.onContextAdvertisingHandler);
}
this.endScreen.setContextAdvertising(null);
this.contextAdvertising = null;
if(this.navigator != null) this.navigator.params({w:this.bottomPanel._width, y:((this.bottomPanel._height - this.control._height) - ((this.contextAdvertising != null) ? this.contextAdvertising._height : 0) - this.navigator._height - 10), top:false, bottom:true, right:true});
}
public function addMainAdvertising(hug1:Component):void
{ //MethodID:2612, LocalCount= 2 , MaxScope= 1, MaxStack= 9, CodeLength= 170
if(this.adView == hug1) return;
if(this.adView != null){
if(contains(this.adView)) removeChild(this.adView);
this.adView.release();
this.adView = null;
}
this.adView = hug1;
if(!this.adView) return;
if(this.aboutWindow.parent != null){
addChildAt(this.adView, getChildIndex(this.aboutWindow));
}else{
addChild(this.adView);
}
this.adView.visible = false;
this.adView.params({w:baseWidth, h:baseHeight, right:true, bottom:true});
this.adView.onResize();
}
public function removeMainAdvertising():void
{ //MethodID:2613, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 51
if(this.adView != null){
if(contains(this.adView)) removeChild(this.adView);
this.adView.release();
this.adView = null;
}
}
public function removeActio():void
{ //MethodID:2614, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 44
if(this.actioLayer != null){
if(this.actioLayer.parent != null) this.actioLayer.parent.removeChild(this.actioLayer);
}
this.actioLayer = null;
}
public function removeNavigator():void
{ //MethodID:2616, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 44
if(this.navigator != null){
if(this.navigator.parent != null) this.navigator.parent.removeChild(this.navigator);
this.navigator = null;
}
}
public function createES(hug1:Boolean=false):void
{ //MethodID:2617, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 54
this.endScreen.createES(hug1);
this.menuPanel.searchMode = !hug1;
if(this.endScreen.es is EmbedES) (this.endScreen.es as EmbedES).menuPanel = this.menuPanel;
}
private function onChangeLiveState(hug1:LiveEvent):void
{ //MethodID:2618, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 39
if((hug1.text != "") && (hug1.text != null)){
}
alert(hug1.text);
}
private function onShowMenuHandler(hug1:Event):void
{ //MethodID:2619, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 57
if(this.menuPanel.visible) return;
var hug2:Boolean = (this.endScreen.es is EmbedES);
if(hug2 && !this.endScreenMode){
this.menuPanel.visible = true;
this.updateVisibleComponents();
}
}
private function onHideMenuHandler(hug1:MouseEvent=null):void
{ //MethodID:2620, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 78
if((((hug1 == null) || (hug1.localY > 0)) && (!this.endScreenMode || (this.endScreen.es is DefaultES))) && !this.menuPanel.openedTab){
this.menuPanel.visible = false;
this.updateVisibleComponents();
}
}
private function onChangeWindowVisible(hug1:Event):void
{ //MethodID:2621, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 129
this.blurPanel.visible = (hug1.type == WindowDispatcher.EVENT_SHOW);
if(this.blurPanel.visible && (_height < 160)){
WindowDispatcher.groupHide("dialog");
switch(hug1.currentTarget){
case this.aboutWindow:
alert(this.aboutWindow.compactAbout);
break;
default:
break;
}
}
}
private function onMouseVideoWindowHandler(hug1:Event):void
{ //MethodID:2622, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 387
var hug3:DisplayObject = null;
if(hug1.type == Event.MOUSE_LEAVE){
this.onMouseLeaveHandler(hug1);
return;
}
if(!this.$allowNavigator) return;
var hug2:Boolean = false;
switch(hug1.type){
case MouseEvent.ROLL_OVER:
this.isRollVideoWindow = true;
if(this.navigator != null){
if(!this.navigator.visible) hug2 = true;
}
break;
case MouseEvent.ROLL_OUT:
this.isRollVideoWindow = false;
if(hug1.hasOwnProperty("relatedObject") && (hug1["relatedObject"] != null)){
hug3 = hug1["relatedObject"];
while(hug3 != null){
if(hug3 == this.navigator) return;
hug3 = hug3.parent;
}
}
if(this.navigatorTimer.running) this.navigatorTimer.stop();
if(this.navigator != null) this.navigator.visible = false;
break;
case MouseEvent.MOUSE_MOVE:
if(this.navigator != null){
if(this.isRollVideoWindow && (!this.navigator.visible || this.isFullScreen)) hug2 = true;
}
(hug1 as MouseEvent).updateAfterEvent();
break;
default:
break;
}
if(hug2 && (_height >= 200) && !this.playlistPanel.correctVisible){
this.navigatorTimer.reset();
this.navigatorTimer.start();
}
}
private function onMouseEventHandler(hug1:MouseEvent):void
{ //MethodID:2623, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 280
switch(hug1.type){
case MouseEvent.MOUSE_MOVE:
if(this.isFullScreen && !this.lockPanels && this.allowableHidePanels){
this.hideTimer.reset();
this.motionPanes(true);
this.hideTimer.start();
}
if(this.autoHidePL){
if(!this.playlistPanel.correctVisible && (hug1.stageX < 20)) this.playlistPanel.transition();
}
break;
case MouseEvent.ROLL_OVER:
if(this.hideTimer.running) this.hideTimer.reset();
if(!this.lockPanels && this.allowableHidePanels && !this.isFullScreen) this.motionPanes(true);
this.wasFirstRoll = this.isRollPlayer = true;
break;
case MouseEvent.ROLL_OUT:
this.isRollPlayer = false;
break;
default:
break;
}
}
private function onMouseLeaveHandler(hug1:Event):void
{ //MethodID:2624, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 99
if(this.hideTimer.running) this.hideTimer.reset();
if(!this.lockPanels && this.allowableHidePanels && !this.control.timeline.isMarkEditWindowVisible() && !WindowDispatcher.groupVisible("dialog") && !this.isFullScreen) this.motionPanes(false);
this.isRollPlayer = false;
}
private function listenerStageMouseHandler(hug1:InternalEvent):void
{ //MethodID:2625, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 28
if(hug1.eventType == Event.MOUSE_LEAVE) this.onMouseVideoWindowHandler(hug1.data as Event);
}
private function onChangeFullScreenModeHandler(hug1:InternalEvent):void
{ //MethodID:2626, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 192
if(hug1.eventType != FullScreenEvent.FULL_SCREEN) return;
var hug2:Event = (hug1.data as Event);
this.isFullScreen = (stage.displayState == StageDisplayState.FULL_SCREEN);
trace(" onChangeFullScreenModeHandler " + this.isFullScreen + " , " + stage.stageWidth + " , " + stage.stageHeight);
this.functional.displayModeButton(FunctionalPanel.DISPLAY_FULLSCREEN_BUTTON, (this.isFullScreen ? "1" : "0"));
if(this.overlayAdvertising != null) (this.overlayAdvertising as OverlayAdvertising).rePosition();
if(this.allowableHidePanels && !this.lockPanels && this.isFullScreen) this.hideTimer.start();
onResize(stage.stageWidth, stage.stageHeight);
}
private function onHideTimerHandler(hug1:TimerEvent):void
{ //MethodID:2627, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 282
internal var event:TimerEvent; //slotID:1
internal var isNoDialog:Boolean; //slotID:2
internal var top:Number; //slotID:3
internal var bottom:Number; //slotID:4
internal var isRegion:Boolean; //slotID:5
isNoDialog = false;
top = NaN;
bottom = NaN;
isRegion = false;
event = hug1;
try{
(event.currentTarget as Timer).reset();
isNoDialog = (!this.control.timeline.isMarkEditWindowVisible() && !this.control.timeline.isMarkPreviewWindowVisible() && !WindowDispatcher.groupVisible("dialog"));
top = (y + this.functional._height);
if(this.textAdvertising.visible) top += this.textAdvertising._height;
bottom = (y + _height - this.control._height);
if(this.contextAdvertising != null) bottom -= this.contextAdvertising.height;
isRegion = ((stage.mouseY > top) && (stage.mouseY < bottom));
if(isNoDialog && isRegion) this.motionPanes(false);
}
catch(error:Error){
trace(error.message);
}
}
private function onNavigatorTimerHandler(hug1:TimerEvent):void
{ //MethodID:2628, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 124
this.navigatorTimer.reset();
if(!this.$allowNavigator || !this.isRollVideoWindow) return;
if(this.navigator != null){
if(!this.navigator.visible && (!this.overlayAdvertising || (this.overlayAdvertising as OverlayAdvertising).isMinimized || !this.overlayAdvertising.visible)){
this.navigator.show();
}else if(this.isFullScreen){
this.navigator.visible = false;
}
}
}
private function showPanes():void
{ //MethodID:2629, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 141
if(!this.wasFirstRoll) return;
if(this.lockPanels) return;
if(!this.isRollPlayer) return;
if(this.hideTimer.running) this.hideTimer.reset();
Mouse.show();
if(this.topPanelTween.isPlaying) this.topPanelTween.stop();
if(this.bottomPanelTween.isPlaying) this.bottomPanelTween.stop();
this.topPanel.y = 0;
this.bottomPanel.y = 0;
var hug1:Boolean = this.isVisiblePanels = true;
this.functional.visible = hug1;
this.control.visible = hug1;
}
public function motionPanes(hug1:Boolean, hug2:Boolean=false):void
{ //MethodID:2630, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 463
var hug3:Number = NaN;
var hug4:Number = NaN;
var hug5:Rectangle = null;
var hug6:Point = null;
if((this.lockPanels || (this.isVisiblePanels == hug1)) || (!hug1 && !this.allowableHidePanels)) return;
if(stage != null){
hug5 = getRect(stage);
hug6 = new Point(mouseX, mouseY);
hug6 = localToGlobal(hug6);
this.isRollPlayer = hug5.containsPoint(hug6);
hug1 = (this.isRollPlayer && hug1);
}
if(this.topPanelTween.isPlaying) this.topPanelTween.stop();
if(this.bottomPanelTween.isPlaying) this.bottomPanelTween.stop();
this.isVisiblePanels = hug1;
if(hug1){
var hug7:int = 0;
hug4 = hug7;
hug3 = hug7;
var hug7:Boolean = true;
this.control.visible = hug7;
this.functional.visible = hug7;
Mouse.show();
}else{
hug3 = -this.functional._height;
hug4 = this.control._height;
this.control.compact();
if(this.menuPanel.visible) this.onHideMenuHandler();
if(this.$allowNavigator){
this.navigatorTimer.stop();
if(this.navigator != null) this.navigator.visible = false;
}
}
this.topPanelTween.begin = this.topPanel.y;
this.topPanelTween.finish = hug3;
this.topPanelTween.duration = (0.25 * (Math.abs(hug3 - this.topPanel.y) / this.functional._height));
this.bottomPanelTween.begin = this.bottomPanel.y;
this.bottomPanelTween.finish = hug4;
this.bottomPanelTween.duration = (0.25 * (Math.abs(hug4 - this.bottomPanel.y) / this.control._height));
if(hug2){
this.topPanelTween.fforward();
this.bottomPanelTween.fforward();
}else{
this.topPanelTween.start();
this.bottomPanelTween.start();
}
}
public function onFinishPanelTweenHandler(hug1:TweenEvent):void
{ //MethodID:2631, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 69
if(!this.isVisiblePanels){
var hug2:Boolean = false;
this.control.visible = hug2;
this.functional.visible = hug2;
alertWindow.visible = hug2;
if(this.isFullScreen && !this.isPaused) Mouse.hide();
}
}
public function set enablePlaylist(hug1:Boolean):void
{ //MethodID:2632, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
this.enablePL = hug1;
this.playlistPanel.setVisible(hug1);
this.updateVisibleComponents();
}
public function set autoHidePlaylist(hug1:Boolean):void
{ //MethodID:2633, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 49
if(!this.enablePL || (this.autoHidePL == hug1)) return;
if(!hug1){
this.playlistPanel.setVisible(true);
this.updateVisibleComponents();
}
this.autoHidePL = hug1;
}
public function showEndScreen():void
{ //MethodID:2634, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 247
if(!this.allowableHidePanels) return;
this.endScreenMode = true;
this.bottomPanel.visible = false;
this.lockPanels = true;
if(this.contextAdvertising != null) (this.contextAdvertising as ContextAdvertising).alwaysOpened = true;
this.control.compact();
this.control.visible = false;
this.logoButton.rawVisible = false;
this.playlistPanel.indent(NaN, 0);
this.menuPanel.visible = false;
this.menuPanel.setTabIndex(-1);
if(this.endScreen.es is EmbedES) this.menuPanel.searchMode = false;
if(this.contextAdvertising != null){
if(this.contextAdvertising.parent != null){
this.contextAdvertising.parent.removeChild(this.contextAdvertising);
this.endScreen.addChildAt(this.contextAdvertising, 2);
}
}
if(this.navigator != null){
this.navigator.parent.removeChild(this.navigator);
this.endScreen.addChildAt(this.navigator, 2);
}
this.endScreen.visible = true;
if(this.googleAdvertising != null) this.googleAdvertising.visible = false;
this.updateVisibleComponents();
}
public function hideEndScreen():void
{ //MethodID:2635, LocalCount= 1 , MaxScope= 1, MaxStack= 9, CodeLength= 374
this.endScreenMode = false;
if(this.navigator != null) this.navigator.visible = false;
this.endScreen.visible = false;
if(this.googleAdvertising != null) this.googleAdvertising.visible = true;
this.bottomPanel.visible = true;
if(this.navigator != null){
this.navigator.parent.removeChild(this.navigator);
this.bottomPanel.addChildAt(this.navigator, this.bottomPanel.getChildIndex(this.control));
}
if(this.contextAdvertising != null){
if(this.contextAdvertising.parent != null){
this.contextAdvertising.parent.removeChild(this.contextAdvertising);
this.bottomPanel.addChildAt(this.contextAdvertising, this.bottomPanel.getChildIndex(this.control));
this.contextAdvertising.params({w:this.bottomPanel._width, y:(this.bottomPanel._height - this.contextAdvertising._height - this.control._height), wContainer:this.bottomPanel._width, hContainer:this.bottomPanel._height}, true, true, false, true);
this.contextAdvertising.onResize();
}
}
this.playlistPanel.indent(NaN, this.control._height);
this.control.visible = true;
this.logoButton.rawVisible = (this.allowableHidePanels && this.logoButton.visible && !this.adViewMode);
if(this.contextAdvertising != null) (this.contextAdvertising as ContextAdvertising).alwaysOpened = false;
this.menuPanel.visible = false;
if(!(this.endScreen.es is EmbedES)) this.menuPanel.searchMode = true;
this.onContextAdvertisingHandler();
this.updateVisibleComponents();
this.lockPanels = false;
}
public function set visibleTextAdvertising(hug1:Boolean):void
{ //MethodID:2636, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 77
this.textAdvertising.setVisibleMode(hug1);
this.updateVisibleComponents(this.textAdvertising);
this.titlePanel.params({y:(this.functional._height + (hug1 ? this.textAdvertising._height : 0) + 5)}, false, true, false, false);
this.titlePanel.onResize();
}
public function set visibleTitlePanel(hug1:Boolean):void
{ //MethodID:2637, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21
this.titlePanel.setVisibleMode(hug1);
this.updateVisibleComponents(this.titlePanel);
}
public function setAdViewMode(hug1:Boolean, hug2:Boolean=false, hug3:Boolean=false):Boolean
{ //MethodID:2638, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 164
this.useRollPlayer = hug3;
if(hug1 && !this.allowableHidePanels){
}
this.adViewMode = this.lockPanels = hug1;
this.control.timeline.lockMarkMode = hug1;
if(hug1){
if(hug2) WindowDispatcher.groupHide("dialog");
if(this.adView != null) setChildIndex(this.adView, (hug2 ? (getChildIndex(this.topPanel) + 1) : (numChildren - 1)));
}
if(!hug1){
if(hug3 && !this.isRollPlayer){
this.motionPanes(false);
}else{
this.showPanes();
}
}
this.updateVisibleComponents();
return true;
}
public function set allowNavigator(hug1:Boolean):void
{ //MethodID:2639, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 71
if(hug1 == this.$allowNavigator) return;
this.$allowNavigator = hug1;
if(!hug1){
this.navigatorTimer.reset();
if(this.navigator != null){
if(this.navigator.visible && !this.endScreenMode) this.navigator.visible = false;
}
}
}
private function onContextAdvertisingHandler(hug1:Event=null):void
{ //MethodID:2640, LocalCount= 3 , MaxScope= 1, MaxStack= 13, CodeLength= 334
if(hug1 != null){
switch(hug1.type){
case ContextAdvertising.EVENT_OPEN:
if(this.navigator != null){
if(this.navigator.visible) this.navigator.visible = false;
}
if(this.contextAdvertising != null) this.updateVisibleComponents(this.contextAdvertising);
return;
case ContextAdvertising.EVENT_CLOSE:
if(this.contextAdvertising != null) this.contextAdvertising.visible = false;
if(this.endScreenMode) this.endScreen.onPaint();
break;
default:
break;
}
}
if(this.navigator != null){
if(this.navigator.parent == this.bottomPanel){
this.navigator.params({y:((this.bottomPanel._height - this.control._height - this.navigator._height) - (((this.contextAdvertising != null) && (this.contextAdvertising.rawVisible || (this.googleAdvertising != null))) ? this.contextAdvertising._height : 0) - 10), w:this.bottomPanel._width, top:false, bottom:true, wContainer:this.bottomPanel._width, hContainer:this.bottomPanel._height});
this.navigator.onResize();
}
}
}
private function onOverlayAdvertisingHandler(hug1:Event):void
{ //MethodID:2641, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 110
if((hug1 != null) && (this.overlayAdvertising != null)){
switch(hug1.type){
case OverlayAdvertising.EVENT_OVERLAY_SHOW:
if(this.endScreenMode) this.endScreen.onPaint();
this.updateVisibleComponents(this.overlayAdvertising);
break;
default:
break;
}
}
}
public function updateVisibleComponents(... rest):void
{ //MethodID:2642, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 626
var hug2:Array = null;
var hug4:Component = null;
if((rest.length > 0) && !(rest[0] is Event)){
hug2 = [rest[0]];
}else{
hug2 = [this.textAdvertising, this.titlePanel, this.playWindowButton, this.logoButton, this.topPanel];
if(this.contextAdvertising != null) hug2.unshift(this.contextAdvertising);
}
var hug3:Boolean = (!this.playlistPanel.correctVisible && !this.adViewMode);
if((hug2[0] == this.navigator) || (hug2.length > 1)){
if(this.navigator != null){
if((this.navigator.parent == this.bottomPanel) && this.navigator.visible && !hug3) this.navigator.visible = false;
}
if(hug2.length == 1){
this.checkComponents();
return;
}
}
for each(hug4 in hug2){
if(!hug4.visible && (hug4 != this.topPanel)){
hug4.rawVisible = false;
}else{
var hug7:Component = hug4;
switch(hug7){
case this.contextAdvertising:
break;
case this.overlayAdvertising:
if(this.navigator != null) this.navigator.visible = false;
break;
case this.textAdvertising:
case this.titlePanel:
hug4.rawVisible = (hug3 && !this.endScreenMode && !this.menuPanel.visible);
break;
case this.logoButton:
this.logoButton.rawVisible = (this.allowableHidePanels && !this.adViewMode && !this.endScreenMode);
break;
case this.playWindowButton:
this.playWindowButton.rawVisible = (this.allowableHidePanels && !this.endScreenMode && !this.adViewMode);
break;
case this.topPanel:
this.topPanel.visible = (this.allowableHidePanels && !this.adViewMode);
break;
default:
break;
}
}
}
this.checkComponents();
}
override protected function onUpdate(hug1:Number, hug2:Number):void
{ //MethodID:2643, LocalCount= 3 , MaxScope= 1, MaxStack= 13, CodeLength= 767
if((hug2 < 160) && WindowDispatcher.groupVisible("dialog")) WindowDispatcher.groupHide("dialog");
graphics.clear();
graphics.beginFill(0);
graphics.drawRect(0, 0, hug1, hug2);
graphics.endFill();
this.showPanes();
this.allowableHidePanels = (hug2 >= 120);
this.topPanel.visible = (this.allowableHidePanels && !this.adViewMode);
this.blurPanel.graphics.clear();
this.blurPanel.graphics.beginFill(0, 0.6);
this.blurPanel.graphics.drawRect(0, 0, hug1, hug2);
if(this.previewWindow.parent != null) this.previewWindow.onResize(null, hug1, hug2);
this.videoContainer.width = hug1;
this.videoContainer.height = hug2;
if(this.actioLayer != null) this.actioLayer.rect = new Rectangle(0, 0, hug1, hug2);
this.endScreen.onResize();
this.endScreen.rawVisible = (this.allowableHidePanels && this.endScreenMode);
this.playlistPanel.onResize(null, hug1, hug2);
this.topPanel.onResize();
this.titlePanel.onResize();
this.functional.onResize();
this.textAdvertising.onResize();
this.bottomPanel.onResize(hug1, hug2);
this.control.onResize();
this.control.horizontalVolumeMode = !this.allowableHidePanels;
this.control.rawVisible = (!this.allowableHidePanels || this.control.visible);
this.logoButton.onResize();
if(this.contextAdvertising != null){
if(this.contextAdvertising.parent == this.bottomPanel) this.contextAdvertising.onResize();
}
if(this.overlayAdvertising != null){
if(this.overlayAdvertising.parent == this.bottomPanel) this.overlayAdvertising.onResize();
}
if(this.navigator != null){
if(this.navigator.parent == this.bottomPanel) this.navigator.onResize();
}
this.infoPanel.rawVisible = (this.infoPanel.visible && (hug2 > 240));
this.infoPanel.onResize();
this.playWindowButton.onResize(null, hug1, hug2);
if(this.adView != null) this.adView.onResize(null, hug1, hug2);
this.complainWindow.onResize(null, hug1, hug2);
this.playlistWindow.onResize(null, hug1, hug2);
this.snapshotWindow.onResize(null, hug1, hug2);
this.aboutWindow.onResize(null, hug1, hug2);
if(alertWindow.visible) alertWindow.visible = false;
this.maskPanel.graphics.clear();
this.maskPanel.graphics.beginFill(0);
this.maskPanel.graphics.drawRect(0, 0, hug1, hug2);
this.updateVisibleComponents();
if(this.contextAdvertising != null){
if(this.contextAdvertising.parent == this.bottomPanel) this.onContextAdvertisingHandler();
}
this.menuPanel.onResize();
if(this.googleAdvertising != null){
trace(" bottomPanel._width : " + this.bottomPanel._width);
trace(" bottomPanel.width : " + this.bottomPanel.width);
this.googleAdvertising.params({w:this.bottomPanel._width, h:60, y:(this.bottomPanel._height - this.googleAdvertising._height - this.control._height), right:true, top:false, bottom:true});
}
}
private function checkComponents():void
{ //MethodID:2644, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 101
internal var obj:DisplayObject; //slotID:1
obj = null;
try{
if(this.invisibleCompsArray.length){
for each(obj in this.invisibleCompsArray){
obj.visible = false;
}
}
}
catch(error:Error){
trace(error.message);
}
}
public function invisibleComponents(hug1:DisplayObject):void
{ //MethodID:2645, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
this.invisibleCompsArray.push(hug1);
}
private function listenerTitlePanelClicked(hug1:MouseEvent):void
{ //MethodID:2646, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 22
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_VIDEO_TITLE_CLICKED));
}
private function listenerMainButtonClick(hug1:MouseEvent):void
{ //MethodID:2647, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 27
this.lockPanels = false;
EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PLAY));
}
private function listenerLogoClick(hug1:MouseEvent):void
{ //MethodID:2648, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 23
EventManager.instance.dispatchEvent(new Event(FunctionalPanelEvent.EVENT_LOGO));
}
}
}
//¡script233¡
package ru.rutube.managers.configuration{
import Components.SkinManager
import flash.display.Loader
import flash.display.LoaderInfo
import flash.events.Event
import flash.events.IOErrorEvent
import flash.events.TimerEvent
import flash.net.URLRequest
import flash.system.LoaderContext
import flash.utils.Timer
import ru.rutube.event.EventManager
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
//¡class(instance)_index:232
public class SkinLoaderManager extends Object
{
//static constructor
public static function SkinLoaderManager$cinit()
{ //MethodID:2650, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19
TIMEOUT_INTERVAL = 15000;
_instance = null;
}
//static variables/etc.
public static var TIMEOUT_INTERVAL:Number = 15000.0; //slotID:1
private static var _instance:SkinLoaderManager = null; //slotID:2
public static function get instance():SkinLoaderManager
{ //dispID:3, MethodID:2651, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new SkinLoaderManager();
return _instance;
}
//constructor
public function SkinLoaderManager()
{ //MethodID:2652, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 55
super();
if(_instance) throw new Error("Use 'instance' method");
this.timer = new Timer(TIMEOUT_INTERVAL);
this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimeOut);
}
//variables/etc.
private var timer:Timer = null; //slotID:0
public function loadSkin(hug1:String):Boolean
{ //MethodID:2653, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 177
internal var path:String; //slotID:1
internal var themeLoader:Loader; //slotID:2
path = hug1;
if(this.timer.running || (path == null)) return false;
themeLoader = new Loader();
themeLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onIOErrorHandler);
themeLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onCompleteThemeHandler);
try{
themeLoader.load(new URLRequest(encodeURI(path)), new LoaderContext(true));
}
catch(error:SecurityError){
trace("themeLoader.load:", error);
return false;
}
this.timer.reset();
this.timer.start();
return true;
}
private function listenerTimeOut(hug1:TimerEvent):void
{ //MethodID:2654, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function onIOErrorHandler(hug1:IOErrorEvent):void
{ //MethodID:2655, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 86
this.timer.stop();
var hug2:LoaderInfo = (hug1.target as LoaderInfo);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOErrorHandler);
hug2.removeEventListener(Event.COMPLETE, this.onCompleteThemeHandler);
var hug3:InternalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_SKIN, null, hug1.toString());
EventManager.instance.dispatchEvent(hug3);
}
private function onCompleteThemeHandler(hug1:Event):void
{ //MethodID:2656, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 236
internal var event:Event; //slotID:1
internal var loaderInfo:LoaderInfo; //slotID:2
internal var internalEvent:InternalEvent; //slotID:3
loaderInfo = null;
event = hug1;
this.timer.stop();
loaderInfo = (event.target as LoaderInfo);
loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOErrorHandler);
loaderInfo.removeEventListener(Event.COMPLETE, this.onCompleteThemeHandler);
try{
if(loaderInfo.content.hasOwnProperty("getName") && loaderInfo.content.hasOwnProperty("getSkin") && loaderInfo.content.hasOwnProperty("getStyle")) SkinManager.theme = loaderInfo.content;
}
catch(error:SecurityError){
trace("Flvplayer3.onCompleteThemeHandler:", error);
loaderInfo.loader.unload();
}
internalEvent = new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_SKIN, null, null);
EventManager.instance.dispatchEvent(internalEvent);
}
}
}
//¡script234¡
package ru.rutube.managers.reporter{
import flash.net.URLRequest
import flash.net.URLVariables
import flash.net.sendToURL
//¡class(instance)_index:233
public class Reporter extends Object
{
//static constructor
public static function Reporter$cinit()
{ //MethodID:2658, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 58
REPORT_FAIL_VIDEO_UNAVALIBLE = 1;
REPORT_FAIL_VIDEO_HIDED = 2;
REPORT_FAIL_VIDEO_COUNTRY_RESTRICTED = 3;
REPORT_FAIL_VIDEO_DOMAIN_RESTRICTED = 4;
REPORT_FAIL_VIDEO_DELETED = 5;
REPORT_FAIL_VIDEO_DEFAULT = 6;
_instance = null;
}
//static variables/etc.
public static const REPORT_FAIL_VIDEO_UNAVALIBLE:int = 1; //slotID:1
public static const REPORT_FAIL_VIDEO_HIDED:int = 2; //slotID:2
public static const REPORT_FAIL_VIDEO_COUNTRY_RESTRICTED:int = 3;//slotID:3
public static const REPORT_FAIL_VIDEO_DOMAIN_RESTRICTED:int = 4;//slotID:4
public static const REPORT_FAIL_VIDEO_DELETED:int = 5; //slotID:5
public static const REPORT_FAIL_VIDEO_DEFAULT:int = 6; //slotID:6
private static var _instance:Reporter = null; //slotID:7
public static function get instance():Reporter
{ //dispID:3, MethodID:2659, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new Reporter();
return _instance;
}
//constructor
public function Reporter()
{ //MethodID:2660, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 31
super();
if(_instance) throw new Error("Need use static method 'instance' !");
_instance = this;
}
//variables/etc.
private var BASE_URL:String = "http://rutube.ru/img/playerstats.gif";//slotID:0
public var userId:String = 0; //slotID:0
private var debug:Boolean = false; //slotID:0
public var tn:String = ""; //slotID:0
public function set debugMode(hug1:Boolean):void
{ //MethodID:2661, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this.debug = hug1;
}
public function get debugMode():Boolean
{ //MethodID:2662, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.debug;
}
public function send(hug1:String):void
{ //MethodID:2663, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 187
internal var params:String; //slotID:1
internal var urlRequest:URLRequest; //slotID:2
internal var urlVariables:URLVariables; //slotID:3
params = hug1;
if((params == null) || (params.length == 0)) return;
if(this.debugMode) return;
urlRequest = new URLRequest();
urlVariables = new URLVariables();
try{
urlVariables.decode(params);
}
catch(err:Error){
}
urlRequest.url = this.BASE_URL;
urlRequest.data = urlVariables;
urlVariables["uid"] = this.userId;
urlVariables["tn"] = this.tn;
urlVariables["lh"] = new Date().getHours();
sendToURL(urlRequest);
}
public function sendURL(hug1:String):void
{ //MethodID:2664, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 33
if(this.debugMode) return;
var hug2:URLRequest = new URLRequest();
hug2.url = hug1;
sendToURL(hug2);
}
public function failReport(hug1:String, hug2:String, hug3:int):void
{ //MethodID:2665, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 139
var hug4:Date = new Date();
var hug5:String = (((((hug4.getUTCDate() + "-") + (hug4.getUTCMonth() + 1) + "-") + hug4.getUTCFullYear() + "/") + hug4.getUTCHours() + ":") + hug4.getUTCMinutes());
var hug6:URLRequest = new URLRequest();
hug6.url = this.BASE_URL;
var hug7:URLVariables = new URLVariables();
hug7.hash = hug1;
hug7.ts = hug5;
hug7.url = hug2;
hug7.failure = hug3;
hug6.data = hug7;
sendToURL(hug6);
}
}
}
//¡script235¡
package ru.rutube.ui.managers{
import Components.SkinManager
import fl.motion.easing.Bounce
import fl.transitions.Tween
import fl.transitions.TweenEvent
import flash.display.DisplayObject
import flash.events.Event
import flash.events.TimerEvent
import flash.geom.Rectangle
import flash.utils.Timer
import ru.rutube.event.EventManager
import ru.rutube.event.InternalEvent
import ru.rutube.managers.playback.stream.LiveEvent
//¡class(instance)_index:234
public class LiveStateManager extends Object
{
//static constructor
public static function LiveStateManager$cinit()
{ //MethodID:2667, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
_instance = null;
showDelay = 30;
hideDelay = 3;
}
//static variables/etc.
private static var _instance:LiveStateManager = null; //slotID:1
private static var _viewinstance:DisplayObject; //slotID:2
private static var _nextviewinstance:DisplayObject; //slotID:3
private static var showDelay:Number = 30.0; //slotID:4
private static var hideDelay:Number = 3.0; //slotID:5
public static function get instance():LiveStateManager
{ //dispID:3, MethodID:2668, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29
if(!_instance){
_instance = new LiveStateManager();
_instance.init();
}
return _instance;
}
//constructor
public function LiveStateManager()
{ //MethodID:2669, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 46
this.autohideTimer = new Timer(1000);
super();
if(_instance != null) throw new Error("use static getter method \"instance\" for receive typed object");
_instance = this;
}
//variables/etc.
private var _tweenInstance:Tween; //slotID:0
private var state:String; //slotID:0
private var autohideTimer:Timer; //slotID:0
private var transitionState:String; //slotID:0
public function setState(hug1:String):void
{ //MethodID:2670, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 163
if(this.state == hug1) return;
this.state = hug1;
var hug2:String = "livePlayStatus";
var hug4:String = hug1;
switch(hug4){
case "Translation.NotFound":
hug2 = "liveNotFoundStatus";
break;
case "Translation.Pause":
hug2 = "livePauseStatus";
break;
case "Translation.Stop":
hug2 = "liveStopStatus";
break;
default:
break;
}
var hug3:DisplayObject = SkinManager.getSkin(hug2);
if(hug3) this.showStart(hug3);
}
private function showStart(hug1:DisplayObject):void
{ //MethodID:2671, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 130
if(_viewinstance){
_nextviewinstance = hug1;
this.hideStart();
return;
}
_viewinstance = hug1;
this.clearTween();
this._tweenInstance = new Tween(_viewinstance, "alpha", Bounce.easeOut, 0, 1, showDelay);
this._tweenInstance.addEventListener(TweenEvent.MOTION_FINISH, this.onStart, false, 0, true);
this._tweenInstance.addEventListener(TweenEvent.MOTION_CHANGE, this.onTweenChange, false, 0, true);
RutubePlayer.instance.getContainer().addChild(_viewinstance);
this.onResize();
}
private function onStart(hug1:TweenEvent=null):void
{ //MethodID:2672, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27
this.clearTween();
if(this.state == "Translation.Start") this.autohideTimer.start();
}
private function hideStart(hug1:Event=null):void
{ //MethodID:2673, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 114
if(this.autohideTimer.running) this.autohideTimer.stop();
if(!_viewinstance){
this.onHide(null);
return;
}
this.clearTween();
this._tweenInstance = new Tween(_viewinstance, "alpha", null, _viewinstance.alpha, 0, hideDelay);
this._tweenInstance.addEventListener(TweenEvent.MOTION_FINISH, this.onHide, false, 0, true);
this._tweenInstance.addEventListener(TweenEvent.MOTION_CHANGE, this.onTweenChange, false, 0, true);
}
private function onTweenChange(hug1:TweenEvent=null):void
{ //MethodID:2674, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 34
var hug2:Number = (_viewinstance.alpha * 1.5);
_viewinstance.scaleY = hug2;
_viewinstance.scaleX = hug2;
this.onResize();
}
private function onHide(hug1:TweenEvent=null):void
{ //MethodID:2675, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 30
this.release();
if(_nextviewinstance){
this.showStart(_nextviewinstance);
_nextviewinstance = null;
}
}
public function hide():void
{ //MethodID:2676, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
this.release();
}
private function clearTween():void
{ //MethodID:2677, LocalCount= 3 , MaxScope= 5, MaxStack= 3, CodeLength= 94
if(this._tweenInstance){
try{
this._tweenInstance.removeEventListener(TweenEvent.MOTION_FINISH, this.onStart);
this._tweenInstance.removeEventListener(TweenEvent.MOTION_FINISH, this.onHide);
this._tweenInstance.removeEventListener(TweenEvent.MOTION_FINISH, this.onTweenChange);
}
catch(error:Error){
}
this._tweenInstance = null;
}
}
private function init():void
{ //MethodID:2678, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 57
EventManager.instance.addEventListener(InternalEvent.STAGE, this.listenerStageResize);
EventManager.instance.addEventListener(LiveEvent.EVENT_CHANGE_STATE, this.onLiveChangeState);
this.autohideTimer.addEventListener(TimerEvent.TIMER, this.hideStart);
}
private function release():void
{ //MethodID:2679, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 62
if(_viewinstance == null) return;
_viewinstance.visible = false;
if(RutubePlayer.instance.getContainer().contains(_viewinstance)) RutubePlayer.instance.getContainer().removeChild(_viewinstance);
_viewinstance = null;
}
private function listenerStageResize(hug1:InternalEvent):void
{ //MethodID:2680, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(hug1.eventType != Event.RESIZE) return;
this.onResize();
}
private function onResize():void
{ //MethodID:2681, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 67
var hug1:Rectangle = null;
if(_viewinstance != null){
hug1 = RutubePlayer.instance.getStageBounds();
_viewinstance.x = ((hug1.width - _viewinstance.width) / 2);
_viewinstance.y = ((hug1.height - _viewinstance.height) / 2);
}
}
private function onLiveChangeState(hug1:LiveEvent):void
{ //MethodID:2682, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12
this.setState(hug1.state);
}
}
}
//¡script236¡
package ru.rutube.manager.extern{
import flash.events.Event
import flash.events.IEventDispatcher
import flash.geom.Rectangle
//¡class(instance)_index:235
public class ExternalNotifier extends Object
{
//static constructor
public static function ExternalNotifier$cinit()
{ //MethodID:2684, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
_instance = null;
}
//static variables/etc.
private static var _instance:ExternalNotifier = null; //slotID:1
public static function get instance():ExternalNotifier
{ //dispID:3, MethodID:2685, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23
if(_instance == null) _instance = new ExternalNotifier();
return _instance;
}
//constructor
public function ExternalNotifier()
{ //MethodID:2686, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32
super();
if(_instance != null) throw new Error("Must use ExternalNotifier.instance method for get object");
_instance = this;
}
//variables/etc.
private var useDispatcher:IEventDispatcher = null; //slotID:0
private var lastFiveSecondNotified:Boolean = false; //slotID:0
private var firstSecondNotified:Boolean = false; //slotID:0
public function clear():void
{ //MethodID:2687, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
this.firstSecondNotified = false;
this.lastFiveSecondNotified = false;
}
public function allowContent(hug1:Array=null, hug2:Boolean=false):void
{ //MethodID:2688, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function set dispatcher(hug1:IEventDispatcher):void
{ //MethodID:2689, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this.useDispatcher = hug1;
}
public function get dispatcher():IEventDispatcher
{ //MethodID:2690, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.useDispatcher;
}
public function notifyVideoEnd():void
{ //MethodID:2691, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21
this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_END));
}
public function notifyVideoStart():void
{ //MethodID:2692, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 26
this.clear();
this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_START));
}
public function notifyVideoPause():void
{ //MethodID:2693, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21
this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_PAUSE));
}
public function notifyVideoPlay():void
{ //MethodID:2694, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21
this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_PLAY));
}
public function notifyVideoSeek(hug1:Number=0.0, hug2:Number=0.0):void
{ //MethodID:2695, LocalCount= 3 , MaxScope= 1, MaxStack= 9, CodeLength= 33
this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_SEEK, false, false, {seconds:hug1, duration:hug2}));
}
public function notifyCreated():void
{ //MethodID:2696, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21
this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_CREATED));
}
public function notifyResize():void
{ //MethodID:2697, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function notifyCurrentTimeChange(hug1:Number, hug2:Number):void
{ //MethodID:2698, LocalCount= 3 , MaxScope= 1, MaxStack= 9, CodeLength= 69
if(isNaN(hug1) || isNaN(hug2) || (hug2 < 1)) return;
this.dispatchEvent(new ExternalNotifyEvent("notifyVideoCurrentTimeChange", false, false, {time:hug1, total:hug2}));
}
public function notifyVideoRectangleChange(hug1:Rectangle):void
{ //MethodID:2699, LocalCount= 2 , MaxScope= 1, MaxStack= 7, CodeLength= 26
this.dispatchEvent(new ExternalNotifyEvent("notifyVideoRectangleChange", false, false, {rect:hug1}));
}
public function notifyAdvertisementStart():void
{ //MethodID:2700, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21
this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_ADVERTISEMENT_START));
}
public function notifyAdvertisementFinish():void
{ //MethodID:2701, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21
this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_ADVERTISEMENT_FINISH));
}
public function notifyVideoStop():void
{ //MethodID:2702, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21
this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_BUTTON_STOP));
}
public function notifyOpenContent():void
{ //MethodID:2703, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 18
this.dispatchEvent(new ExternalNotifyEvent("OPEN_CONTENT"));
}
public function notifyVideoPlayFirstSecond():void
{ //MethodID:2704, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 34
if(!this.firstSecondNotified) this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_PLAY_FIRST_SECOND));
this.firstSecondNotified = true;
}
public function get isFirstSecondNotified():Boolean
{ //MethodID:2705, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.firstSecondNotified;
}
public function notifyVideoPlayLastFiveseconds():void
{ //MethodID:2706, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 34
if(!this.lastFiveSecondNotified) this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_PLAY_LAST_FIVE_SECOND));
this.lastFiveSecondNotified = true;
}
public function get isLastFiveSecondNotified():Boolean
{ //MethodID:2707, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.lastFiveSecondNotified;
}
public function dispatchEvent(hug1:Event):Boolean
{ //MethodID:2708, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 28
if(this.useDispatcher != null) return this.useDispatcher.dispatchEvent(hug1);
return super.dispatchEvent(hug1);
}
}
}
//¡script237¡
package ru.rutube.managers.statistic.google{
//¡class(instance)_index:236
public class GoogleAnalyticsConstants extends Object
{
//static constructor
public static function GoogleAnalyticsConstants$cinit()
{ //MethodID:2710, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 165
CATEGORY_ADVERTISEMENT = "ADVERTISEMENT";
CATEGORY_VIDEO = "VIDEO";
CATEGORY_PLAYER = "PLAYER";
ACTION_SHOW_START = "SHOW_START";
ACTION_SHOW_FINISH = "SHOW_FINISH";
ACTION_SHOW_DURATION = "SHOW_DURATION";
ACTION_SHOW_BREAK = "SHOW_BREAK";
ACTION_SHOW_REPEAT = "SHOW_REPEAT";
ACTION_CLOSE = "CLOSE";
ACTION_SOUND = "SOUND";
ACTION_CLICK = "CLICK";
ACTION_NAVIGATE_ONTIME = "NAVIGATE_ONTIME";
ACTION_NAVIGATE_AFTER = "NAVIGATE_AFTER";
ACTION_LOAD = "LOAD";
ACTION_LOADING_TIME = "LOADING_TIME";
ACTION_PAUSE_USER = "PAUSE_USER";
ACTION_PAUSE_BUFFERING = "PAUSE_BUFFERING";
ACTION_SIMILAR = "SIMILAR";
}
//static variables/etc.
public static const CATEGORY_ADVERTISEMENT:String = "ADVERTISEMENT";//slotID:1
public static const CATEGORY_VIDEO:String = "VIDEO"; //slotID:2
public static const CATEGORY_PLAYER:String = "PLAYER"; //slotID:3
public static const ACTION_SHOW_START:String = "SHOW_START"; //slotID:4
public static const ACTION_SHOW_FINISH:String = "SHOW_FINISH"; //slotID:5
public static const ACTION_SHOW_DURATION:String = "SHOW_DURATION";//slotID:6
public static const ACTION_SHOW_BREAK:String = "SHOW_BREAK"; //slotID:7
public static const ACTION_SHOW_REPEAT:String = "SHOW_REPEAT"; //slotID:8
public static const ACTION_CLOSE:String = "CLOSE"; //slotID:9
public static const ACTION_SOUND:String = "SOUND"; //slotID:10
public static const ACTION_CLICK:String = "CLICK"; //slotID:11
public static const ACTION_NAVIGATE_ONTIME:String = "NAVIGATE_ONTIME";//slotID:12
public static const ACTION_NAVIGATE_AFTER:String = "NAVIGATE_AFTER";//slotID:13
public static const ACTION_LOAD:String = "LOAD"; //slotID:14
public static const ACTION_LOADING_TIME:String = "LOADING_TIME";//slotID:15
public static const ACTION_PAUSE_USER:String = "PAUSE_USER"; //slotID:16
public static const ACTION_PAUSE_BUFFERING:String = "PAUSE_BUFFERING";//slotID:17
public static const ACTION_SIMILAR:String = "SIMILAR"; //slotID:18
//constructor
public function GoogleAnalyticsConstants()
{ //MethodID:2711, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script238¡
package Components{
import flash.text.TextField
import flash.text.TextFormat
import flash.text.TextFormatAlign
//¡class(instance)_index:237
public class LockPanel extends Component
{
//static constructor
public static function LockPanel$cinit()
{ //MethodID:2713, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function LockPanel(hug1:String, hug2:Boolean=false):void
{ //MethodID:2714, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 112
this.tf = new TextField();
super();
var hug3:TextFormat = new TextFormat("_sans", 14, 0xFFFFFF);
hug3.align = TextFormatAlign.CENTER;
this.tf.defaultTextFormat = hug3;
this.tf.wordWrap = true;
this.tf.selectable = false;
addChild(this.tf);
if(hug2){
this.tf.htmlText = hug1;
}else{
this.tf.text = hug1;
}
this.tf.x = 10;
}
//variables/etc.
private var tf:TextField; //slotID:0
public function set text(hug1:String):void
{ //MethodID:2715, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 18
this.tf.text = hug1;
onPaint();
}
override protected function onUpdate(hug1:Number, hug2:Number):void
{ //MethodID:2716, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 85
graphics.clear();
graphics.beginFill(0);
graphics.drawRect(0, 0, hug1, hug2);
this.tf.width = (hug1 - 20);
this.tf.height = (this.tf.textHeight + 5);
this.tf.y = Math.round((hug2 - this.tf.height) / 2);
}
}
}
//¡script239¡
package ru.rutube.ui.components.preloader{
import flash.display.MovieClip
import flash.display.Shape
import flash.events.Event
import flash.events.TimerEvent
import flash.utils.Timer
//¡class(instance)_index:238
public class MacCirclePreloader extends MovieClip
{
//static constructor
public static function MacCirclePreloader$cinit()
{ //MethodID:2718, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function MacCirclePreloader(hug1:int=12, hug2:int=6)
{ //MethodID:2719, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 37
super();
this.slices = hug1;
this.radius = hug2;
this.draw();
addEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage);
}
//variables/etc.
private var slices:int = 12; //slotID:0
private var timer:Timer = null; //slotID:0
private var radius:int = 6; //slotID:0
public function show():void
{ //MethodID:2720, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
visible = true;
}
public function hide():void
{ //MethodID:2721, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
visible = false;
}
private function onAddedToStage(hug1:Event):void
{ //MethodID:2722, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 77
removeEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage);
addEventListener(Event.REMOVED_FROM_STAGE, this.onRemovedFromStage);
this.timer = new Timer(65);
this.timer.addEventListener(TimerEvent.TIMER, this.onTimer, false, 0, true);
this.timer.start();
}
private function onRemovedFromStage(hug1:Event):void
{ //MethodID:2723, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 65
removeEventListener(Event.REMOVED_FROM_STAGE, this.onRemovedFromStage);
addEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage);
this.timer.reset();
this.timer.removeEventListener(TimerEvent.TIMER, this.onTimer);
this.timer = null;
}
private function onTimer(hug1:TimerEvent):void
{ //MethodID:2724, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 25
rotation = ((rotation + (360 / this.slices)) % 360);
}
private function draw():void
{ //MethodID:2725, LocalCount= 5 , MaxScope= 1, MaxStack= 6, CodeLength= 138
var hug3:Shape = null;
var hug4:Number = NaN;
var hug1:int = this.slices;
var hug2:int = (360 / this.slices);
while(hug1--){
hug3 = this.getSlice();
hug3.alpha = Math.max(0.2, (1 - (0.1 * hug1)));
hug4 = ((hug2 * hug1 * Math.PI) / 180);
hug3.rotation = (-hug2 * hug1);
hug3.x = (Math.sin(hug4) * this.radius);
hug3.y = (Math.cos(hug4) * this.radius);
addChild(hug3);
}
}
private function getSlice():Shape
{ //MethodID:2726, LocalCount= 2 , MaxScope= 1, MaxStack= 7, CodeLength= 81
var hug1:Shape = new Shape();
hug1.graphics.beginFill(0x666666);
hug1.graphics.drawRoundRect((-int(this.radius / 2) + 1), 0, int(this.radius / 2), (this.radius * 1.5), 5, 5);
hug1.graphics.endFill();
return hug1;
}
}
}
//¡script240¡
package ru.rutube.managers.geo{
import flash.events.Event
import flash.events.IOErrorEvent
import flash.events.SecurityErrorEvent
import flash.net.URLLoader
import flash.net.URLRequest
import ru.rutube.event.EventManager
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
//¡class(instance)_index:239
public class GeoTargetManager extends Object
{
//static constructor
public static function GeoTargetManager$cinit()
{ //MethodID:2728, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19
GEO_TARGETTING_URL = "http://rutube.ru/api/geoip/country/";
_instance = null;
}
//static variables/etc.
private static const GEO_TARGETTING_URL:String = "http://rutube.ru/api/geoip/country/";//slotID:1
private static var _instance:GeoTargetManager = null; //slotID:2
public static function get instance():GeoTargetManager
{ //dispID:3, MethodID:2729, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new GeoTargetManager();
return _instance;
}
//constructor
public function GeoTargetManager()
{ //MethodID:2730, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32
super();
if(_instance != null) throw new Error("You must call instance for get object");
_instance = this;
}
//variables/etc.
private var geoPos:String = "RU"; //slotID:0
private var pending:Boolean = false; //slotID:0
private var alreadyReceived:Boolean = false; //slotID:0
public function get geoPosition():String
{ //MethodID:2731, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.geoPos;
}
public function isPending():Boolean
{ //MethodID:2732, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.pending;
}
public function get isReceived():Boolean
{ //MethodID:2733, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.alreadyReceived;
}
public function requestGeoPosition():void
{ //MethodID:2734, LocalCount= 3 , MaxScope= 5, MaxStack= 4, CodeLength= 159
internal var urlLoader:URLLoader; //slotID:1
if(this.pending) return;
urlLoader = new URLLoader();
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerGeoLoading);
urlLoader.addEventListener(Event.COMPLETE, this.listenerGeoLoading);
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerGeoLoading);
this.alreadyReceived = false;
this.pending = true;
try{
urlLoader.load(new URLRequest(GEO_TARGETTING_URL));
}
catch(err:Error){
pending = false;
EventManager.instance.dispatchEvent(new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_GEO));
}
}
private function listenerGeoLoading(hug1:Event):void
{ //MethodID:2735, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 156
var hug3:String = null;
this.pending = false;
var hug2:URLLoader = (hug1.target as URLLoader);
hug2.removeEventListener(Event.COMPLETE, this.listenerGeoLoading);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerGeoLoading);
hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerGeoLoading);
if(!(hug1 is IOErrorEvent) && !(hug1 is SecurityErrorEvent)){
hug3 = hug2.data;
if(hug3 != null){
hug3 = hug3.replace("\n", "");
hug3 = hug3.replace("\r", "");
this.geoPos = hug3;
this.alreadyReceived = true;
}
}
EventManager.instance.dispatchEvent(new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_GEO));
}
}
}
//¡script241¡
package com.google.ads.instream.api{
import com.google.ads.instream.wrappers.AdsLoaderWrapper
import flash.display.Loader
import flash.display.Sprite
import flash.events.ErrorEvent
import flash.events.Event
import flash.events.IEventDispatcher
import flash.events.IOErrorEvent
import flash.events.SecurityErrorEvent
import flash.net.URLRequest
import flash.system.ApplicationDomain
import flash.system.Security
import flash.utils.getQualifiedClassName
//¡class(instance)_index:240
public class BaseLoader extends Sprite
{
//static constructor
public static function BaseLoader$cinit()
{ //MethodID:2737, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 139
SDK_INTEGRATION = "deep";
SHALLOW_SDK_INTEGRATION = "shallow";
SDK_FULL_VERSION = "2.1.0";
SDK_MAJOR_VERSION = SDK_FULL_VERSION.split(".")[0];
SDK_HOST = "s0.2mdn.net";
SDK_LOCATION = ("http://" + SDK_HOST + "/instream/adsapi_");
SHALLOW_SDK_HOST = "pagead2.googlesyndication.com";
SHALLOW_SDK_LOCATION = ("http://" + SHALLOW_SDK_HOST + "/pagead/adsapi_");
DOUBLE_SANDBOXING_ENABLED = "doubleSandboxingEnabled=true";
DOUBLECLICK_MEDIA_SERVER = "m1.2mdn.net";
ADSAPI_CLASSNAME = "com.google.ads.loader.instream::VersionedSdkLoader";
UNLOAD_METHOD = "unload";
}
//static variables/etc.
private static const SDK_INTEGRATION:String = "deep"; //slotID:1
private static const SHALLOW_SDK_INTEGRATION:String = "shallow";//slotID:2
private static const SDK_FULL_VERSION:String = "2.1.0"; //slotID:3
private static const SDK_MAJOR_VERSION:String; //slotID:4
private static const SDK_HOST:String = "s0.2mdn.net"; //slotID:5
private static const SDK_LOCATION:String; //slotID:6
private static const SHALLOW_SDK_HOST:String = "pagead2.googlesyndication.com";//slotID:7
private static const SHALLOW_SDK_LOCATION:String; //slotID:8
private static const DOUBLE_SANDBOXING_ENABLED:String = "doubleSandboxingEnabled=true";//slotID:9
private static const DOUBLECLICK_MEDIA_SERVER:String = "m1.2mdn.net";//slotID:10
private static const ADSAPI_CLASSNAME:String = "com.google.ads.loader.instream::VersionedSdkLoader";//slotID:11
private static const UNLOAD_METHOD:String = "unload"; //slotID:12
//constructor
public function BaseLoader()
{ //MethodID:2738, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 38
queuedRequests = [];
queuedListeners = [];
sdkLoaderFactory = createSdkLoader;
super();
allowTrustedDomains();
}
//variables/etc.
private var queuedListeners:Array; //slotID:0
private var loader:Loader; //slotID:0
private var queuedRequests:Array; //slotID:0
private var wrapper:IEventDispatcher; //slotID:0
internal var sdkLoaderFactory:Function; //slotID:0
protected function createWrapper(hug1:Object):IEventDispatcher
{ //MethodID:2739, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
throw new Error("Method must be overridden in a subclass");
}
protected function dispatchSdkLoadError(hug1:String):void
{ //MethodID:2740, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
throw new Error("Method must be overridden in a subclass");
}
protected function isLocallyDispatchedEvent(hug1:String):Boolean
{ //MethodID:2741, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13
throw new Error("Method must be overridden in a subclass");
}
override public function addEventListener(hug1:String, hug2:Function, hug3:Boolean=false, hug4:int=0, hug5:Boolean=false):void
{ //MethodID:2742, LocalCount= 6 , MaxScope= 1, MaxStack= 11, CodeLength= 84
if(isLocallyDispatchedEvent(hug1)) super.addEventListener(hug1, hug2, hug3, hug4, hug5);
if(wrapper != null){
wrapper.addEventListener(hug1, hug2, hug3, hug4, hug5);
}else{
queuedListeners.push({type:hug1, listener:hug2, useCapture:hug3, priority:hug4, useWeakReference:hug5});
}
}
override public function removeEventListener(hug1:String, hug2:Function, hug3:Boolean=false):void
{ //MethodID:2743, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 130
var hug4:Object = null;
if(isLocallyDispatchedEvent(hug1)) super.removeEventListener(hug1, hug2);
if(wrapper != null){
wrapper.removeEventListener(hug1, hug2, hug3);
}else{
for each(hug4 in queuedListeners){
if((hug1 == hug4.type) && (hug2 == hug4.listener)){
queuedListeners.splice(queuedListeners.indexOf(hug4), 1);
break;
}
}
}
}
public function unload():void
{ //MethodID:2744, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 117
if(loader != null){
invokeRemoteMethod(UNLOAD_METHOD);
removeSdkLoadListeners();
if(loader.parent != null) loader.parent.removeChild(loader);
if(loader.hasOwnProperty("unloadAndStop")){
loader["unloadAndStop"]();
}else{
loader.unload();
}
loader = null;
queuedRequests = [];
queuedListeners = [];
}
}
protected function invokeRemoteMethod(hug1:String, ...rest):void
{ //MethodID:2745, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 48
if(wrapper != null){
invokeWrapperMethod(hug1, rest);
}else{
queuedRequests.push({method:hug1, args:rest});
load();
}
}
private function allowTrustedDomains():void
{ //MethodID:2746, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 47
if(SDK_INTEGRATION == SHALLOW_SDK_INTEGRATION){
Security.allowDomain(SHALLOW_SDK_HOST);
}else{
Security.allowDomain(SDK_HOST);
}
Security.allowDomain(DOUBLECLICK_MEDIA_SERVER);
}
private function onRemovedFromStage(hug1:Event):void
{ //MethodID:2747, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 23
super.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
unload();
}
private function load():void
{ //MethodID:2748, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 85
var hug1:URLRequest = null;
if(loader == null){
super.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
loader = sdkLoaderFactory();
addSdkLoadListeners();
if(stage != null) addChild(loader);
hug1 = new URLRequest(sdkUrl);
loader.load(hug1);
}
}
private function createSdkLoader():Loader
{ //MethodID:2749, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16
return new SdkSwfLoader(ApplicationDomain.currentDomain);
}
private function addSdkLoadListeners():void
{ //MethodID:2750, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 88
loader.addEventListener(Event.COMPLETE, onSdkLoaded);
loader.addEventListener(ErrorEvent.ERROR, onSdkLoadError);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onSdkLoaderSwfLoadComplete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onSdkLoadError);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSdkLoadError);
}
private function onSdkLoaderSwfLoadComplete(hug1:Event):void
{ //MethodID:2751, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 117
internal var event:Event; //slotID:1
internal var loadedClassName:String; //slotID:2
loadedClassName = null;
event = hug1;
try{
loadedClassName = getQualifiedClassName(loader.content);
if(loadedClassName != ADSAPI_CLASSNAME){
handleSdkLoadError("SDK could not be loaded from " + sdkUrl);
}else{
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onSdkLoaderSwfLoadComplete);
}
}
catch(error:SecurityError){
handleSdkLoadError("SDK could not be loaded from " + sdkUrl);
}
}
private function removeSdkLoadListeners():void
{ //MethodID:2752, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 88
loader.removeEventListener(Event.COMPLETE, onSdkLoaded);
loader.removeEventListener(ErrorEvent.ERROR, onSdkLoadError);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onSdkLoaderSwfLoadComplete);
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onSdkLoadError);
loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSdkLoadError);
}
private function onSdkLoaded(hug1:Event):void
{ //MethodID:2753, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 77
removeSdkLoadListeners();
var hug2:Object = hug1;
AdsLoaderWrapper.remoteApplicationDomainProxy = hug2.remoteApplicationDomainProxy;
wrapper = createWrapper(hug2.adsLoader);
if(wrapper != null){
processQueuedListeners();
processQueuedRequests();
}else{
dispatchSdkLoadError("Internal error: remote wrapper is null");
}
}
private function processQueuedRequests():void
{ //MethodID:2754, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 60
var hug1:Object = null;
for each(hug1 in queuedRequests){
invokeWrapperMethod(hug1.method, hug1.args);
}
queuedRequests = [];
}
private function invokeWrapperMethod(hug1:String, hug2:Array):void
{ //MethodID:2755, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 44
var hug3:Function = wrapper[hug1];
if(hug3 != null){
hug3.apply(wrapper, hug2);
}else{
dispatchSdkLoadError("Internal error: No such method: " + hug1);
}
}
private function processQueuedListeners():void
{ //MethodID:2756, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 72
var hug1:Object = null;
for each(hug1 in queuedListeners){
wrapper.addEventListener(hug1.type, hug1.listener, hug1.useCapture, hug1.priority, hug1.useWeakReference);
}
queuedListeners = [];
}
private function handleSdkLoadError(hug1:String):void
{ //MethodID:2757, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 18
removeSdkLoadListeners();
dispatchSdkLoadError(hug1);
}
private function get sdkUrl():String
{ //MethodID:2758, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 37
var hug1:String = (SDK_MAJOR_VERSION + ".swf?" + DOUBLE_SANDBOXING_ENABLED);
if(SDK_INTEGRATION == SHALLOW_SDK_INTEGRATION) return (SHALLOW_SDK_LOCATION + hug1);
return (SDK_LOCATION + hug1);
}
private function onSdkLoadError(hug1:ErrorEvent):void
{ //MethodID:2759, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14
handleSdkLoadError(hug1.text);
}
}
}
//¡script242¡
package com.google.ads.instream.api{
import com.google.ads.instream.wrappers.AdsLoaderWrapper
import flash.events.IEventDispatcher
//¡class(instance)_index:241
public class AdsLoader extends BaseLoader
{
//static constructor
public static function AdsLoader$cinit()
{ //MethodID:2761, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
REQUEST_ADS_METHOD = "requestAds";
}
//static variables/etc.
private static const REQUEST_ADS_METHOD:String = "requestAds"; //slotID:1
//variables/etc.
public function requestAds(hug1:AdsRequest, hug2:Object=null):void
{ //MethodID:2762, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 13
super.invokeRemoteMethod(REQUEST_ADS_METHOD, hug1, hug2);
}
override protected function createWrapper(hug1:Object):IEventDispatcher
{ //MethodID:2763, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
return new AdsLoaderWrapper(hug1);
}
override protected function dispatchSdkLoadError(hug1:String):void
{ //MethodID:2764, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 42
var hug2:AdsLoaderError = new AdsLoaderError(hug1);
hug2.errorType = AdErrorTypes.AD_LOAD_ERROR;
var hug3:AdErrorEvent = new AdErrorEvent(hug2);
dispatchEvent(hug3);
}
override protected function isLocallyDispatchedEvent(hug1:String):Boolean
{ //MethodID:2765, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 10
return (hug1 == AdErrorEvent.AD_ERROR);
}
//constructor
public function AdsLoader()
{ //MethodID:2766, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script243¡
package com.google.ads.instream.api{
import flash.events.ErrorEvent
import flash.events.Event
import flash.system.Capabilities
//¡class(instance)_index:242
public class AdErrorEvent extends ErrorEvent
{
//static constructor
public static function AdErrorEvent$cinit()
{ //MethodID:2768, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
AD_ERROR = "adError";
DEBUG_PLAYER_RECOMMENDED = "Use Flash debug player to see stack trace for the error.";
}
//static variables/etc.
public static const AD_ERROR:String = "adError"; //slotID:1
private static const DEBUG_PLAYER_RECOMMENDED:String = "Use Flash debug player to see stack trace for the error.";//slotID:2
//constructor
public function AdErrorEvent(hug1:AdError, hug2:Object=null)
{ //MethodID:2769, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 103
super(AD_ERROR);
this.adError = hug1;
if(hug1){
this.text = hug1.errorMessage;
if(hug1.innerError){
if(hug1.innerError.getStackTrace()){
this.text += ("\n" + hug1.innerError.getStackTrace());
}else if(!Capabilities.isDebugger){
this.text += ("\n" + DEBUG_PLAYER_RECOMMENDED);
}
}
}
this.userRequestContextObject = hug2;
}
//variables/etc.
private var adError:AdError; //slotID:0
private var userRequestContextObject:Object = null; //slotID:0
public function get error():AdError
{ //MethodID:2770, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
return adError;
}
public function get userRequestContext():Object
{ //MethodID:2771, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
return userRequestContextObject;
}
override public function clone():Event
{ //MethodID:2772, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 14
return new AdErrorEvent(adError, userRequestContextObject);
}
}
}
//¡script244¡
package com.google.ads.instream.api{
import flash.events.Event
//¡class(instance)_index:243
public class AdsLoadedEvent extends Event
{
//static constructor
public static function AdsLoadedEvent$cinit()
{ //MethodID:2774, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
ADS_LOADED = "adsLoaded";
}
//static variables/etc.
public static const ADS_LOADED:String = "adsLoaded"; //slotID:1
//constructor
public function AdsLoadedEvent(hug1:AdsManager, hug2:Object)
{ //MethodID:2775, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 19
super(ADS_LOADED);
this.adsListManager = hug1;
this.userRequestContextObject = hug2;
}
//variables/etc.
private var userRequestContextObject:Object = null; //slotID:0
private var adsListManager:AdsManager = null; //slotID:0
public function get adsManager():AdsManager
{ //MethodID:2776, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
return adsListManager;
}
public function get userRequestContext():Object
{ //MethodID:2777, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
return userRequestContextObject;
}
override public function clone():Event
{ //MethodID:2778, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 14
return new AdsLoadedEvent(adsListManager, userRequestContext);
}
}
}
//¡script245¡
package com.google.ads.instream.api{
//¡class(instance)_index:244
public class AdsManagerTypes extends Object
{
//static constructor
public static function AdsManagerTypes$cinit()
{ //MethodID:2780, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
FLASH = "flash";
VIDEO = "video";
CUSTOM_CONTENT = "customContent";
}
//static variables/etc.
public static const FLASH:String = "flash"; //slotID:1
public static const VIDEO:String = "video"; //slotID:2
public static const CUSTOM_CONTENT:String = "customContent"; //slotID:3
//constructor
public function AdsManagerTypes()
{ //MethodID:2781, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script246¡
package com.google.ads.instream.api{
//¡class(instance)_index:245
public interface AdsManager implements IEventDispatcher
{
//static constructor
public static function AdsManager$cinit()
{ //MethodID:2783, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
}
//variables/etc.
function get type():String; //MethodID:2784, dispID:0
function load(hug1:Object=null):void; //MethodID:2785, dispID:0
function unload():void; //MethodID:2786, dispID:0
function play(hug1:Object=null):void; //MethodID:2787, dispID:0
function get ads():Array; //MethodID:2788, dispID:0
function get adSlotWidth():Number; //MethodID:2789, dispID:0
function get adSlotHeight():Number; //MethodID:2790, dispID:0
function set adSlotWidth(hug1:Number):void; //MethodID:2791, dispID:0
function set adSlotHeight(hug1:Number):void; //MethodID:2792, dispID:0
//constructor
public function AdsManager(); //MethodID:2793, dispID:0
}
}
//¡script247¡
package com.google.ads.instream.api{
import flash.display.InteractiveObject
//¡class(instance)_index:246
public interface VideoAdsManager implements AdsManager
{
//static constructor
public static function VideoAdsManager$cinit()
{ //MethodID:2795, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
}
//variables/etc.
function get mediaSelectionSettings():MediaSelectionSettings; //MethodID:2796, dispID:0
function set mediaSelectionSettings(hug1:MediaSelectionSettings):void; //MethodID:2797, dispID:0
function get clickTrackingElement():InteractiveObject; //MethodID:2798, dispID:0
function set clickTrackingElement(hug1:InteractiveObject):void; //MethodID:2799, dispID:0
//constructor
public function VideoAdsManager(); //MethodID:2800, dispID:0
}
}
//¡script248¡
package com.google.ads.instream.api{
//¡class(instance)_index:247
public interface FlashAdsManager implements AdsManager
{
//static constructor
public static function FlashAdsManager$cinit()
{ //MethodID:2802, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
}
//variables/etc.
function set x(hug1:Number):void; //MethodID:2803, dispID:0
function get x():Number; //MethodID:2804, dispID:0
function set y(hug1:Number):void; //MethodID:2805, dispID:0
function get y():Number; //MethodID:2806, dispID:0
function set volumeAd(hug1:Number):void; //MethodID:2807, dispID:0
function get volumeAd():Number; //MethodID:2808, dispID:0
function set decoratedAd(hug1:Boolean):void; //MethodID:2809, dispID:0
//constructor
public function FlashAdsManager(); //MethodID:2810, dispID:0
}
}
//¡script249¡
package com.google.ads.instream.api{
//¡class(instance)_index:248
public class AdsRequest extends Object
{
//static constructor
public static function AdsRequest$cinit()
{ //MethodID:2812, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdsRequest()
{ //MethodID:2813, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27
ordinal = new Date().getTime().toString();
super();
}
//variables/etc.
public var size:String = null; //slotID:0
public var adSlotWidth:Number = 0.0; //slotID:0
public var minTotalAdDuration:int = 0; //slotID:0
public var disableCompanionAds:Boolean = false; //slotID:0
public var adServerHost:String = "ad.doubleclick.net"; //slotID:0
public var adSlotHorizontalAlignment:String = "center"; //slotID:0
public var protocol:String = "http"; //slotID:0
public var adCommand:String = "pfadx"; //slotID:0
public var adsResponse:String; //slotID:0
public var zone:String = null; //slotID:0
public var uniqueAds:Boolean = false; //slotID:0
public var numRedirects:uint = 4; //slotID:0
public var maxTotalAdDuration:int = 0x186A0; //slotID:0
public var hostChannels:Array; //slotID:0
public var publisherId:String = null; //slotID:0
public var gender:uint; //slotID:0
public var site:String = null; //slotID:0
public var adSlotHeight:Number = 0.0; //slotID:0
public var host:String; //slotID:0
public var adSlotVerticalAlignment:String = "bottom"; //slotID:0
public var descriptionUrl:String = null; //slotID:0
public var adTest:String = "off"; //slotID:0
public var channels:Array = null; //slotID:0
public var adTimePosition:int = 1; //slotID:0
public var adSafe:String = "high"; //slotID:0
public var extraTargetingKeyValues:Object = null; //slotID:0
public var hostTierId:Number; //slotID:0
public var language:String; //slotID:0
public var mediaUrl:String = null; //slotID:0
public var ordinal:String; //slotID:0
public var contentId:String = null; //slotID:0
public var adTagUrl:String = null; //slotID:0
public var adType:String = "video"; //slotID:0
public var age:uint; //slotID:0
}
}
//¡script250¡
//skip components :com.google.analytics.utils
//as filename :Timespan.as
//¡script251¡
//skip components :com.google.analytics.campaign
//as filename :CampaignKey.as
//¡script252¡
//skip components :com.google.analytics.core
//as filename :DomainNameMode.as
//¡script253¡
//skip components :com.google.analytics.core
//as filename :Domain.as
//¡script254¡
//skip components :com.google.analytics.core
//as filename :Organic.as
//¡script255¡
//skip components :com.google.analytics.debug
//as filename :VisualDebugMode.as
//¡script256¡
//skip components :com.google.analytics.data
//as filename :Cookie.as
//¡script257¡
//skip components :com.google.analytics.data
//as filename :UTMCookie.as
//¡script258¡
//skip components :com.google.analytics.data
//as filename :UTMZ.as
//¡script259¡
//skip components :com.google.analytics.data
//as filename :UTMA.as
//¡script260¡
//skip components :com.google.analytics.data
//as filename :UTMV.as
//¡script261¡
//skip components :com.google.analytics.data
//as filename :UTMB.as
//¡script262¡
//skip components :com.google.analytics.data
//as filename :UTMK.as
//¡script263¡
//skip components :com.google.analytics.core
//as filename :Utils.as
//¡script264¡
//skip components :com.google.analytics.data
//as filename :UTMC.as
//¡script265¡
//skip components :com.google.analytics.utils
//as filename :Protocols.as
//¡script266¡
//skip components :com.google.analytics.utils
//as filename :Variables.as
//¡script267¡
//skip components :com.google.analytics.core
//as filename :RequestObject.as
//¡script268¡
//skip components :com.google.analytics.debug
//as filename :AlertAction.as
//¡script269¡
//skip components :com.google.analytics.debug
//as filename :UISprite.as
//¡script270¡
//skip components :com.google.analytics.debug
//as filename :Label.as
//¡script271¡
//skip components :com.google.analytics.debug
//as filename :Alert.as
//¡script272¡
//skip components :com.google.analytics.debug
//as filename :GIFRequestAlert.as
//¡script273¡
//skip components :com.google.analytics.debug
//as filename :Info.as
//¡script274¡
//skip components :com.google.analytics.debug
//as filename :SuccessAlert.as
//¡script275¡
//skip components :com.google.analytics.debug
//as filename :FailureAlert.as
//¡script276¡
//skip components :com.google.analytics.debug
//as filename :Align.as
//¡script277¡
//skip components :com.google.analytics.debug
//as filename :Panel.as
//¡script278¡
//skip components :com.google.analytics.debug
//as filename :Debug.as
//¡script279¡
//skip components :com.google.analytics.debug
//as filename :Warning.as
//¡script280¡
//skip components :com.google.analytics.utils
//as filename :UserAgent.as
//¡script281¡
//skip components :com.google.analytics.campaign
//as filename :CampaignManager.as
//¡script282¡
//skip components :com.google.analytics.campaign
//as filename :CampaignInfo.as
//¡script283¡
//skip components :com.google.analytics.core
//as filename :DocumentInfo.as
//¡script284¡
//skip components :com.google.analytics.data
//as filename :X10.as
//¡script285¡
//skip components :com.google.analytics.utils
//as filename :URL.as
//¡script286¡
//skip components :com.google.analytics.core
//as filename :EventInfo.as
//¡script287¡
//skip components :com.google.analytics.core
//as filename :BrowserInfo.as
//¡script288¡
package ru.rutube.managers.statistic.tns{
//¡class(instance)_index:287
public class TnsReportRec extends Object
{
//static constructor
public static function TnsReportRec$cinit()
{ //MethodID:3153, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//variables/etc.
public var needStartReport:Boolean = false; //slotID:0
public var finishReported:Boolean = false; //slotID:0
public var finishReportUrl:String = null; //slotID:0
public var startReported:Boolean = false; //slotID:0
public var startReportUrl:String = null; //slotID:0
public var needFinishReport:Boolean = false; //slotID:0
public function clear():void
{ //MethodID:3154, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 45
this.startReportUrl = this.finishReportUrl = null;
this.startReported = this.finishReported = false;
this.needStartReport = this.needFinishReport = false;
}
//constructor
public function TnsReportRec()
{ //MethodID:3155, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script289¡
package ru.rutube.managers.playback{
//¡class(instance)_index:288
public class StreamMetaInfo extends Object
{
//static constructor
public static function StreamMetaInfo$cinit()
{ //MethodID:3157, LocalCount= 1 , MaxScope= 1, MaxStack= 29, CodeLength= 95
variables = ["audiocodecid", "audiodelay", "audiosamplerate", "audiosamplesize", "audiosize", "duration", "filesize", "datasize", "first_ts", "framerate", "height", "length", "stereo", "canSeekToEnd", "videocodecid", "videodatarate", "videosize", "width", "lastkeyframetimestamp", "lasttimestamp", "metadatacreator", "metadatadate", "hasAudio", "hasCuePoints", "hasKeyframes", "hasMetadata", "hasVideo", "chunked"];
}
//static variables/etc.
protected static const variables:Array; //slotID:1
//constructor
public function StreamMetaInfo()
{ //MethodID:3158, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
super();
this.hasMetadata = false;
}
//variables/etc.
public var audiosamplesize:Number = 0.0; //slotID:0
public var videosize:Number = 0.0; //slotID:0
public var videodatarate:Number = 0.0; //slotID:0
private var hasVideo:Boolean = false; //slotID:0
public var lastkeyframetimestamp:Number = 0.0; //slotID:0
public var duration:Number = -1.0; //slotID:0
public var audiocodecid:Number = 0.0; //slotID:0
public var metadatacreator:String = ""; //slotID:0
public var height:Number = 0.0; //slotID:0
public var datasize:Number = 0.0; //slotID:0
public var width:Number = 0.0; //slotID:0
public var lasttimestamp:Number = 0.0; //slotID:0
private var hasKeyframes:Boolean = false; //slotID:0
public var chunked:Boolean = false; //slotID:0
public var framerate:Number = 0.0; //slotID:0
private var _keyframes:Object = null; //slotID:0
public var audiosize:Number = 0.0; //slotID:0
public var canSeekToEnd:Boolean = false; //slotID:0
public var videocodecid:Number = 0.0; //slotID:0
private var times:Array = null; //slotID:0
public var audiosamplerate:Number = 0.0; //slotID:0
private var hasAudio:Boolean = false; //slotID:0
public var metadatadate:Date = null; //slotID:0
public var length:Number = 0.0; //slotID:0
private var hasMetadata:Boolean; //slotID:0
public var allowChangeKeyframes:Boolean = true; //slotID:0
public var audiodelay:Number; //slotID:0
public var first_ts:Number = 0.0; //slotID:0
private var filepositions:Array = null; //slotID:0
private var cuePoints:Array = null; //slotID:0
public var stereo:Boolean = false; //slotID:0
private var hasCuePoints:Boolean = false; //slotID:0
public var filesize:Number = 0.0; //slotID:0
public function get keyframes():Object
{ //MethodID:3159, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._keyframes;
}
public function analise(hug1:Object=null):void
{ //MethodID:3160, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 443
var hug3:Array = null;
var hug4:int = 0;
if(hug1 == null) return;
var hug2:int = 0;
while(hug2 < variables.length){
if(hug1.hasOwnProperty(variables[hug2])){
this[variables[hug2]] = hug1[variables[hug2]];
this.hasMetadata = true;
}
hug2++;
}
if(hug1.hasOwnProperty("aObject")) this.cuePoints = (hug1["cuePoints"] as Array).concat();
this.hasKeyframes = false;
if(hug1.hasOwnProperty("keyframes") && (!this.isHasKeyframes() || this.allowChangeKeyframes)){
if(hug1["keyframes"].hasOwnProperty("filepositions")) this.filepositions = (hug1["keyframes"]["filepositions"] as Array).concat();
if(hug1["keyframes"].hasOwnProperty("times")) this.times = (hug1["keyframes"]["times"] as Array).concat();
this._keyframes = hug1["keyframes"];
}
if(hug1.hasOwnProperty("seekpoints") && (!this.isHasKeyframes() || this.allowChangeKeyframes)){
hug3 = hug1["seekpoints"];
this.filepositions = [];
this.times = [];
hug4 = 0;
while(hug4 < hug3.length){
this.filepositions.push(hug3[hug4]["offset"]);
this.times.push(hug3[hug4]["time"]);
hug4++;
}
}
if((this.filepositions != null) && (this.times != null)) this.hasKeyframes = true;
if((this.duration == (-1)) && this.isHasKeyframes()) this.duration = this.times[this.times.length - 1];
this.allowChangeKeyframes = false;
}
public function isLive():Boolean
{ //MethodID:3161, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
return (this.duration < 0);
}
public function isVideoStream():Boolean
{ //MethodID:3162, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23
return ((this.width > 0) && (this.height > 0));
}
public function isHasVideo():Boolean
{ //MethodID:3163, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.hasVideo;
}
public function isHasMetadata():Boolean
{ //MethodID:3164, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.hasMetadata;
}
public function isHasKeyframes():Boolean
{ //MethodID:3165, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.hasKeyframes;
}
public function isHasAudio():Boolean
{ //MethodID:3166, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.hasAudio;
}
public function isHasCuePoints():Boolean
{ //MethodID:3167, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.hasCuePoints;
}
public function getKeyFrames():Array
{ //MethodID:3168, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 37
var hug1:Array = null;
if(this.isHasKeyframes()){
hug1 = this.times.concat();
}else{
hug1 = [];
}
return hug1;
}
public function getByteShift(hug1:int):Number
{ //MethodID:3169, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 56
var hug2:Number = 0;
if(!this.isHasKeyframes() || !this.filepositions || (this.filepositions.length < hug1)) return hug2;
hug2 = this.filepositions[hug1];
return hug2;
}
public function getTimeByIndex(hug1:int):Number
{ //MethodID:3170, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34
if((hug1 >= 0) && this.isHasKeyframes()) return this.times[hug1];
return 0;
}
public function searchIndex(hug1:Number):int
{ //MethodID:3171, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 198
var hug2:int = -1;
if(!this.isHasKeyframes()) return hug2;
if(this.duration < 1) return hug2;
hug1 = Number(hug1.toFixed(2));
hug2 = this.times.indexOf(hug1);
var hug3:int = 0;
var hug4:int = Math.round(this.times.length / 2);
if(hug2 == (-1)){
if(hug1 < (this.duration / 2)){
hug3 = 0;
while(hug3 < (hug4 / 2)){
if(this.times[hug3] < hug1){
hug2 = hug3;
}else{
break;
}
hug3++;
}
}else{
hug3 = (this.times.length - 1);
while(hug3 > hug4){
if(this.times[hug3] > hug1){
hug3--;
continue;
}else{
hug2 = hug3;
break;
}
hug3--;
}
}
}
return hug2;
}
}
}
//¡script290¡
package org.osmf.media{
import __AS3__.vec.Vector
import flash.events.EventDispatcher
import flash.utils.Dictionary
import org.osmf.elements.ProxyElement
import org.osmf.events.MediaFactoryEvent
import org.osmf.events.PluginManagerEvent
import org.osmf.media.pluginClasses.PluginManager
import org.osmf.utils.OSMFStrings
//¡class(instance)_index:289
public class MediaFactory extends EventDispatcher
{
//static constructor
public static function MediaFactory$cinit()
{ //MethodID:3173, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//static variables/etc.
private static function getItemsByResource(hug1:MediaResourceBase, hug2:Vector.):Vector.
{ //dispID:3, MethodID:3174, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 75
var hug4:MediaFactoryItem = null;
var hug3:Vector. = new Vector.();
for each(hug4 in hug2){
if(hug4.canHandleResourceFunction(hug1)) hug3.push(hug4);
}
return hug3;
}
private static function getIndexOfItem(hug1:String, hug2:Vector.):int
{ //dispID:4, MethodID:3175, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 55
var hug4:MediaFactoryItem = null;
var hug3:int = 0;
while(hug3 < hug2.length){
hug4 = (hug2[hug3] as MediaFactoryItem);
if(hug4.id == hug1) return hug3;
hug3++;
}
return -1;
}
//constructor
public function MediaFactory()
{ //MethodID:3176, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17
super();
this.allItems = new Dictionary();
}
//variables/etc.
private var pluginManager:PluginManager; //slotID:0
private var allItems:Dictionary; //slotID:0
public function addItem(hug1:MediaFactoryItem):void
{ //MethodID:3177, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 93
if((hug1 == null) || (hug1.id == null)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM));
var hug2:Vector. = this.findOrCreateItems(hug1.type);
var hug3:int = getIndexOfItem(hug1.id, hug2);
if(hug3 != (-1)){
hug2[hug3] = hug1;
}else{
hug2.push(hug1);
}
}
public function removeItem(hug1:MediaFactoryItem):void
{ //MethodID:3178, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 90
var hug3:int = 0;
if((hug1 == null) || (hug1.id == null)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM));
var hug2:Vector. = this.allItems[hug1.type];
if(hug2 != null){
hug3 = hug2.indexOf(hug1);
if(hug3 != (-1)) hug2.splice(hug3, 1);
}
}
public function get numItems():int
{ //MethodID:3179, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 77
var hug2:String = null;
var hug3:Vector. = null;
var hug1:int = 0;
for each(hug2 in MediaFactoryItemType.ALL_TYPES){
hug3 = this.allItems[hug2];
if(hug3 != null) hug1 += hug3.length;
}
return hug1;
}
public function getItemAt(hug1:int):MediaFactoryItem
{ //MethodID:3180, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 117
var hug3:String = null;
var hug4:Vector. = null;
var hug2:MediaFactoryItem = null;
if(hug1 >= 0){
for each(hug3 in MediaFactoryItemType.ALL_TYPES){
hug4 = this.allItems[hug3];
if(hug4 != null){
if(hug1 < hug4.length){
hug2 = hug4[hug1];
break;
}else{
hug1 -= hug4.length;
}
}
}
}
return hug2;
}
public function getItemById(hug1:String):MediaFactoryItem
{ //MethodID:3181, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 112
var hug3:String = null;
var hug4:Vector. = null;
var hug5:int = 0;
var hug2:MediaFactoryItem = null;
for each(hug3 in MediaFactoryItemType.ALL_TYPES){
hug4 = this.allItems[hug3];
if(hug4 != null){
hug5 = getIndexOfItem(hug1, hug4);
if(hug5 != (-1)){
hug2 = hug4[hug5];
break;
}
}
}
return hug2;
}
public function loadPlugin(hug1:MediaResourceBase):void
{ //MethodID:3182, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17
this.createPluginManager();
this.pluginManager.loadPlugin(hug1);
}
public function createMediaElement(hug1:MediaResourceBase):MediaElement
{ //MethodID:3183, LocalCount= 4 , MaxScope= 1, MaxStack= 7, CodeLength= 93
var hug3:MediaElement = null;
this.createPluginManager();
var hug2:MediaElement = this.createMediaElementByResource(hug1, MediaFactoryItemType.STANDARD);
if(hug2 != null){
hug3 = this.createMediaElementByResource(hug2.resource, MediaFactoryItemType.PROXY, hug2);
hug2 = ((hug3 != null) ? hug3 : hug2);
dispatchEvent(new MediaFactoryEvent(MediaFactoryEvent.MEDIA_ELEMENT_CREATE, false, false, null, hug2));
}
return hug2;
}
protected function resolveItems(hug1:MediaResourceBase, hug2:Vector.):MediaFactoryItem
{ //MethodID:3184, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 101
var hug5:MediaFactoryItem = null;
if((hug1 == null) || (hug2 == null)) return null;
var hug3:MediaFactoryItem = null;
var hug4:int = 0;
while(hug4 < hug2.length){
hug5 = (hug2[hug4] as MediaFactoryItem);
if(hug5.id.indexOf("org.osmf") == (-1)) return hug5;
if(hug3 == null) hug3 = hug5;
hug4++;
}
return hug3;
}
private function findOrCreateItems(hug1:String):Vector.
{ //MethodID:3185, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 51
if(this.allItems[hug1] == null) this.allItems[hug1] = new Vector.();
return (this.allItems[hug1] as Vector.);
}
private function createMediaElementByResource(hug1:MediaResourceBase, hug2:String, hug3:MediaElement=null):MediaElement
{ //MethodID:3186, LocalCount= 11 , MaxScope= 1, MaxStack= 4, CodeLength= 220
var hug6:MediaFactoryItem = null;
var hug7:MediaElement = null;
var hug8:int = 0;
var hug9:MediaFactoryItem = null;
var hug10:ProxyElement = null;
var hug4:MediaElement = null;
var hug5:Vector. = getItemsByResource(hug1, this.allItems[hug2]);
if(hug2 == MediaFactoryItemType.STANDARD){
hug6 = (this.resolveItems(hug1, hug5) as MediaFactoryItem);
if(hug6 != null) hug4 = this.invokeMediaElementCreationFunction(hug6);
}else if(hug2 == MediaFactoryItemType.PROXY){
hug7 = hug3;
hug8 = hug5.length;
while(hug8 > 0){
hug9 = (hug5[hug8 - 1] as MediaFactoryItem);
hug10 = (this.invokeMediaElementCreationFunction(hug9) as ProxyElement);
if(hug10 != null){
hug10.proxiedElement = hug7;
hug7 = hug10;
}
hug8--;
}
hug4 = hug7;
}
if(hug4 != null) hug4.resource = hug1;
return hug4;
}
private function onPluginLoad(hug1:PluginManagerEvent):void
{ //MethodID:3187, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 26
dispatchEvent(new MediaFactoryEvent(MediaFactoryEvent.PLUGIN_LOAD, false, false, hug1.resource));
}
private function onPluginLoadError(hug1:PluginManagerEvent):void
{ //MethodID:3188, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 26
dispatchEvent(new MediaFactoryEvent(MediaFactoryEvent.PLUGIN_LOAD_ERROR, false, false, hug1.resource));
}
private function invokeMediaElementCreationFunction(hug1:MediaFactoryItem):MediaElement
{ //MethodID:3189, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 57
internal var item:MediaFactoryItem; //slotID:1
internal var mediaElement:MediaElement; //slotID:2
item = hug1;
mediaElement = null;
try{
mediaElement = item.mediaElementCreationFunction();
}
catch(error:Error){
}
return mediaElement;
}
private function createPluginManager():void
{ //MethodID:3190, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 60
if(this.pluginManager == null){
this.pluginManager = new PluginManager(this);
this.pluginManager.addEventListener(PluginManagerEvent.PLUGIN_LOAD, this.onPluginLoad);
this.pluginManager.addEventListener(PluginManagerEvent.PLUGIN_LOAD_ERROR, this.onPluginLoadError);
}
}
}
}
//¡script291¡
package org.osmf.media{
import org.osmf.elements.AudioElement
import org.osmf.elements.F4MElement
import org.osmf.elements.F4MLoader
import org.osmf.elements.ImageElement
import org.osmf.elements.ImageLoader
import org.osmf.elements.SWFElement
import org.osmf.elements.SWFLoader
import org.osmf.elements.SoundLoader
import org.osmf.elements.VideoElement
import org.osmf.net.NetLoader
import org.osmf.net.dvr.DVRCastNetLoader
import org.osmf.net.rtmpstreaming.RTMPDynamicStreamingNetLoader
//¡class(instance)_index:290
public class DefaultMediaFactory extends MediaFactory
{
//static constructor
public static function DefaultMediaFactory$cinit()
{ //MethodID:3192, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function DefaultMediaFactory()
{ //MethodID:3193, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
super();
this.init();
}
//variables/etc.
private var soundLoader:SoundLoader; //slotID:0
private var imageLoader:ImageLoader; //slotID:0
private var f4mLoader:F4MLoader; //slotID:0
private var rtmpStreamingNetLoader:RTMPDynamicStreamingNetLoader;//slotID:0
private var swfLoader:SWFLoader; //slotID:0
private var netLoader:NetLoader; //slotID:0
private var dvrCastLoader:DVRCastNetLoader; //slotID:0
private function init():void
{ //MethodID:3202, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 301
this.f4mLoader = new F4MLoader(this);
addItem(new MediaFactoryItem("org.osmf.elements.f4m", this.f4mLoader.canHandleResource, function():MediaElement{ //MethodID:3194, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12
return new F4MElement(null, f4mLoader);
}));
this.dvrCastLoader = new DVRCastNetLoader();
addItem(new MediaFactoryItem("org.osmf.elements.video.dvr.dvrcast", this.dvrCastLoader.canHandleResource, function():MediaElement{ //MethodID:3195, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12
return new VideoElement(null, dvrCastLoader);
}));
this.rtmpStreamingNetLoader = new RTMPDynamicStreamingNetLoader();
addItem(new MediaFactoryItem("org.osmf.elements.video.rtmpdynamicStreaming", this.rtmpStreamingNetLoader.canHandleResource, function():MediaElement{ //MethodID:3196, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12
return new VideoElement(null, rtmpStreamingNetLoader);
}));
this.netLoader = new NetLoader();
addItem(new MediaFactoryItem("org.osmf.elements.video", this.netLoader.canHandleResource, function():MediaElement{ //MethodID:3197, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12
return new VideoElement(null, netLoader);
}));
this.soundLoader = new SoundLoader();
addItem(new MediaFactoryItem("org.osmf.elements.audio", this.soundLoader.canHandleResource, function():MediaElement{ //MethodID:3198, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12
return new AudioElement(null, soundLoader);
}));
addItem(new MediaFactoryItem("org.osmf.elements.audio.streaming", this.netLoader.canHandleResource, function():MediaElement{ //MethodID:3199, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12
return new AudioElement(null, netLoader);
}));
this.imageLoader = new ImageLoader();
addItem(new MediaFactoryItem("org.osmf.elements.image", this.imageLoader.canHandleResource, function():MediaElement{ //MethodID:3200, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12
return new ImageElement(null, imageLoader);
}));
this.swfLoader = new SWFLoader();
addItem(new MediaFactoryItem("org.osmf.elements.swf", this.swfLoader.canHandleResource, function():MediaElement{ //MethodID:3201, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12
return new SWFElement(null, swfLoader);
}));
}
}
}
//¡script292¡
package ru.rutube.managers.playback.controller{
import flash.events.Event
//¡class(instance)_index:291
public class StreamControllerEvent extends Event
{
//static constructor
public static function StreamControllerEvent$cinit()
{ //MethodID:3204, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 228
EVENT_BALANCE_URL = "EVENT_BALANCE_URL";
EVENT_RECEIVE_BALANCED_URL = "EVENT_RECEIVE_BALANCED_URL";
EVENT_DURATION_CHANGE = "EVENT_DURATION_CHANGE";
EVENT_CURRENT_TIME_CHANGE = "EVENT_CURRENT_TIME_CHANGE";
EVENT_BUFFERING_CHANGE = "EVENT_BUFFERING_CHANGE";
EVENT_VIDEO_COMPLETE = "EVENT_VIDEO_COMPLETE";
EVENT_METADATA_RECEIVED = "EVENT_METADATA_RECEIVED";
EVENT_LOADING_PROGRESS = "EVENT_LOADING_PROGRESS";
EVENT_STATE_CHANGE = "EVENT_STATE_CHANGE";
EVENT_STREAM_ERROR = "EVENT_STREAM_ERROR";
EVENT_MEDIA_ON_EOF = "EVENT_MEDIA_ON_EOF";
EVENT_MEDIA_ON_ERROR = "EVENT_MEDIA_ON_ERROR";
EVENT_MEDIA_RTMS_EOF = "EVENT_MEDIA_RTMS_EOF";
EVENT_MEDIA_RTMS_REDIRECT = "EVENT_MEDIA_RTMS_REDIRECT";
EVENT_MEDIA_RTMS_NOT_AUTH = "EVENT_MEDIA_RTMS_NOT_AUTH";
EVENT_MEDIA_RTMS_FORBID = "EVENT_MEDIA_RTMS_FORBID";
EVENT_MEDIA_RTMS_RETRY_LATTER = "EVENT_MEDIA_RTMS_RETRY_LATTER";
EVENT_MEDIA_RTMS_NOT_FOUND = "EVENT_MEDIA_RTMS_NOT_FOUND";
EVENT_MEDIA_RTMS_ERROR = "EVENT_MEDIA_RTMS_ERROR";
EVENT_MEDIA_RTMS_WARNING = "EVENT_MEDIA_RTMS_WARNING";
EVENT_VIDEO_PLAYHEAD_UPDATE = "EVENT_VIDEO_PLAYHEAD_UPDATE";
EVENT_STREAM_STREAM_NOT_FOUND = "EVENT_STREAM_STREAM_NOT_FOUND";
EVENT_STREAM_RESUME = "EVENT_STREAM_RESUME";
EVENT_STREAM_PAUSE = "EVENT_STREAM_PAUSE";
EVENT_CHANGE_LIVE_STATE = "EVENT_CHANGE_LIVE_STATE";
}
//static variables/etc.
public static const EVENT_BALANCE_URL:String = "EVENT_BALANCE_URL";//slotID:1
public static const EVENT_RECEIVE_BALANCED_URL:String = "EVENT_RECEIVE_BALANCED_URL";//slotID:2
public static const EVENT_DURATION_CHANGE:String = "EVENT_DURATION_CHANGE";//slotID:3
public static const EVENT_CURRENT_TIME_CHANGE:String = "EVENT_CURRENT_TIME_CHANGE";//slotID:4
public static const EVENT_BUFFERING_CHANGE:String = "EVENT_BUFFERING_CHANGE";//slotID:5
public static const EVENT_VIDEO_COMPLETE:String = "EVENT_VIDEO_COMPLETE";//slotID:6
public static const EVENT_METADATA_RECEIVED:String = "EVENT_METADATA_RECEIVED";//slotID:7
public static const EVENT_LOADING_PROGRESS:String = "EVENT_LOADING_PROGRESS";//slotID:8
public static const EVENT_STATE_CHANGE:String = "EVENT_STATE_CHANGE";//slotID:9
public static const EVENT_STREAM_ERROR:String = "EVENT_STREAM_ERROR";//slotID:10
public static const EVENT_MEDIA_ON_EOF:String = "EVENT_MEDIA_ON_EOF";//slotID:11
public static const EVENT_MEDIA_ON_ERROR:String = "EVENT_MEDIA_ON_ERROR";//slotID:12
public static const EVENT_MEDIA_RTMS_EOF:String = "EVENT_MEDIA_RTMS_EOF";//slotID:13
public static const EVENT_MEDIA_RTMS_REDIRECT:String = "EVENT_MEDIA_RTMS_REDIRECT";//slotID:14
public static const EVENT_MEDIA_RTMS_NOT_AUTH:String = "EVENT_MEDIA_RTMS_NOT_AUTH";//slotID:15
public static const EVENT_MEDIA_RTMS_FORBID:String = "EVENT_MEDIA_RTMS_FORBID";//slotID:16
public static const EVENT_MEDIA_RTMS_RETRY_LATTER:String = "EVENT_MEDIA_RTMS_RETRY_LATTER";//slotID:17
public static const EVENT_MEDIA_RTMS_NOT_FOUND:String = "EVENT_MEDIA_RTMS_NOT_FOUND";//slotID:18
public static const EVENT_MEDIA_RTMS_ERROR:String = "EVENT_MEDIA_RTMS_ERROR";//slotID:19
public static const EVENT_MEDIA_RTMS_WARNING:String = "EVENT_MEDIA_RTMS_WARNING";//slotID:20
public static const EVENT_VIDEO_PLAYHEAD_UPDATE:String = "EVENT_VIDEO_PLAYHEAD_UPDATE";//slotID:21
public static const EVENT_STREAM_STREAM_NOT_FOUND:String = "EVENT_STREAM_STREAM_NOT_FOUND";//slotID:22
public static const EVENT_STREAM_RESUME:String = "EVENT_STREAM_RESUME";//slotID:23
public static const EVENT_STREAM_PAUSE:String = "EVENT_STREAM_PAUSE";//slotID:24
public static const EVENT_CHANGE_LIVE_STATE:String = "EVENT_CHANGE_LIVE_STATE";//slotID:25
//constructor
public function StreamControllerEvent(hug1:String, hug2:Event=null, hug3:int=0, hug4:Boolean=false, hug5:Boolean=false, hug6:Object=null)
{ //MethodID:3205, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 27
super(hug1, hug4, hug5);
this.event = hug2;
this.body = hug6;
this._controllerType = hug3;
}
//variables/etc.
public var body:Object = null; //slotID:0
private var _controllerType:int = 0; //slotID:0
public var event:Event = null; //slotID:0
public function get controllerType():int
{ //MethodID:3206, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._controllerType;
}
override public function clone():Event
{ //MethodID:3207, LocalCount= 1 , MaxScope= 1, MaxStack= 7, CodeLength= 29
return new StreamControllerEvent(type, this.event, this.controllerType, bubbles, cancelable, this.body);
}
}
}
//¡script293¡
package org.osmf.media{
import __AS3__.vec.Vector
import flash.events.Event
import flash.events.EventDispatcher
import flash.utils.Dictionary
import org.osmf.containers.IMediaContainer
import org.osmf.events.ContainerChangeEvent
import org.osmf.events.MediaElementEvent
import org.osmf.events.MediaErrorEvent
import org.osmf.events.MetadataEvent
import org.osmf.metadata.Metadata
import org.osmf.traits.MediaTraitBase
import org.osmf.utils.OSMFStrings
//¡class(instance)_index:292
public class MediaElement extends EventDispatcher
{
//static constructor
public static function MediaElement$cinit()
{ //MethodID:3209, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function MediaElement()
{ //MethodID:3210, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 148
this.traits = new Dictionary();
this.traitResolvers = new Dictionary();
this.unresolvedTraits = new Dictionary();
this._traitTypes = new Vector.();
super();
this._metadata = this.createMetadata();
this._metadata.addEventListener(MetadataEvent.VALUE_ADD, this.onMetadataValueAdd);
this._metadata.addEventListener(MetadataEvent.VALUE_REMOVE, this.onMetadataValueRemove);
this._metadata.addEventListener(MetadataEvent.VALUE_CHANGE, this.onMetadataValueChange);
this.setupTraitResolvers();
this.setupTraits();
addEventListener(ContainerChangeEvent.CONTAINER_CHANGE, this.onContainerChange, false, Number.MAX_VALUE);
}
//variables/etc.
private var _container:IMediaContainer; //slotID:0
private var _metadata:Metadata; //slotID:0
private var unresolvedTraits:Dictionary; //slotID:0
private var _traitTypes:Vector.; //slotID:0
private var _resource:MediaResourceBase; //slotID:0
private var traits:Dictionary; //slotID:0
private var traitResolvers:Dictionary; //slotID:0
public function get traitTypes():Vector.
{ //MethodID:3211, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this._traitTypes.concat();
}
public function hasTrait(hug1:String):Boolean
{ //MethodID:3212, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 41
if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM));
return (this.traits[hug1] != null);
}
public function getTrait(hug1:String):MediaTraitBase
{ //MethodID:3213, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 38
if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM));
return this.traits[hug1];
}
public function get resource():MediaResourceBase
{ //MethodID:3214, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._resource;
}
public function set resource(hug1:MediaResourceBase):void
{ //MethodID:3215, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._resource = hug1;
}
public function get container():IMediaContainer
{ //MethodID:3216, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._container;
}
public function addMetadata(hug1:String, hug2:Metadata):void
{ //MethodID:3217, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 50
if((hug1 == null) || (hug2 == null)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM));
this.metadata.addValue(hug1, hug2);
}
public function removeMetadata(hug1:String):Metadata
{ //MethodID:3218, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 43
if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM));
return (this.metadata.removeValue(hug1) as Metadata);
}
public function getMetadata(hug1:String):Metadata
{ //MethodID:3219, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 43
if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM));
return (this.metadata.getValue(hug1) as Metadata);
}
public function get metadataNamespaceURLs():Vector.
{ //MethodID:3220, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this.metadata.keys;
}
protected function createMetadata():Metadata
{ //MethodID:3221, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return new Metadata();
}
public function get metadata():Metadata
{ //MethodID:3222, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._metadata;
}
protected function addTrait(hug1:String, hug2:MediaTraitBase):void
{ //MethodID:3223, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 88
if((hug1 == null) || (hug2 == null) || (hug1 != hug2.traitType)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM));
var hug3:MediaTraitResolver = this.traitResolvers[hug1];
if(hug3 != null){
hug3.addTrait(hug2);
}else{
this.setLocalTrait(hug1, hug2);
}
}
protected function removeTrait(hug1:String):MediaTraitBase
{ //MethodID:3224, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 74
if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM));
var hug2:MediaTraitBase = this.traits[hug1];
var hug3:MediaTraitResolver = this.traitResolvers[hug1];
if(hug3 != null) return hug3.removeTrait(hug2);
return this.setLocalTrait(hug1, null);
}
protected function addTraitResolver(hug1:String, hug2:MediaTraitResolver):void
{ //MethodID:3225, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 159
var hug3:MediaTraitBase = null;
if((hug2 == null) || (hug2.type != hug1)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM));
if(this.traitResolvers[hug1] == null){
this.unresolvedTraits[hug1] = this.traits[hug1];
this.traitResolvers[hug1] = hug2;
hug3 = this.traits[hug1];
if(hug3) hug2.addTrait(hug3);
this.processResolvedTraitChange(hug1, hug2.resolvedTrait);
hug2.addEventListener(Event.CHANGE, this.onTraitResolverChange);
}else{
throw new ArgumentError(OSMFStrings.getString(OSMFStrings.TRAIT_RESOLVER_ALREADY_ADDED));
}
}
protected function removeTraitResolver(hug1:String):MediaTraitResolver
{ //MethodID:3226, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 124
if((hug1 == null) || (this.traitResolvers[hug1] == null)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM));
var hug2:MediaTraitResolver = this.traitResolvers[hug1];
hug2.removeEventListener(Event.CHANGE, this.onTraitResolverChange);
delete this.traitResolvers[hug1];
var hug3:MediaTraitBase = this.unresolvedTraits[hug1];
if(hug3 != this.traits[hug1]) this.setLocalTrait(hug1, hug3);
delete this.unresolvedTraits[hug1];
return hug2;
}
protected function getTraitResolver(hug1:String):MediaTraitResolver
{ //MethodID:3227, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
return this.traitResolvers[hug1];
}
protected function setupTraitResolvers():void
{ //MethodID:3228, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
protected function setupTraits():void
{ //MethodID:3229, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function onMediaError(hug1:MediaErrorEvent):void
{ //MethodID:3230, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 15
dispatchEvent(hug1.clone());
}
private function setLocalTrait(hug1:String, hug2:MediaTraitBase):MediaTraitBase
{ //MethodID:3231, LocalCount= 5 , MaxScope= 1, MaxStack= 6, CodeLength= 207
var hug3:MediaTraitBase = this.traits[hug1];
if(hug2 == null){
if(hug3 != null){
hug3.removeEventListener(MediaErrorEvent.MEDIA_ERROR, this.onMediaError);
hug3.dispose();
dispatchEvent(new MediaElementEvent(MediaElementEvent.TRAIT_REMOVE, false, false, hug1));
this._traitTypes.splice(this._traitTypes.indexOf(hug1), 1);
delete this.traits[hug1];
}
}else if(hug3 == null){
var hug4:MediaTraitBase = hug2;
hug3 = hug4;
this.traits[hug1] = hug4;
this._traitTypes.push(hug1);
hug3.addEventListener(MediaErrorEvent.MEDIA_ERROR, this.onMediaError);
dispatchEvent(new MediaElementEvent(MediaElementEvent.TRAIT_ADD, false, false, hug1));
}else if(hug3 != hug2){
throw new ArgumentError(OSMFStrings.getString(OSMFStrings.TRAIT_INSTANCE_ALREADY_ADDED));
}
return hug3;
}
private function onTraitResolverChange(hug1:Event):void
{ //MethodID:3232, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 28
var hug2:MediaTraitResolver = (hug1.target as MediaTraitResolver);
this.processResolvedTraitChange(hug2.type, hug2.resolvedTrait);
}
private function processResolvedTraitChange(hug1:String, hug2:MediaTraitBase):void
{ //MethodID:3233, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 23
if(hug2 != this.traits[hug1]) this.setLocalTrait(hug1, hug2);
}
private function onContainerChange(hug1:ContainerChangeEvent):void
{ //MethodID:3234, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 40
if((this._container == hug1.oldContainer) && (this._container != hug1.newContainer)) this._container = hug1.newContainer;
}
private function onMetadataValueAdd(hug1:MetadataEvent):void
{ //MethodID:3235, LocalCount= 2 , MaxScope= 1, MaxStack= 9, CodeLength= 38
dispatchEvent(new MediaElementEvent(MediaElementEvent.METADATA_ADD, false, false, null, hug1.key, (hug1.value as Metadata)));
}
private function onMetadataValueChange(hug1:MetadataEvent):void
{ //MethodID:3236, LocalCount= 2 , MaxScope= 1, MaxStack= 9, CodeLength= 73
dispatchEvent(new MediaElementEvent(MediaElementEvent.METADATA_REMOVE, false, false, null, hug1.key, (hug1.oldValue as Metadata)));
dispatchEvent(new MediaElementEvent(MediaElementEvent.METADATA_ADD, false, false, null, hug1.key, (hug1.value as Metadata)));
}
private function onMetadataValueRemove(hug1:MetadataEvent):void
{ //MethodID:3237, LocalCount= 2 , MaxScope= 1, MaxStack= 9, CodeLength= 38
dispatchEvent(new MediaElementEvent(MediaElementEvent.METADATA_REMOVE, false, false, null, hug1.key, (hug1.value as Metadata)));
}
}
}
//¡script294¡
package org.osmf.media{
import __AS3__.vec.Vector
import flash.utils.Dictionary
//¡class(instance)_index:293
public class MediaResourceBase extends Object
{
//static constructor
public static function MediaResourceBase$cinit()
{ //MethodID:3239, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function MediaResourceBase()
{ //MethodID:3240, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
private var _metadata:Dictionary; //slotID:0
private var _mimeType:String; //slotID:0
private var _mediaType:String; //slotID:0
public function get mediaType():String
{ //MethodID:3241, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._mediaType;
}
public function set mediaType(hug1:String):void
{ //MethodID:3242, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._mediaType = hug1;
}
public function get mimeType():String
{ //MethodID:3243, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._mimeType;
}
public function set mimeType(hug1:String):void
{ //MethodID:3244, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._mimeType = hug1;
}
public function get metadataNamespaceURLs():Vector.
{ //MethodID:3245, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 67
var hug2:String = null;
var hug1:Vector. = new Vector.();
if(this._metadata != null){
for(hug2 in this._metadata){
hug1.push(hug2);
}
}
return hug1;
}
public function addMetadataValue(hug1:String, hug2:Object):void
{ //MethodID:3246, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 32
if(this._metadata == null) this._metadata = new Dictionary();
this._metadata[hug1] = hug2;
}
public function getMetadataValue(hug1:String):Object
{ //MethodID:3247, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(this._metadata != null) return this._metadata[hug1];
return null;
}
public function removeMetadataValue(hug1:String):Object
{ //MethodID:3248, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 39
var hug2:Object = null;
if(this._metadata != null){
hug2 = this._metadata[hug1];
delete this._metadata[hug1];
return hug2;
}
return null;
}
}
}
//¡script295¡
package org.osmf.media{
//¡class(instance)_index:294
public class URLResource extends MediaResourceBase
{
//static constructor
public static function URLResource$cinit()
{ //MethodID:3250, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function URLResource(hug1:String)
{ //MethodID:3251, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
super();
this._url = hug1;
}
//variables/etc.
private var _url:String; //slotID:0
public function get url():String
{ //MethodID:3252, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._url;
}
}
}
//¡script296¡
package org.osmf.media{
import __AS3__.vec.Vector
import org.osmf.media.pluginClasses.VersionUtils
import org.osmf.utils.OSMFStrings
import org.osmf.utils.Version
//¡class(instance)_index:295
public class PluginInfo extends Object
{
//static constructor
public static function PluginInfo$cinit()
{ //MethodID:3254, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12
PLUGIN_MEDIAFACTORY_NAMESPACE = "http://www.osmf.org/plugin/mediaFactory/1.0";
}
//static variables/etc.
public static const PLUGIN_MEDIAFACTORY_NAMESPACE:String = "http://www.osmf.org/plugin/mediaFactory/1.0";//slotID:1
//constructor
public function PluginInfo(hug1:Vector.=null, hug2:Function=null)
{ //MethodID:3255, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 42
super();
this._mediaFactoryItems = ((hug1 != null) ? hug1 : new Vector.());
this._mediaElementCreationNotificationFunction = hug2;
}
//variables/etc.
private var _mediaElementCreationNotificationFunction:Function; //slotID:0
private var _mediaFactoryItems:Vector.; //slotID:0
public function get numMediaFactoryItems():int
{ //MethodID:3256, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10
return this._mediaFactoryItems.length;
}
public function get frameworkVersion():String
{ //MethodID:3257, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9
return Version.version;
}
public function getMediaFactoryItemAt(hug1:int):MediaFactoryItem
{ //MethodID:3258, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 59
if((hug1 < 0) || (hug1 >= this._mediaFactoryItems.length)) throw new RangeError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM));
return (this._mediaFactoryItems[hug1] as MediaFactoryItem);
}
public function isFrameworkVersionSupported(hug1:String):Boolean
{ //MethodID:3259, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 89
if((hug1 == null) || (hug1.length == 0)) return false;
var hug2:Object = VersionUtils.parseVersionString(hug1);
var hug3:Object = VersionUtils.parseVersionString(this.frameworkVersion);
return ((hug2.major > hug3.major) || ((hug2.major == hug3.major) && (hug2.minor >= hug3.minor)));
}
public function initializePlugin(hug1:MediaResourceBase):void
{ //MethodID:3260, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
public function get mediaElementCreationNotificationFunction():Function
{ //MethodID:3261, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._mediaElementCreationNotificationFunction;
}
protected function get mediaFactoryItems():Vector.
{ //MethodID:3262, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._mediaFactoryItems;
}
protected function set mediaFactoryItems(hug1:Vector.):void
{ //MethodID:3263, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this._mediaFactoryItems = hug1;
}
}
}
//¡script297¡
package ru.rutube.plugin.statistic.google{
import __AS3__.vec.Vector
import org.osmf.media.MediaElement
import org.osmf.media.MediaFactoryItem
import org.osmf.media.MediaFactoryItemType
import org.osmf.media.MediaResourceBase
import org.osmf.media.PluginInfo
import org.osmf.metadata.Metadata
import ru.rutube.media.MediaTypes
//¡class(instance)_index:296
public class GoogleStatisticPlugin extends PluginInfo
{
//static constructor
public static function GoogleStatisticPlugin$cinit()
{ //MethodID:3265, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function GoogleStatisticPlugin()
{ //MethodID:3266, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 59
var hug1:Vector. = new Vector.();
var hug2:MediaFactoryItem = new MediaFactoryItem("ru.rutube.statistic.google", this.functionCanHandleResource, this.functionMediaElementCreation, MediaFactoryItemType.PROXY);
hug1.push(hug2);
super(hug1, this.functionMediaElementCreationNotification);
}
//variables/etc.
private function functionMediaElementCreationNotification(hug1:MediaElement):void
{ //MethodID:3267, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
private function functionCanHandleResource(hug1:MediaResourceBase):Boolean
{ //MethodID:3268, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 41
var hug3:Metadata = null;
var hug2:Boolean = false;
if(hug1 != null){
hug3 = (hug1.getMetadataValue(MediaTypes.MEDIA_TYPE_GOOGLE_VIDEO_PROXY) as Metadata);
hug2 = (hug3 != null);
}
return hug2;
}
private function functionMediaElementCreation():MediaElement
{ //MethodID:3269, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11
return new GoogleStatisticElement(null);
}
}
}
//¡script298¡
package ru.rutube.media{
//¡class(instance)_index:297
public class MediaTypes extends Object
{
//static constructor
public static function MediaTypes$cinit()
{ //MethodID:3271, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
ID_MEDIA_VIDEO = "ru.rutube.proxyes";
MEDIA_TYPE_PLAYER_SETTINGS = "http://rutube.ru/settings";
MEDIA_TYPE_GOOGLE_VIDEO_PROXY = "http://rutube.ru/statistic/google";
}
//static variables/etc.
public static const ID_MEDIA_VIDEO:String = "ru.rutube.proxyes";//slotID:1
public static const MEDIA_TYPE_PLAYER_SETTINGS:String = "http://rutube.ru/settings";//slotID:2
public static const MEDIA_TYPE_GOOGLE_VIDEO_PROXY:String = "http://rutube.ru/statistic/google";//slotID:3
//constructor
public function MediaTypes()
{ //MethodID:3272, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script299¡
package org.osmf.metadata{
import __AS3__.vec.Vector
import flash.events.Event
import flash.events.EventDispatcher
import flash.utils.Dictionary
import org.osmf.events.MetadataEvent
import org.osmf.utils.OSMFStrings
//¡class(instance)_index:298
public class Metadata extends EventDispatcher
{
//static constructor
public static function Metadata$cinit()
{ //MethodID:3274, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function Metadata()
{ //MethodID:3275, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
private var data:Dictionary; //slotID:0
public function getValue(hug1:String):*
{ //MethodID:3276, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 54
if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM));
return ((this.data != null) ? this.data[hug1] : null);
}
public function addValue(hug1:String, hug2:Object):void
{ //MethodID:3277, LocalCount= 5 , MaxScope= 1, MaxStack= 7, CodeLength= 145
var hug4:Event = null;
if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM));
if(this.data == null) this.data = new Dictionary();
var hug3:* = this.data[hug1];
this.data[hug1] = hug2;
if(hug3 != hug2){
hug4 = ((hug3 === undefined) ? new MetadataEvent(MetadataEvent.VALUE_ADD, false, false, hug1, hug2) : new MetadataEvent(MetadataEvent.VALUE_CHANGE, false, false, hug1, hug2, hug3));
dispatchEvent(hug4);
}
}
public function removeValue(hug1:String):*
{ //MethodID:3278, LocalCount= 3 , MaxScope= 1, MaxStack= 7, CodeLength= 82
if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM));
var hug2:* = this.data[hug1];
if(hug2 !== undefined){
delete this.data[hug1];
dispatchEvent(new MetadataEvent(MetadataEvent.VALUE_REMOVE, false, false, hug1, hug2));
}
return hug2;
}
public function get keys():Vector.
{ //MethodID:3279, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 69
var hug2:Object = null;
var hug1:Vector. = new Vector.();
if(this.data != null){
for(hug2 in this.data){
hug1.push(hug2);
}
}
return hug1;
}
public function get synthesizer():MetadataSynthesizer
{ //MethodID:3280, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return null;
}
}
}
//¡script300¡
package ru.rutube.managers.balancer{
import flash.events.Event
import flash.events.IOErrorEvent
import flash.events.SecurityErrorEvent
import flash.net.URLLoader
import flash.net.URLRequest
import ru.rutube.event.EventManager
import ru.rutube.managers.playback.stream.RemoteStreamType
//¡class(instance)_index:299
public class BalancerResponder extends Object
{
//static constructor
public static function BalancerResponder$cinit()
{ //MethodID:3282, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 92
BALANCER_MAIN = 1;
BALANCER_ADVERTISEMENT = 2;
BALANCER_CACHE = 3;
BALANCER_REQUEST_TYPE_RTMP = 100;
BALANCER_REQUEST_TYPE_RTMPT = 101;
BALANCER_REQUEST_TYPE_HTTP = 102;
BALANCER_REQUEST_STRING_RTMP = "rtmp://";
BALANCER_REQUEST_STRING_RTMPT = "rtmpt://";
BALANCER_REQUEST_STRING_HTTP = "http://";
avalibleRequestTypes = [BALANCER_REQUEST_TYPE_RTMP, BALANCER_REQUEST_TYPE_RTMPT];
}
//static variables/etc.
public static const BALANCER_MAIN:int = 1; //slotID:1
public static const BALANCER_ADVERTISEMENT:int = 2; //slotID:2
public static const BALANCER_CACHE:int = 3; //slotID:3
public static const BALANCER_REQUEST_TYPE_RTMP:int = 100; //slotID:4
public static const BALANCER_REQUEST_TYPE_RTMPT:int = 101; //slotID:5
public static const BALANCER_REQUEST_TYPE_HTTP:int = 102; //slotID:6
private static const BALANCER_REQUEST_STRING_RTMP:String = "rtmp://";//slotID:7
private static const BALANCER_REQUEST_STRING_RTMPT:String = "rtmpt://";//slotID:8
private static const BALANCER_REQUEST_STRING_HTTP:String = "http://";//slotID:9
private static const avalibleRequestTypes:Array; //slotID:10
public static function isTypeAvalible(hug1:int):Boolean
{ //dispID:3, MethodID:3283, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14
return (avalibleRequestTypes.indexOf(hug1) > (-1));
}
//constructor
public function BalancerResponder(hug1:int=0)
{ //MethodID:3284, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
super();
this.balancerId = hug1;
}
//variables/etc.
private var dataLoaded:Boolean = false; //slotID:0
private var balancerId:int = 0; //slotID:0
private var _type:int = 0; //slotID:0
private var urlLoader:URLLoader = null; //slotID:0
private var balancerRequest:String = null; //slotID:0
private var presetType:int = 0; //slotID:0
private var loading:Boolean = false; //slotID:0
private var correctVideoUrl:String = null; //slotID:0
public function get isLoading():Boolean
{ //MethodID:3285, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.loading;
}
public function get id():int
{ //MethodID:3286, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.balancerId;
}
public function get isReceivedGoodPath():Boolean
{ //MethodID:3287, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
return ((this.correctVideoUrl != null) && this.dataLoaded);
}
public function get videoStreamUrl():String
{ //MethodID:3288, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19
if(this.correctVideoUrl != null) return this.correctVideoUrl;
return "";
}
public function get balancerStreamUrl():String
{ //MethodID:3289, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19
if(this.balancerRequest != null) return this.balancerRequest;
return "";
}
public function clearState():void
{ //MethodID:3290, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28
this.deInitloader();
this.balancerRequest = null;
this.correctVideoUrl = null;
this.loading = false;
this.dataLoaded = false;
}
public function reset():void
{ //MethodID:3291, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32
this.clearState();
this._type = 0;
if(this.presetType > 0) this._type = this.presetType;
}
public function get type():int
{ //MethodID:3292, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
return avalibleRequestTypes[this._type];
}
public function setType(hug1:int):void
{ //MethodID:3293, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 37
if(avalibleRequestTypes.indexOf(hug1) > (-1)){
this._type = avalibleRequestTypes.indexOf(hug1);
this.presetType = this._type;
}
}
public function nextBalancerRequest():Boolean
{ //MethodID:3294, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 108
if(this._type < (avalibleRequestTypes.length - 1)){
this._type++;
if((this.type == BALANCER_REQUEST_TYPE_RTMPT) && (this.correctVideoUrl != null)){
this.correctVideoUrl = this.correctVideoUrl.replace("rtmp", "rtmpt");
this.correctVideoUrl = this.correctVideoUrl.replace("1935", "80");
}else{
this.clearState();
}
return true;
}
return false;
}
public function isLastType():Boolean
{ //MethodID:3295, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 15
return (this._type >= (avalibleRequestTypes.length - 1));
}
public function load(hug1:String, hug2:Boolean=false):void
{ //MethodID:3296, LocalCount= 5 , MaxScope= 5, MaxStack= 5, CodeLength= 326
internal var requestUrl:String; //slotID:1
internal var force:Boolean = false; //slotID:2
internal var urlRequest:URLRequest; //slotID:3
requestUrl = hug1;
force = hug2;
if(force && this.loading && (this.urlLoader != null)){
try{
this.urlLoader.close();
}
catch(err:Error){
deInitloader();
}
this.urlLoader = null;
}
this.clearState();
if(!BalancerManager.instance.isBalancerUrl(requestUrl) && (requestUrl.lastIndexOf(".iflv") < 0)){
this.correctVideoUrl = requestUrl;
if(this.correctVideoUrl != null) this.correctVideoUrl = this.correctVideoUrl.replace(new RegExp("[\t\n\r ]", "gi"), "");
this.dataLoaded = true;
EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_COMPLETE, this.id));
return;
}
this.urlLoader = new URLLoader();
this.initLoader();
urlRequest = new URLRequest(requestUrl);
this.balancerRequest = requestUrl;
try{
this.urlLoader.load(urlRequest);
this.loading = true;
}
catch(err:Error){
loading = false;
deInitloader();
urlLoader = null;
EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_ERROR, id));
}
}
public function buildRequestUrl(hug1:String, hug2:String, hug3:Boolean=false, hug4:Number=0.0, hug5:Boolean=false):String
{ //MethodID:3297, LocalCount= 10 , MaxScope= 1, MaxStack= 6, CodeLength= 466
var hug6:String = hug1;
if((hug6.indexOf("://") == (-1)) || (RemoteStreamType.FMS_LIVE == RemoteStreamType.getStreamTypeByConnStr(hug1)) || (hug1.indexOf("webcaster") > 0)) return hug6;
var hug7:Array = [];
if(hug5) hug7.push("max-age=0");
if((hug2.length > 0) && (hug6.indexOf("referer") < 0)) hug7.push("referer=" + encodeURIComponent(hug2));
if(hug4 > 0){
if(hug3){
hug7.push("start=" + hug4);
}else{
hug7.push("offset=" + int(hug4 * 1000));
}
}
var hug8:String = "schema";
switch(this.type){
case BALANCER_REQUEST_TYPE_RTMP:
hug7.push((hug8 + "=") + BALANCER_REQUEST_STRING_RTMP.substr(0, BALANCER_REQUEST_STRING_RTMP.indexOf(":")));
break;
case BALANCER_REQUEST_TYPE_RTMPT:
hug7.push((hug8 + "=") + BALANCER_REQUEST_STRING_RTMPT.substr(0, BALANCER_REQUEST_STRING_RTMPT.indexOf(":")));
break;
case BALANCER_REQUEST_TYPE_HTTP:
hug7.push((hug8 + "=") + BALANCER_REQUEST_STRING_HTTP.substr(0, BALANCER_REQUEST_STRING_HTTP.indexOf(":")));
break;
default:
break;
}
if(hug7.length > 0){
if(hug6.indexOf("?") == (-1)) hug6 += "?";
if(hug6.indexOf("?") < (hug6.length - 1)) hug6 += "&";
hug6 += hug7.join("&");
}
return hug6;
}
public function buildPlayUrl(hug1:String, hug2:String, hug3:Boolean=false, hug4:Number=0.0, hug5:Boolean=false):String
{ //MethodID:3298, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 268
var hug6:String = hug1;
if(RemoteStreamType.FMS_LIVE == RemoteStreamType.getStreamTypeByConnStr(hug1)) return hug1.substr(hug1.lastIndexOf("/") + 1);
if(hug6.indexOf("://") == (-1)) return hug6;
var hug7:Array = [];
if(hug5) hug7.push("max-age=0");
if((hug2.length > 0) && (hug6.indexOf("referer") < 0)) hug7.push("referer=" + encodeURIComponent(hug2));
if(hug4 > 0){
if(hug3){
hug7.push("start=" + hug4);
}else{
hug7.push("offset=" + int(hug4 * 1000));
}
}
if(hug7.length > 0){
if(hug6.indexOf("?") == (-1)) hug6 += "?";
if(hug6.indexOf("?") < (hug6.length - 1)) hug6 += "&";
hug6 += hug7.join("&");
}
trace("Balancer.BuildRequestUrl: ", hug6);
return hug6;
}
private function initLoader():void
{ //MethodID:3299, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 63
if(!this.urlLoader) return;
this.urlLoader.addEventListener(Event.COMPLETE, this.listenerLoadComplete);
this.urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerError);
this.urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerError);
}
private function deInitloader():void
{ //MethodID:3300, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 63
if(!this.urlLoader) return;
this.urlLoader.removeEventListener(Event.COMPLETE, this.listenerLoadComplete);
this.urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerError);
this.urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerError);
}
private function listenerLoadComplete(hug1:Event):void
{ //MethodID:3301, LocalCount= 4 , MaxScope= 5, MaxStack= 5, CodeLength= 781
internal var event:Event; //slotID:1
internal var xml:XML; //slotID:2
internal var regExp:RegExp; //slotID:3
internal var strParts:Array; //slotID:4
regExp = null;
strParts = null;
event = hug1;
this.deInitloader();
this.loading = false;
this.dataLoaded = true;
xml = null;
try{
xml = new XML(String(this.urlLoader.data));
}
catch(err:Error){
xml = null;
}
this.urlLoader = null;
trace(xml);
if((xml != null) && xml.hasOwnProperty("finalAddress")){
if(xml.hasOwnProperty("finalAddress") && (xml["finalAddress"].toString().length > 0)) this.correctVideoUrl = xml["finalAddress"].toString();
xml = null;
if(this.correctVideoUrl != null) this.correctVideoUrl = this.correctVideoUrl.replace(new RegExp("[\t\n\r ]", "gi"), "");
if(avalibleRequestTypes[this._type] == BALANCER_REQUEST_TYPE_RTMPT){
this.correctVideoUrl = this.correctVideoUrl.replace("rtmp://", "rtmpt://");
this.correctVideoUrl = this.correctVideoUrl.replace(".rutube.ru/", ".rutube.ru:80/");
}
if(this.correctVideoUrl.indexOf("rtmpt") > (-1)) this.correctVideoUrl = this.correctVideoUrl.replace(":1935", ":80");
if(this.correctVideoUrl != null){
if(this.correctVideoUrl.toLowerCase().indexOf(BALANCER_REQUEST_STRING_HTTP) > (-1)){
this._type = avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_HTTP);
}else if(this.correctVideoUrl.toLowerCase().indexOf(BALANCER_REQUEST_STRING_RTMPT) > (-1)){
this._type = avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_RTMPT);
}else if(this.correctVideoUrl.toLowerCase().indexOf(BALANCER_REQUEST_STRING_RTMP) > (-1)){
this._type = avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_RTMP);
}
if(this._type < 0) this._type = 0;
}
regExp = new RegExp("([\w]+):\/\/([\w\-\.]+)[:]*(\d*)([\w\-\.\\\/%\?&=:]+)", "gi");
strParts = regExp.exec(this.correctVideoUrl);
if((strParts != null) && (strParts.length > 4)){
if((this._type == avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_RTMPT)) && (strParts[1] == "rtmpt")){
strParts[3] = "80";
}else if((this._type == avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_RTMP)) && (strParts[1] == "rtmp")){
strParts[3] = "1935";
}else if(strParts[1] == "http"){
strParts[3] = "80";
}
this.correctVideoUrl = ((((strParts[1] + "://") + strParts[2] + ":") + strParts[3]) + strParts[4]);
}
this.presetType = 0;
EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_COMPLETE, this.id));
return;
}
xml = null;
EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_ERROR, this.id));
}
private function listenerError(hug1:Event):void
{ //MethodID:3302, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 54
this.deInitloader();
this.loading = false;
this.dataLoaded = true;
this.urlLoader = null;
this.correctVideoUrl = this.balancerRequest;
EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_ERROR, this.id));
}
}
}
//¡script301¡
package org.osmf.media{
//¡class(instance)_index:300
public class PluginInfoResource extends MediaResourceBase
{
//static constructor
public static function PluginInfoResource$cinit()
{ //MethodID:3304, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function PluginInfoResource(hug1:PluginInfo)
{ //MethodID:3305, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
super();
this._pluginInfo = hug1;
}
//variables/etc.
private var _pluginInfo:PluginInfo; //slotID:0
public function get pluginInfo():PluginInfo
{ //MethodID:3306, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._pluginInfo;
}
}
}
//¡script302¡
package ru.rutube.managers.playback.controller{
import org.osmf.events.LoadEvent
import ru.rutube.managers.statistic.player.PlayerStatistic
import ru.rutube.managers.statistic.player.StatisticAdvertisementLoading
//¡class(instance)_index:301
public class AdvertisementStreamController extends StreamController
{
//static constructor
public static function AdvertisementStreamController$cinit()
{ //MethodID:3308, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function AdvertisementStreamController(hug1:int=0)
{ //MethodID:3309, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7
super(hug1);
}
//variables/etc.
override protected function listenerLoadingStateChange(hug1:LoadEvent):void
{ //MethodID:3310, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
override protected function listenerTotalBytesChange(hug1:LoadEvent):void
{ //MethodID:3311, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 55
var hug2:StatisticAdvertisementLoading = null;
hug2 = PlayerStatistic.instance.statisticAdvertisementLoading;
hug2.reset();
hug2.totalBytes = hug1.bytes;
hug2.fileName = mediaPlayer.media.resource["url"];
hug2.startLoad();
}
override protected function listenerLoading(hug1:LoadEvent):void
{ //MethodID:3312, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 51
super.listenerLoading(hug1);
var hug2:StatisticAdvertisementLoading = PlayerStatistic.instance.statisticAdvertisementLoading;
if(hug2.totalBytes == hug1.bytes){
hug2.finishLoad();
PlayerStatistic.instance.sendInfo(PlayerStatistic.LOADING_ADVERTISEMENT);
}
}
}
}
//¡script303¡
package org.osmf.events{
import flash.events.Event
import org.osmf.media.MediaElement
import org.osmf.media.MediaResourceBase
//¡class(instance)_index:302
public class MediaFactoryEvent extends Event
{
//static constructor
public static function MediaFactoryEvent$cinit()
{ //MethodID:3314, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30
PLUGIN_LOAD = "pluginLoad";
PLUGIN_LOAD_ERROR = "pluginLoadError";
MEDIA_ELEMENT_CREATE = "mediaElementCreate";
}
//static variables/etc.
public static const PLUGIN_LOAD:String = "pluginLoad"; //slotID:1
public static const PLUGIN_LOAD_ERROR:String = "pluginLoadError";//slotID:2
public static const MEDIA_ELEMENT_CREATE:String = "mediaElementCreate";//slotID:3
//constructor
public function MediaFactoryEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false, hug4:MediaResourceBase=null, hug5:MediaElement=null)
{ //MethodID:3315, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 21
super(hug1, hug2, hug3);
this._resource = hug4;
this._mediaElement = hug5;
}
//variables/etc.
private var _mediaElement:MediaElement; //slotID:0
private var _resource:MediaResourceBase; //slotID:0
public function get resource():MediaResourceBase
{ //MethodID:3316, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._resource;
}
public function get mediaElement():MediaElement
{ //MethodID:3317, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this._mediaElement;
}
override public function clone():Event
{ //MethodID:3318, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 25
return new MediaFactoryEvent(type, bubbles, cancelable, this._resource, this._mediaElement);
}
}
}
//¡script304¡
package ru.rutube.managers.balancer{
import flash.utils.Dictionary
import ru.rutube.managers.cookie.CookieManager
//¡class(instance)_index:303
public class BalancerManager extends Object
{
//static constructor
public static function BalancerManager$cinit()
{ //MethodID:3320, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 55
BALANCER_LAST_TYPE = "BALANCER_LAST_TYPE";
BALANCER_LAST_TIME = "BALANCER_LAST_TIME";
BALANCER_TYPE_ID = "BALANCER_TYPE_ID";
BALANCER_SAVE_TIME = (1000 * 60 * 60 * 3);
_instance = null;
}
//static variables/etc.
private static const BALANCER_LAST_TYPE:String = "BALANCER_LAST_TYPE";//slotID:1
private static const BALANCER_LAST_TIME:String = "BALANCER_LAST_TIME";//slotID:2
private static const BALANCER_TYPE_ID:String = "BALANCER_TYPE_ID";//slotID:3
private static var BALANCER_SAVE_TIME:Number = 0xA4CB80; //slotID:4
private static var _instance:BalancerManager = null; //slotID:5
public static function get instance():BalancerManager
{ //dispID:3, MethodID:3321, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 47
if(!_instance){
_instance = new BalancerManager();
_instance.init();
BALANCER_SAVE_TIME = (1000 * 60 * 60 * 3);
}
return _instance;
}
//constructor
public function BalancerManager()
{ //MethodID:3322, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 31
super();
if(_instance) throw new Error("Need use 'instance' method for get instance of class");
_instance = this;
}
//variables/etc.
private var balancers:Dictionary = null; //slotID:0
private function init():void
{ //MethodID:3323, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14
this.balancers = new Dictionary();
}
public function isBalancerUrl(hug1:String):Boolean
{ //MethodID:3324, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 26
if(hug1 != null){
if(hug1.indexOf("bl.rutube.ru") >= 0) return true;
}
return false;
}
public function getResponder(hug1:int):BalancerResponder
{ //MethodID:3325, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 227
var hug3:Number = NaN;
var hug4:int = 0;
var hug5:int = 0;
var hug2:BalancerResponder = null;
hug2 = (this.balancers[hug1] as BalancerResponder);
if(!hug2){
hug2 = new BalancerResponder(hug1);
this.balancers[hug1] = hug2;
hug3 = 0;
hug4 = 0;
hug5 = CookieManager.instance.getLocalCookie(BALANCER_TYPE_ID);
if(hug5 == hug1){
hug3 = CookieManager.instance.getLocalCookie(BALANCER_LAST_TIME);
if(hug3 > 0){
if((new Date().time - hug3) > BALANCER_SAVE_TIME){
CookieManager.instance.setLocalCookie(BALANCER_LAST_TYPE, 0);
CookieManager.instance.setLocalCookie(BALANCER_LAST_TIME, 0);
CookieManager.instance.setLocalCookie(BALANCER_TYPE_ID, 0);
CookieManager.instance.flush();
}else{
hug4 = CookieManager.instance.getLocalCookie(BALANCER_LAST_TYPE);
if(BalancerResponder.isTypeAvalible(hug4)) hug2.setType(hug4);
}
}
}
}
return hug2;
}
public function removeResponder(hug1:int):BalancerResponder
{ //MethodID:3326, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 29
var hug2:BalancerResponder = (this.balancers[hug1] as BalancerResponder);
delete this.balancers[hug1];
return hug2;
}
public function saveCurrentBalancerType(hug1:BalancerResponder):void
{ //MethodID:3327, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 76
if(hug1 != null){
CookieManager.instance.setLocalCookie(BALANCER_LAST_TYPE, hug1.type);
CookieManager.instance.setLocalCookie(BALANCER_LAST_TIME, new Date().time);
CookieManager.instance.setLocalCookie(BALANCER_TYPE_ID, hug1.id);
CookieManager.instance.flush();
}
}
}
}
//¡script305¡
package ru.rutube.managers.balancer{
import flash.events.Event
//¡class(instance)_index:304
public class BalancerEvent extends Event
{
//static constructor
public static function BalancerEvent$cinit()
{ //MethodID:3329, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21
EVENT_BALANCER_COMPLETE = "EVENT_BALANCER_COMPLETE";
EVENT_BALANCER_ERROR = "EVENT_BALANCER_ERROR";
}
//static variables/etc.
public static const EVENT_BALANCER_COMPLETE:String = "EVENT_BALANCER_COMPLETE";//slotID:1
public static const EVENT_BALANCER_ERROR:String = "EVENT_BALANCER_ERROR";//slotID:2
//constructor
public function BalancerEvent(hug1:String, hug2:int=0, hug3:Boolean=false, hug4:Boolean=false)
{ //MethodID:3330, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15
super(hug1, hug3, hug4);
this.sourceId = hug2;
}
//variables/etc.
protected var sourceId:int = 0; //slotID:0
public function get id():int
{ //MethodID:3331, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7
return this.sourceId;
}
override public function clone():Event
{ //MethodID:3332, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 21
return new BalancerEvent(type, this.sourceId, bubbles, cancelable);
}
}
}
//¡script306¡
package ru.rutube.managers.voting{
import flash.events.Event
import flash.events.IOErrorEvent
import flash.net.URLLoader
import flash.net.URLRequest
import ru.rutube.event.EventManager
import ru.rutube.managers.configuration.data.MetaInfo
import ru.rutube.managers.configuration.data.VoteData
//¡class(instance)_index:305
public class VotingManager extends Object
{
//static constructor
public static function VotingManager$cinit()
{ //MethodID:3334, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
_instance = null;
}
//static variables/etc.
private static var _instance:VotingManager = null; //slotID:1
public static function get instance():VotingManager
{ //dispID:3, MethodID:3335, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new VotingManager();
return _instance;
}
//constructor
public function VotingManager()
{ //MethodID:3336, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 43
super();
if(_instance != null) throw new Error("You must use 'instance' method");
_instance = this;
this.voteData = new VoteData();
}
//variables/etc.
private var _voteResponce:VoteResponce = null; //slotID:0
private var voteData:VoteData = null; //slotID:0
public function initVoting(hug1:MetaInfo):void
{ //MethodID:3337, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 75
if(!hug1) return;
this.voteData.voteValue = hug1.votingValue;
this.voteData.voteUrl = hug1.urlVotingAction;
this.voteData.authUrl = hug1.urlAuthorize;
this.voteData.rating = hug1.contentRaiting;
this.voteData.ratingCounter = hug1.contentVoteCounter;
this.voteData.hideRating = hug1.contentVoteCounterHide;
}
public function get votinParams():VoteData
{ //MethodID:3338, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this.voteData.clone();
}
public function get voteResponce():VoteResponce
{ //MethodID:3339, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26
if(!this._voteResponce) this._voteResponce = new VoteResponce();
return this._voteResponce;
}
public function vote(hug1:int):Boolean
{ //MethodID:3340, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 108
if(this.voteData.voteUrl.length < 1) return false;
var hug2:String = this.voteData.voteUrl;
hug2 += ("&rating=" + ((hug1 > 0) ? "1" : "-1"));
var hug3:URLLoader = new URLLoader();
hug3.addEventListener(Event.COMPLETE, this.listenerVoteComplete);
hug3.addEventListener(IOErrorEvent.IO_ERROR, this.listenerVoteError);
hug3.load(new URLRequest(hug2));
return true;
}
private function listenerVoteComplete(hug1:Event):void
{ //MethodID:3341, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 83
var hug2:URLLoader = URLLoader(hug1.target);
hug2.removeEventListener(Event.COMPLETE, this.listenerVoteComplete);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerVoteError);
this.voteResponce.parce(hug2.data);
hug2 = null;
EventManager.instance.dispatchEvent(new Event(VoteEvent.VOTING_SUCCESS));
}
private function listenerVoteError(hug1:IOErrorEvent):void
{ //MethodID:3342, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 66
var hug2:URLLoader = URLLoader(hug1.target);
hug2.removeEventListener(Event.COMPLETE, this.listenerVoteComplete);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerVoteError);
EventManager.instance.dispatchEvent(new Event(VoteEvent.VOTING_FAILED));
}
}
}
//¡script307¡
package ru.rutube.managers.playback.stream{
import flash.events.Event
//¡class(instance)_index:306
public class StreamEvent extends Event
{
//static constructor
public static function StreamEvent$cinit()
{ //MethodID:3344, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 93
STREAM_START = "STREAM_START";
STREAM_PAUSE = "STREAM_PAUSE";
STREAM_RESUME = "STREAM_RESUME";
STREAM_STOP = "STREAM_STOP";
STREAM_CLOSE = "STREAM_CLOSE";
STREAM_AVALIBLE = "STREAM_AVALIBLE";
STREAM_BANDWIDTH_RECEIVE = "STREAM_BANDWIDTH_RECEIVE";
EVENT_STREAM_NOT_FOUND = "EVENT_STREAM_NOT_FOUND";
CONNECTION_ERROR = "CONNECTION_ERROR";
STREAM_INTERNAL_ERROR = "STREAM_INTERNAL_ERROR";
}
//static variables/etc.
public static const STREAM_START:String = "STREAM_START"; //slotID:1
public static const STREAM_PAUSE:String = "STREAM_PAUSE"; //slotID:2
public static const STREAM_RESUME:String = "STREAM_RESUME"; //slotID:3
public static const STREAM_STOP:String = "STREAM_STOP"; //slotID:4
public static const STREAM_CLOSE:String = "STREAM_CLOSE"; //slotID:5
public static const STREAM_AVALIBLE:String = "STREAM_AVALIBLE"; //slotID:6
public static const STREAM_BANDWIDTH_RECEIVE:String = "STREAM_BANDWIDTH_RECEIVE";//slotID:7
public static const EVENT_STREAM_NOT_FOUND:String = "EVENT_STREAM_NOT_FOUND";//slotID:8
public static const CONNECTION_ERROR:String = "CONNECTION_ERROR";//slotID:9
public static const STREAM_INTERNAL_ERROR:String = "STREAM_INTERNAL_ERROR";//slotID:10
//constructor
public function StreamEvent(hug1:String, hug2:int, hug3:Boolean=false, hug4:Boolean=false)
{ //MethodID:3345, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15
super(hug1, hug3, hug4);
this.streamId = hug2;
}
//variables/etc.
public var streamId:int = 0; //slotID:0
override public function clone():Event
{ //MethodID:3346, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 25
var hug1:StreamEvent = new StreamEvent(type, this.streamId, bubbles, cancelable);
return hug1;
}
}
}
//¡script308¡
package ru.rutube.managers.cookie{
import flash.net.SharedObject
//¡class(instance)_index:307
public class CookieManager extends Object
{
//static constructor
public static function CookieManager$cinit()
{ //MethodID:3348, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
_instance = null;
}
//static variables/etc.
private static var _instance:CookieManager = null; //slotID:1
public static function get instance():CookieManager
{ //dispID:3, MethodID:3349, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new CookieManager();
return _instance;
}
//constructor
public function CookieManager()
{ //MethodID:3350, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37
super();
if(_instance != null) throw new Error("You must call instance for get object");
_instance = this;
this.init();
}
//variables/etc.
private var remoteSharedObject:SharedObject = null; //slotID:0
private var localSharedObject:SharedObject = null; //slotID:0
private function init():void
{ //MethodID:3351, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 17
this.localSharedObject = SharedObject.getLocal("FlvPlayer3");
}
public function getLocalCookie(hug1:String):*
{ //MethodID:3352, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 32
if(this.localSharedObject.data.hasOwnProperty(hug1)) return this.localSharedObject.data[hug1];
return null;
}
public function setLocalCookie(hug1:String, hug2:*):void
{ //MethodID:3353, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 15
this.localSharedObject.data[hug1] = hug2;
}
public function flush():void
{ //MethodID:3354, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
this.localSharedObject.flush();
}
public function get playerVolume():Number
{ //MethodID:3355, LocalCount= 3 , MaxScope= 5, MaxStack= 4, CodeLength= 132
internal var defaultVolume:Number; //slotID:1
internal var result:Number; //slotID:2
result = NaN;
defaultVolume = 0.6;
try{
result = Number((this.getLocalCookie(CookieTypes.PLAYER_VOLUME) == null) ? defaultVolume : this.getLocalCookie(CookieTypes.PLAYER_VOLUME));
if((result >= 0) && (result <= 1)) return result;
this.playerVolume = defaultVolume;
return defaultVolume;
}
catch(error:Error){
}
return defaultVolume;
}
public function set playerVolume(hug1:Number):void
{ //MethodID:3356, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 52
internal var value:Number; //slotID:1
value = hug1;
try{
this.setLocalCookie(CookieTypes.PLAYER_VOLUME, value);
this.flush();
}
catch(error:Error){
}
}
}
}
//¡script309¡
package ru.rutube.command{
import flash.events.Event
//¡class(instance)_index:308
public interface ICommad
{
//static constructor
public static function ICommad$cinit()
{ //MethodID:3358, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1
}
//variables/etc.
function execute(hug1:Event):void; //MethodID:3359, dispID:0
//constructor
public function ICommad(); //MethodID:3360, dispID:0
}
}
//¡script310¡
package ru.rutube.command.commands.streaming{
import flash.events.Event
import flash.events.TimerEvent
import flash.utils.Timer
import ru.rutube.managers.PopUpManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerEvent
import ru.rutube.managers.playback.controller.StreamControllerManager
//¡class(instance)_index:309
public class CommandStreamMediaEvents extends Object implements ICommad
{
//static constructor
public static function CommandStreamMediaEvents$cinit()
{ //MethodID:3362, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandStreamMediaEvents()
{ //MethodID:3363, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3364, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 832
var hug2:StreamControllerEvent = (hug1 as StreamControllerEvent);
var hug3:String = null;
var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
var hug5:Object = hug2.body;
switch(hug2.type){
case StreamControllerEvent.EVENT_MEDIA_ON_EOF:
Controller.instance.m_trySwitchCounter++;
if((Controller.instance.m_fileArray.length > 1) && (Controller.instance.m_trySwitchCounter <= Controller.instance.m_fileArray.length)){
Controller.instance.m_fileIndex++;
if(Controller.instance.m_fileIndex == Controller.instance.m_fileArray.length) Controller.instance.m_fileIndex = 0;
hug4.preBalancedUrl = Controller.instance.m_fileArray[Controller.instance.m_fileIndex];
hug4.stop();
Controller.instance.TryLiveSwitch();
}else{
Controller.instance.OnBnStop();
}
break;
case StreamControllerEvent.EVENT_MEDIA_ON_ERROR:
Controller.instance.OnLiveErrorOld(hug5.uid, hug5.msg);
break;
case StreamControllerEvent.EVENT_MEDIA_RTMS_EOF:
if(hug4.isLive){
Controller.instance.OnBnStop();
}else{
hug4.stop();
}
break;
case StreamControllerEvent.EVENT_MEDIA_RTMS_REDIRECT:
break;
case StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_AUTH:
hug3 = "„D„|„‘ „„‚„€„ƒ„}„€„„„‚„p „~„u„€„q„‡„€„t„y„}„€ „p„r„„„€„‚„y„x„€„r„p„„„„ƒ„‘.";
Controller.instance.OnBnStop();
PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3);
break;
case StreamControllerEvent.EVENT_MEDIA_RTMS_FORBID:
hug3 = ("„D„€„ƒ„„„…„ „{ „„„‚„p„~„ƒ„|„‘„ˆ„y„y „x„p„„‚„u„‹„u„~: " + hug5);
Controller.instance.OnBnStop();
PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3);
break;
case StreamControllerEvent.EVENT_MEDIA_RTMS_RETRY_LATTER:
Controller.instance.stopMovie();
trace("rtms_retry_latter(" + hug5 + ")");
if(Controller.instance.m_rtmsRetryTimer == null){
Controller.instance.m_rtmsRetryInterval = (Number(hug5) * 1000);
Controller.instance.m_rtmsRetryTimer = new Timer(Controller.instance.m_rtmsRetryInterval);
Controller.instance.m_rtmsRetryTimer.addEventListener(TimerEvent.TIMER, Controller.instance.onRTMS_RetryTimer);
}
Controller.instance.m_rtmsRetryTimer.start();
break;
case StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_FOUND:
hug3 = "„S„‚„p„~„ƒ„|„‘„ˆ„y„‘ „x„p„{„€„~„‰„u„~„p „y„|„y „„‚„u„‚„r„p„~„p.";
Controller.instance.OnBnStop();
PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3);
break;
case StreamControllerEvent.EVENT_MEDIA_RTMS_ERROR:
hug3 = ("„O„Š„y„q„{„p: " + hug5);
Controller.instance.OnBnStop();
PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3);
break;
case StreamControllerEvent.EVENT_MEDIA_RTMS_WARNING:
hug3 = ("„O„Š„y„q„{„p: " + hug5);
Controller.instance.OnBnStop();
PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3);
break;
default:
break;
}
}
}
}
//¡script311¡
package ru.rutube.command.commands.streaming{
import flash.events.Event
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerManager
//¡class(instance)_index:310
public class CommandStreamDurationChange extends Object implements ICommad
{
//static constructor
public static function CommandStreamDurationChange$cinit()
{ //MethodID:3366, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandStreamDurationChange()
{ //MethodID:3367, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3368, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 75
var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
if((hug2.duration < ConfigurationManager.instance.flashVariablesConfig.bookMarkStartTime) && (hug2.duration > 0)){
ConfigurationManager.instance.flashVariablesConfig.bookMarkStartTime = 0;
Controller.instance.initBookmarks();
}
}
}
}
//¡script312¡
package Components{
import Components.EndScreen.MenuPanel
import flash.display.Graphics
import flash.display.Sprite
import flash.events.Event
import flash.events.EventDispatcher
import flash.events.MouseEvent
import flash.text.TextField
import flash.text.TextFieldAutoSize
import flash.text.TextFormat
import ru.rutube.event.EventManager
import ru.rutube.event.FunctionalPanelEvent
//¡class(instance)_index:311
public class FunctionalPanel extends Component
{
//static constructor
public static function FunctionalPanel$cinit()
{ //MethodID:3370, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75
DISPLAY_VOTE = 0;
DISPLAY_VOTE_PANEL = 1;
DISPLAY_BUTTONS = 2;
DISPLAY_FULLSCREEN_BUTTON = 3;
DISPLAY_SNAPSHOT_BUTTON = 4;
DISPLAY_FAVORITE_BUTTON = 5;
DISPLAY_MESSAGE_BUTTON = 6;
DISPLAY_PLAYLIST_BUTTON = 7;
DISPLAY_LOGO_BUTTON = 8;
}
//static variables/etc.
public static const DISPLAY_VOTE:uint = 0; //slotID:1
public static const DISPLAY_VOTE_PANEL:uint = 1; //slotID:2
public static const DISPLAY_BUTTONS:uint = 2; //slotID:3
public static const DISPLAY_FULLSCREEN_BUTTON:uint = 3; //slotID:4
public static const DISPLAY_SNAPSHOT_BUTTON:uint = 4; //slotID:5
public static const DISPLAY_FAVORITE_BUTTON:uint = 5; //slotID:6
public static const DISPLAY_MESSAGE_BUTTON:uint = 6; //slotID:7
public static const DISPLAY_PLAYLIST_BUTTON:uint = 7; //slotID:8
public static const DISPLAY_LOGO_BUTTON:uint = 8; //slotID:9
//constructor
public function FunctionalPanel(hug1:EventDispatcher=null):void
{ //MethodID:3371, LocalCount= 8 , MaxScope= 1, MaxStack= 13, CodeLength= 1055
var hug4:Button = null;
var hug5:uint = 0;
this.voiceUpButton = new Button(SkinManager.getSkin("VoiceUpButtonSkin"));
this.voiceDownButton = new Button(SkinManager.getSkin("VoiceDownButtonSkin"));
this.statusVote = new StatusVote();
this.voices = new TextField();
this.snapshotButton = new Button(SkinManager.getSkin("SnapshotButtonSkin"));
this.screenButton = new Button();
this.screenText = new TextField();
this.logoButton = new Button(SkinManager.getSkin("LogoFButtonSkin"));
this.favoriteButton = new Button(SkinManager.getSkin("FavoriteButtonSkin2"));
this.messageButton = new Button(SkinManager.getSkin("MessageButtonSkin2"));
this.playlistButton = new Button(SkinManager.getSkin("PlaylistButtonSkin2"));
this.showMenuArea = new Sprite();
super(hug1);
size(this.WIDTH, this.HEIGHT, false, 240, this.HEIGHT, 0, this.HEIGHT);
setSkin(SkinManager.getSkin("FunctionalPanelSkin"));
addChild(this.showMenuArea);
this.showMenuArea.addEventListener(MouseEvent.ROLL_OVER, this.onShowMenuHandler);
var hug2:Number = (this.HEIGHT / 2);
this.voiceUpButton.hint = "„s„€„|„€„ƒ \"„x„p\"";
addChild(this.voiceUpButton);
this.voiceUpButton.params({y:hug2});
this.voiceUpButton.addEventListener(MouseEvent.MOUSE_UP, this.onVote);
this.voiceDownButton.hint = "„s„€„|„€„ƒ \"„„‚„€„„„y„r\"";
addChild(this.voiceDownButton);
this.voiceDownButton.params({x:5, y:hug2});
this.voiceDownButton.addEventListener(MouseEvent.MOUSE_UP, this.onVote);
addChild(this.statusVote);
this.statusVote.params({y:hug2});
this.voices.selectable = false;
this.voices.autoSize = TextFieldAutoSize.LEFT;
this.voices.defaultTextFormat = new TextFormat("Arial", 11, 0xC8C8C8);
this.voices.text = "0";
addChild(this.voices);
this.voices.y = 4;
var hug3:Array = [];
if(SkinManager.theme == null) this.logoButton.hint = "„„u„‚„u„z„„„y „~„p rutube.ru";
hug3.push(addChild(this.logoButton));
this.logoButton.visible = false;
this.logoButton.params({h:this.logoButton.height, y:0.5, yP:true, yM:true, left:false, right:true});
this.snapshotButton.hint = "„…„ƒ„„„p„~„€„r„y„„„ „{„p„t„‚ „{„p„{ „€„q„|„€„w„{„… „‚„€„|„y„{„p";
hug3.push(addChild(this.snapshotButton));
this.snapshotButton.params({h:this.snapshotButton.height, y:0.5, yP:true, yM:true, left:false, right:true});
hug3.push(addChild(this.screenButton));
this.screenText.selectable = false;
this.screenText.autoSize = TextFieldAutoSize.LEFT;
this.screenText.defaultTextFormat = new TextFormat("_sans", 12, 0xFFFFFF, false, false, true);
this.screenButton.addChild(this.screenText);
this.screenText.y = -2;
this.screenText.text = "„‚„p„x„r„u„‚„~„…„„„";
this.screenButton.onChangeStateFunction = this.onChageStateFullScreenButton;
this.screenButton.useModes(true, "default", ["default"]);
this.screenButton.params({h:this.screenButton.height, y:0.5, yP:true, yM:true, left:false, right:true});
this.favoriteButton.hint = "„t„€„q„p„r„y„„„ „r „y„x„q„‚„p„~„~„€„u";
hug3.push(addChild(this.favoriteButton));
this.playlistButton.hint = "„t„€„q„p„r„y„„„ „r „„|„u„z„|„y„ƒ„„";
hug3.push(addChild(this.playlistButton));
this.messageButton.hint = "„ƒ„€„€„q„‹„y„„„ „p„t„}„y„~„y„ƒ„„„‚„p„ˆ„y„y";
hug3.push(addChild(this.messageButton));
var hug6:Number = hug2;
this.playlistButton.y = hug6;
this.messageButton.y = hug6;
this.favoriteButton.y = hug6;
for each(hug4 in hug3){
hug4.addEventListener(MouseEvent.CLICK, this.onPressButton);
}
this.allowComponents = new Array(8);
hug5 = 0;
while(hug5 < this.allowComponents.length){
this.allowComponents[hug5] = true;
hug5++;
}
this.allowComponents[8] = false;
this.displayMode([], false, true);
}
//variables/etc.
private var voices:TextField; //slotID:0
private var $menu:MenuPanel = null; //slotID:0
private var statusVote:StatusVote; //slotID:0
private var snapshotButton:Button; //slotID:0
private var messageButton:Button; //slotID:0
private var transparentBackground:Boolean = true; //slotID:0
private var playlistButton:Button; //slotID:0
private const WIDTH:Number = 400.0; //slotID:0
private const HEIGHT:uint = 25; //slotID:0
private var showMenuArea:Sprite; //slotID:0
public var lockMenu:Boolean = false; //slotID:0
private var screenText:TextField; //slotID:0
private var logoButton:Button; //slotID:0
private var screenButton:Button; //slotID:0
private var allowComponents:Array; //slotID:0
private var voiceDownButton:Button; //slotID:0
private var _forbidShow:Boolean = false; //slotID:0
private var favoriteButton:Button; //slotID:0
private var voiceUpButton:Button; //slotID:0
public function forbidShow():void
{ //MethodID:3372, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13
this.visible = false;
this._forbidShow = true;
}
override public function set visible(hug1:Boolean):void
{ //MethodID:3373, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17
if(this._forbidShow) return;
super.visible = hug1;
}
public function showFullScreenOption(hug1:Boolean):void
{ //MethodID:3374, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11
this.screenText.visible = hug1;
}
public function displayMode(hug1:Array, hug2:*, hug3:Boolean=false):void
{ //MethodID:3375, LocalCount= 8 , MaxScope= 1, MaxStack= 6, CodeLength= 656
var hug4:Boolean = false;
if(!hug1){
hug1 = [];
}else if(!hug1.length){
hug1.push(DISPLAY_VOTE_PANEL, DISPLAY_BUTTONS);
}
var hug5:uint = 0;
while(hug5 < hug1.length){
hug4 = ((hug2 is Array) ? hug2[hug5] : hug2);
var hug7:Array = hug1[hug5];
switch(hug7){
case DISPLAY_VOTE:
var hug7:Boolean = hug4;
this.voiceDownButton.visible = hug7;
this.voiceUpButton.visible = hug7;
break;
case DISPLAY_VOTE_PANEL:
var hug7:Boolean = hug4;
this.voices.visible = hug7;
this.statusVote.visible = hug7;
this.voiceDownButton.visible = hug7;
this.voiceUpButton.visible = hug7;
break;
case DISPLAY_BUTTONS:
var hug7:Boolean = hug4;
this.snapshotButton.visible = hug7;
this.screenButton.visible = hug7;
break;
case DISPLAY_FULLSCREEN_BUTTON:
this.screenButton.visible = hug4;
break;
case DISPLAY_SNAPSHOT_BUTTON:
this.snapshotButton.visible = hug4;
break;
case DISPLAY_FAVORITE_BUTTON:
this.favoriteButton.visible = hug4;
break;
case DISPLAY_MESSAGE_BUTTON:
this.messageButton.visible = hug4;
break;
case DISPLAY_PLAYLIST_BUTTON:
this.playlistButton.visible = hug4;
break;
case DISPLAY_LOGO_BUTTON:
this.logoButton.visible = hug4;
break;
default:
break;
}
this.allowComponents[hug1[hug5]] = hug4;
hug5++;
}
var hug6:Boolean = (this.allowComponents[DISPLAY_VOTE_PANEL] && !this.allowComponents[DISPLAY_VOTE]);
this.statusVote.params({x:(hug6 ? 5 : 26)}, false, true, false, false);
this.statusVote.onResize(null, _width, _height);
this.voices.x = (this.statusVote.x + this.statusVote.width + 5);
this.voiceUpButton.x = (this.voices.x + this.voices.width + 5);
this.updateLayoutRightButton();
if(!hug3){
onPaint();
}else{
this.updateLayoutMenuButtons();
}
}
private function updateLayoutRightButton():void
{ //MethodID:3376, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 91
var hug1:Number = (this.WIDTH - this.screenButton.width - 5);
this.screenButton.params({x:hug1, yP:true}, false, true, false, false);
hug1 -= 26;
this.snapshotButton.params({x:hug1, yP:true}, false, true, false, false);
this.logoButton.params({x:(hug1 - 26)}, false, true, false, false);
}
private function onShowMenuHandler(hug1:MouseEvent):void
{ //MethodID:3377, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 23
EventManager.instance.dispatchEvent(new Event(FunctionalPanelEvent.EVENT_MENU));
}
private function updateLayoutMenuButtons():void
{ //MethodID:3378, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 180
var hug3:Button = null;
var hug1:Number = (10 + ((this.allowComponents[DISPLAY_VOTE_PANEL] && this.voices.visible) ? (this.voices.x + this.voices.width) : 0));
hug1 = (this.voiceUpButton.visible ? (this.voiceUpButton.x + this.voiceUpButton.width + 10) : hug1);
var hug2:Array = [this.favoriteButton, this.playlistButton, this.messageButton];
for each(hug3 in hug2){
if(hug3.visible){
hug3.x = hug1;
hug1 += 26;
}
}
this.showMenuArea.x = hug1;
}
public function displayModeButton(hug1:uint, hug2:String):void
{ //MethodID:3379, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 95
var hug3:uint = hug1;
switch(hug3){
case DISPLAY_FULLSCREEN_BUTTON:
this.screenText.text = ((hug2 == "0") ? "„‚„p„x„r„u„‚„~„…„„„" : "„ƒ„r„u„‚„~„…„„„");
this.updateLayoutRightButton();
onPaint();
break;
default:
break;
}
}
public function set background(hug1:Boolean):void
{ //MethodID:3380, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16
this.transparentBackground = !hug1;
onPaint();
}
public function paramVote(hug1:Number, hug2:uint):void
{ //MethodID:3381, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 43
this.statusVote.status = hug1;
this.voices.text = ((hug2 > 0x98967F) ? "9999999+" : hug2.toString());
this.updateLayoutMenuButtons();
}
private function onPressButton(hug1:MouseEvent):void
{ //MethodID:3382, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 217
var hug2:String = FunctionalPanelEvent.EVENT_FULLSCREEN;
switch(hug1.currentTarget){
case this.snapshotButton:
hug2 = FunctionalPanelEvent.EVENT_SNAPSHOT;
break;
case this.favoriteButton:
hug2 = FunctionalPanelEvent.EVENT_FAVORITES;
break;
case this.playlistButton:
hug2 = FunctionalPanelEvent.EVENT_PLAYLIST;
break;
case this.messageButton:
hug2 = FunctionalPanelEvent.EVENT_MESSAGE;
break;
case this.logoButton:
hug2 = FunctionalPanelEvent.EVENT_LOGO;
break;
default:
break;
}
EventManager.instance.dispatchEvent(new Event(hug2));
}
private function onVote(hug1:MouseEvent):void
{ //MethodID:3383, LocalCount= 3 , MaxScope= 1, MaxStack= 6, CodeLength= 92
EventManager.instance.dispatchEvent(new ParamEvent(FunctionalPanelEvent.EVENT_VOTE, {value:((hug1.currentTarget == this.voiceUpButton) ? 1 : (-1))}));
var hug2:Number = Number(this.voices.text);
if(!isNaN(hug2)) hug2++;
this.voices.text = hug2.toString();
}
private function onChageStateFullScreenButton(hug1:String):void
{ //MethodID:3384, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 110
var hug2:uint = 0;
var hug3:String = hug1;
switch(hug3){
case Button.STATE_OVER:
hug2 = 0xAFFE9A;
break;
case Button.STATE_DOWN:
hug2 = 0x62DC2C;
break;
default:
hug2 = 0xC8C8C8;
break;
}
this.screenText.textColor = hug2;
}
override protected function onUpdate(hug1:Number, hug2:Number):void
{ //MethodID:3385, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 297
if(skin){
skin.width = hug1;
skin.height = hug2;
}else{
graphics.clear();
if(this.transparentBackground){
graphics.beginFill(0, 0.5);
}else{
graphics.beginFill(0x303132);
}
graphics.drawRect(0, 0, hug1, hug2);
}
if(this.allowComponents[DISPLAY_VOTE_PANEL]){
var hug4:Boolean = (hug1 > 370);
this.voices.visible = hug4;
this.statusVote.visible = hug4;
if(this.allowComponents[DISPLAY_VOTE]){
this.voiceDownButton.visible = this.statusVote.visible;
this.voiceUpButton.visible = this.statusVote.visible;
}
}
this.updateLayoutMenuButtons();
this.logoButton.onResize();
if(this.snapshotButton.visible) this.snapshotButton.onResize(null, hug1, hug2);
if(this.screenButton.visible) this.screenButton.onResize(null, hug1, hug2);
var hug3:Graphics = this.showMenuArea.graphics;
hug3.clear();
hug3.beginFill(0xFF00, 0);
hug3.drawRect(0, 0, ((this.logoButton.x - this.showMenuArea.x) + (this.logoButton.visible ? 0 : this.logoButton.width) - 2), hug2);
}
}
}
//¡script313¡
package ru.rutube.command.commands.ui{
import Components.Player
import flash.events.Event
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.EventManager
import ru.rutube.event.GoogleEvent
import ru.rutube.managers.advertisement.AdvertisementControllerManager
import ru.rutube.managers.advertisement.AdvertisementManager
import ru.rutube.managers.advertisement.AdvertisementType
import ru.rutube.managers.advertisement.model.Advertisement
import ru.rutube.managers.advertisement.visual.controller.AdvertisementController
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.data.MetaInfo
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.managers.statistic.google.GoogleAnalyticsConstants
import ru.rutube.states.PlayerState
//¡class(instance)_index:312
public class CommandUIPause extends Object implements ICommad
{
//static constructor
public static function CommandUIPause$cinit()
{ //MethodID:3387, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandUIPause()
{ //MethodID:3388, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3389, LocalCount= 8 , MaxScope= 1, MaxStack= 7, CodeLength= 260
var hug6:Advertisement = null;
var hug7:AdvertisementController = null;
var hug2:Boolean = false;
var hug3:MetaInfo = ConfigurationManager.instance.metaInfo;
var hug4:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
Controller.instance.pauseMovie();
if(Controller.instance.currentState == PlayerState.STATE_PREVIEW) return;
Controller.instance.switchState(PlayerState.STATE_PAUSED);
var hug5:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
hug2 = (hug1.type == ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT);
if(hug3.pauseView.isInitialized && hug4.setAdViewMode(true, true) && !hug2){
hug6 = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_PAUSE);
hug7 = AdvertisementControllerManager.instance.getControllerByModel(hug6);
hug7.show();
}else{
hug4.setAdViewMode(false, false);
}
if(!hug2) EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_PAUSE_USER, hug5.time.toString(), hug3.category));
}
}
}
//¡script314¡
package ru.rutube.managers.advertisement.event{
import flash.events.Event
//¡class(instance)_index:313
public class AdvertisementControllerEvent extends Event
{
//static constructor
public static function AdvertisementControllerEvent$cinit()
{ //MethodID:3391, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 156
ADV_CONTROLLER_SHOW = "ADV_CONTROLLER_SHOW";
ADV_CONTROLLER_HIDE = "ADV_CONTROLLER_HIDE";
ADV_CONTROLLER_CLOSE = "ADV_CONTROLLER_CLOSE";
ADV_CONTROLLER_FINISH = "ADV_CONTROLLER_FINISH";
ADV_CONTROLLER_ERROR = "ADV_CONTROLLER_ERROR";
ADV_CONTROLLER_CLICK = "ADV_CONTROLLER_CLICK";
ADV_CONTROLLER_PAUSE = "ADV_CONTROLLER_PAUSE";
EVENT_SHOW_FLVBANNER = "EVENT_SHOW_FLVBANNER";
EVENT_SHOW_BANNER = "EVENT_SHOW_BANNER";
ADV_CONTEXT_HIDE = "ADV_CONTEXT_ERROR";
ADV_CONTEXT_ERROR = "ADV_CONTEXT_ERROR";
ADV_CONTEXT_CLICK = "ADV_CONTEXT_CLICK";
ADV_CONTEXT_LOADEDR = "ADV_CONTEXT_LOADEDR";
ADV_CONTEXT_NONE = "ADV_CONTEXT_NONE";
ADV_OVERLAY_NONE = "ADV_OVERLAY_NONE";
ADV_OVERLAY_ERROR = "ADV_OVERLAY_ERROR";
ADV_OVERLAY_LINK = "ADV_OVERLAY_LINK";
}
//static variables/etc.
public static const ADV_CONTROLLER_SHOW:String = "ADV_CONTROLLER_SHOW";//slotID:1
public static const ADV_CONTROLLER_HIDE:String = "ADV_CONTROLLER_HIDE";//slotID:2
public static const ADV_CONTROLLER_CLOSE:String = "ADV_CONTROLLER_CLOSE";//slotID:3
public static const ADV_CONTROLLER_FINISH:String = "ADV_CONTROLLER_FINISH";//slotID:4
public static const ADV_CONTROLLER_ERROR:String = "ADV_CONTROLLER_ERROR";//slotID:5
public static const ADV_CONTROLLER_CLICK:String = "ADV_CONTROLLER_CLICK";//slotID:6
public static const ADV_CONTROLLER_PAUSE:String = "ADV_CONTROLLER_PAUSE";//slotID:7
public static const EVENT_SHOW_FLVBANNER:String = "EVENT_SHOW_FLVBANNER";//slotID:8
public static const EVENT_SHOW_BANNER:String = "EVENT_SHOW_BANNER";//slotID:9
public static const ADV_CONTEXT_HIDE:String = "ADV_CONTEXT_ERROR";//slotID:10
public static const ADV_CONTEXT_ERROR:String = "ADV_CONTEXT_ERROR";//slotID:11
public static const ADV_CONTEXT_CLICK:String = "ADV_CONTEXT_CLICK";//slotID:12
public static const ADV_CONTEXT_LOADEDR:String = "ADV_CONTEXT_LOADEDR";//slotID:13
public static const ADV_CONTEXT_NONE:String = "ADV_CONTEXT_NONE";//slotID:14
public static const ADV_OVERLAY_NONE:String = "ADV_OVERLAY_NONE";//slotID:15
public static const ADV_OVERLAY_ERROR:String = "ADV_OVERLAY_ERROR";//slotID:16
public static const ADV_OVERLAY_LINK:String = "ADV_OVERLAY_LINK";//slotID:17
//constructor
public function AdvertisementControllerEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false)
{ //MethodID:3392, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9
super(hug1, hug2, hug3);
}
}
}
//¡script315¡
package ru.rutube.command.commands.advertisement.overlay{
import flash.events.Event
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.states.PlayerState
//¡class(instance)_index:314
public class CommandAdvertisementOverlayClick extends Object implements ICommad
{
//static constructor
public static function CommandAdvertisementOverlayClick$cinit()
{ //MethodID:3394, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandAdvertisementOverlayClick()
{ //MethodID:3395, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3396, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 40
var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
hug2.pause();
Controller.instance.switchState(PlayerState.STATE_PAUSED);
}
}
}
//¡script316¡
package Data{
import Components.EndScreen.Frame
import flash.display.Bitmap
import flash.display.BitmapData
import flash.display.Loader
import flash.events.Event
import flash.events.IOErrorEvent
import flash.net.URLRequest
import flash.system.LoaderContext
//¡class(instance)_index:315
public class TSearchItem extends Object
{
//static constructor
public static function TSearchItem$cinit()
{ //MethodID:3398, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//variables/etc.
public var hits:uint = 0; //slotID:0
public var preview:String = ""; //slotID:0
public var name:String = ""; //slotID:0
public var author:String = ""; //slotID:0
private var loader:Loader = null; //slotID:0
public var duration:uint = 0; //slotID:0
public var timeInfo:String = ""; //slotID:0
public var rating:Number = 0.0; //slotID:0
public var page_link:String = ""; //slotID:0
private var frame:Frame = null; //slotID:0
public var date:String = ""; //slotID:0
public var comments:uint = 0; //slotID:0
public var view_count:int = 0; //slotID:0
public var description:String = ""; //slotID:0
public function init():void
{ //MethodID:3399, LocalCount= 3 , MaxScope= 5, MaxStack= 4, CodeLength= 198
this.clear();
this.rating /= 1000;
if(!isNaN(this.duration) && (this.duration > 0)) this.timeInfo = Controller.getTimeInfo(this.duration);
if(this.preview.length == 0) return;
if(!this.loader){
this.loader = new Loader();
this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onCompleteHandler);
this.loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, trace);
}
try{
this.loader.load(new URLRequest(this.preview), new LoaderContext(true));
}
catch(error:SecurityError){
trace("TSearchItem.init:", error);
}
}
public function clear():void
{ //MethodID:3400, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24
if(this.loader) this.loader.unload();
this.frame = null;
}
public function assignFrame(hug1:Frame):void
{ //MethodID:3401, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 65
this.frame = hug1;
if(hug1) hug1.bitmapData = ((this.loader && this.loader.content) ? (this.loader.content as Bitmap).bitmapData : null);
}
private function onCompleteHandler(hug1:Event):void
{ //MethodID:3402, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 126
internal var event:Event; //slotID:1
internal var loader:Loader; //slotID:2
event = hug1;
loader = Loader(event.target.loader);
try{
if(loader.content is Bitmap){
if(this.frame) this.frame.bitmapData = (loader.content as Bitmap).bitmapData;
}else{
loader.unload();
}
}
catch(error:SecurityError){
trace("TSearchItem.onCompleteHandler:", error);
}
}
//constructor
public function TSearchItem()
{ //MethodID:3403, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script317¡
package ru.rutube.command.commands.voting{
import Components.Player
import flash.events.Event
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.voting.VoteResponce
import ru.rutube.managers.voting.VotingManager
//¡class(instance)_index:316
public class CommandVotingSuccess extends Object implements ICommad
{
//static constructor
public static function CommandVotingSuccess$cinit()
{ //MethodID:3405, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandVotingSuccess()
{ //MethodID:3406, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3407, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 100
var hug3:Player = null;
var hug2:VoteResponce = VotingManager.instance.voteResponce;
if(hug2.isError){
Player.alert(hug2.errorMessage);
}else{
hug3 = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
hug3.getFunctional().paramVote((hug2.ratingValue / 5), hug2.ratingPerson);
Player.alert(RutubeConstants.TEXT_VOTING_SUCCESS);
}
}
}
}
//¡script318¡
package ru.rutube.command.commands.streaming{
import Components.LockPanel
import flash.events.Event
import flash.geom.Rectangle
import ru.rutube.event.EventManager
import ru.rutube.managers.balancer.BalancerEvent
import ru.rutube.managers.balancer.BalancerManager
import ru.rutube.managers.balancer.BalancerResponder
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerEvent
import ru.rutube.managers.reporter.Reporter
import ru.rutube.states.PlayerState
//¡class(instance)_index:317
public class CommandStreamError extends Object implements ICommad
{
//static constructor
public static function CommandStreamError$cinit()
{ //MethodID:3409, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandStreamError()
{ //MethodID:3410, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3411, LocalCount= 6 , MaxScope= 1, MaxStack= 11, CodeLength= 344
var hug3:LockPanel = null;
var hug4:Rectangle = null;
var hug5:BalancerResponder = null;
var hug2:StreamControllerEvent = (hug1 as StreamControllerEvent);
if(hug2.controllerType != StreamController.CONTROLLER_MAIN_STREAM) return;
if(hug2.body == 16){
Controller.instance.m_AdPostViewLocked = true;
Controller.instance.OnBnStop();
hug3 = null;
hug3 = new LockPanel("„^„„„€„„ „‚„€„|„y„{ „…„t„p„|„u„~.\n„P„€„ƒ„}„€„„„‚„y„„„u „t„‚„…„s„y„u „‚„€„|„y„{„y „~„p „ƒ„p„z„„„u Rutube.ru.", true);
Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_DELETED);
ContentManager.instance.setContentById(ContentIds.LOCK_PANEL, hug3);
ContentManager.instance.addContent(ContentIds.LOCK_PANEL);
hug4 = RutubePlayer.instance.getPlayerRectangle();
hug3.params({w:hug4.width, h:hug4.height, right:true, bottom:true, stage:true});
Controller.instance.switchState(PlayerState.STATE_NOT_AVALIBLE);
}else if((hug2.body == 14) || (hug2.body == 13)){
hug5 = BalancerManager.instance.getResponder(BalancerResponder.BALANCER_MAIN);
if(!hug5.isLastType()){
if(hug5.nextBalancerRequest()){
BalancerManager.instance.saveCurrentBalancerType(hug5);
if(hug5.isReceivedGoodPath) EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_COMPLETE, hug5.id));
return;
}
}
Controller.instance.OnBnStop();
}
}
}
}
//¡script319¡
package ru.rutube.managers.configuration.data{
//¡class(instance)_index:318
public class VoteData extends Object
{
//static constructor
public static function VoteData$cinit()
{ //MethodID:3413, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//variables/etc.
public var voteUrl:String = ""; //slotID:0
public var voteValue:Number = -1.0; //slotID:0
public var authUrl:String = ""; //slotID:0
public var ratingCounter:Number = 0.0; //slotID:0
public var rating:Number = -1.0; //slotID:0
public var hideRating:Boolean = false; //slotID:0
public function get isVoteAvalible():Boolean
{ //MethodID:3414, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23
return ((this.voteValue >= 0) && (this.rating >= 0));
}
public function clone():VoteData
{ //MethodID:3415, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 63
var hug1:VoteData = new VoteData();
hug1.voteValue = this.voteValue;
hug1.voteUrl = this.voteUrl;
hug1.authUrl = this.authUrl;
hug1.rating = this.rating;
hug1.ratingCounter = this.ratingCounter;
hug1.hideRating = this.hideRating;
return hug1;
}
//constructor
public function VoteData()
{ //MethodID:3416, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script320¡
package ru.rutube.managers{
import Components.Window.MessageWindow
import flash.events.Event
import flash.geom.Rectangle
import ru.rutube.event.EventManager
import ru.rutube.event.InternalEvent
//¡class(instance)_index:319
public class PopUpManager extends Object
{
//static constructor
public static function PopUpManager$cinit()
{ //MethodID:3418, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
_instance = null;
}
//static variables/etc.
private static var _instance:PopUpManager = null; //slotID:1
public static function get instance():PopUpManager
{ //dispID:3, MethodID:3419, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29
if(!_instance){
_instance = new PopUpManager();
_instance.init();
}
return _instance;
}
//constructor
public function PopUpManager()
{ //MethodID:3420, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32
super();
if(_instance != null) throw new Error("use static getter method \"instance\" for receive typed object");
_instance = this;
}
//variables/etc.
private var messageWindow:MessageWindow = null; //slotID:0
public function showMessageWindow(hug1:String, hug2:String, hug3:Boolean=false):void
{ //MethodID:3421, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 103
this.getDialogWindow();
RutubePlayer.instance.getContainer().addChild(this.messageWindow);
this.messageWindow.show(hug1, hug2, hug3);
this.messageWindow.onResize();
var hug4:Rectangle = RutubePlayer.instance.getStageBounds();
this.messageWindow.x = ((hug4.width - this.messageWindow.width) / 2);
this.messageWindow.y = ((hug4.height - this.messageWindow.height) / 2);
}
public function hideMessageWindow():void
{ //MethodID:3422, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8
this.releaseDialogWindow();
}
private function init():void
{ //MethodID:3423, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21
EventManager.instance.addEventListener(InternalEvent.STAGE, this.listenerStageResize);
}
private function getDialogWindow():MessageWindow
{ //MethodID:3424, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 52
if(this.messageWindow != null) this.releaseDialogWindow();
this.messageWindow = new MessageWindow("Dialog");
this.messageWindow.addEventListener(Event.CLOSE, this.listenerCloseMessageWindow);
return this.messageWindow;
}
private function releaseDialogWindow():void
{ //MethodID:3425, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 81
if(this.messageWindow == null) return;
this.messageWindow.visible = false;
if(RutubePlayer.instance.getContainer().contains(this.messageWindow)) RutubePlayer.instance.getContainer().removeChild(this.messageWindow);
this.messageWindow.removeEventListener(Event.CLOSE, this.listenerCloseMessageWindow);
this.messageWindow = null;
}
private function listenerStageResize(hug1:InternalEvent):void
{ //MethodID:3426, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34
if(hug1.eventType != Event.RESIZE) return;
if(this.messageWindow != null) this.messageWindow.onResize();
}
private function listenerCloseMessageWindow(hug1:Event):void
{ //MethodID:3427, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8
this.releaseDialogWindow();
}
}
}
//¡script321¡
package ru.rutube.command.commands.ui{
import Components.Player
import flash.display.Bitmap
import flash.display.BitmapData
import flash.display.StageDisplayState
import flash.events.Event
import flash.geom.Matrix
import flash.geom.Rectangle
import ru.rutube.event.FunctionalPanelEvent
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.states.PlayerState
//¡class(instance)_index:320
public class CommandUIVideoModify extends Object implements ICommad
{
//static constructor
public static function CommandUIVideoModify$cinit()
{ //MethodID:3429, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3430, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 525
internal var event:Event; //slotID:1
internal var streamController:StreamController; //slotID:2
internal var flvplayer:Player; //slotID:3
internal var snapshot:BitmapData; //slotID:4
internal var m1:Matrix; //slotID:5
snapshot = null;
m1 = null;
event = hug1;
trace("OnVideoModify : " + event.type);
streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
switch(event.type){
case FunctionalPanelEvent.EVENT_FULLSCREEN:
flvplayer.stage.fullScreenSourceRect = new Rectangle(0, 0, flvplayer.stage.fullScreenWidth, flvplayer.stage.fullScreenHeight);
try{
flvplayer.stage.displayState = ((flvplayer.stage.displayState == StageDisplayState.FULL_SCREEN) ? StageDisplayState.NORMAL : StageDisplayState.FULL_SCREEN);
}
catch(error:SecurityError){
trace("Controller.OnVideoModify:", error);
}
break;
case FunctionalPanelEvent.EVENT_SNAPSHOT:
if(!streamController.session){
Player.alert(RutubeConstants.TEXT_FRAME_NOT_SELECTED);
return;
}
Controller.instance.m_prevSnapshotState = Controller.instance.currentState;
Controller.instance.pauseMovie();
Controller.instance.switchState(PlayerState.STATE_PAUSED);
snapshot = new BitmapData(streamController.videoContainer.width, streamController.videoContainer.height, false, 0);
m1 = new Matrix();
m1.translate(-streamController.videoContainer.x, -streamController.videoContainer.y);
snapshot.draw(flvplayer.mediaContainer, m1);
flvplayer.getSnapshotWindow().setUploadUrl(Controller.instance.metaInfo.urlSnapShotMakerService);
flvplayer.getSnapshotWindow().setImage(new Bitmap(snapshot));
flvplayer.getSnapshotWindow().visible = true;
break;
default:
break;
}
}
//constructor
public function CommandUIVideoModify()
{ //MethodID:3431, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script322¡
package Components.EndScreen{
import Components.Component
import Components.SkinManager
import fl.transitions.Tween
import fl.transitions.TweenEvent
import fl.transitions.easing.Strong
import flash.display.GradientType
import flash.display.Shape
import flash.events.EventDispatcher
import flash.geom.Matrix
import ru.rutube.managers.configuration.data.MetaInfo
//¡class(instance)_index:321
public class EndScreen2 extends Component
{
//static constructor
public static function EndScreen2$cinit()
{ //MethodID:3433, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19
EVENT_REPEAT = "repeat";
backgroundStyle = null;
}
//static variables/etc.
public static const EVENT_REPEAT:String = "repeat"; //slotID:1
public static var backgroundStyle:Object = null; //slotID:2
//constructor
public function EndScreen2(hug1:Navigator, hug2:Component, hug3:EventDispatcher=null):void
{ //MethodID:3434, LocalCount= 4 , MaxScope= 1, MaxStack= 9, CodeLength= 156
this.background = new Shape();
this.fadeOutPanel = new Shape();
super(hug3);
size(200, 200);
if(backgroundStyle == null) backgroundStyle = SkinManager.getStyle("endscreenBackground", null);
addChild(this.fadeOutPanel);
addChild(this.background);
this.navigator = hug1;
this.contextAdvertising = hug2;
this.fadeOutTween = new Tween(this.fadeOutPanel, "alpha", Strong.easeOut, 0, 0.5, 0.3, true);
this.fadeOutTween.stop();
this.fadeOutTween.addEventListener(TweenEvent.MOTION_FINISH, this.onFinishFadeOutTweenHandler);
}
//variables/etc.
private var fadeOutTween:Tween = null; //slotID:0
private var $topPadding:Number = 0.0; //slotID:0
private var background:Shape; //slotID:0
private var contextAdvertising:Component = null; //slotID:0
private var navigator:Navigator = null; //slotID:0
private var fadeOutPanel:Shape; //slotID:0
public var es:* = null; //slotID:0
public function set topPadding(hug1:Number):void
{ //MethodID:3435, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 66
if(this.$topPadding == hug1) return;
this.$topPadding = hug1;
if(this.es != null){
this.es.params({y:this.$topPadding, h:(baseHeight - this.$topPadding)}, true, true, false, false);
onPaint();
}
}
public function setContextAdvertising(hug1:Component):void
{ //MethodID:3436, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this.contextAdvertising = hug1;
}
public function createES(hug1:Boolean=false):void
{ //MethodID:3437, LocalCount= 2 , MaxScope= 1, MaxStack= 11, CodeLength= 103
if(this.es != null) return;
if(!hug1){
this.es = new DefaultES(dispatcher);
}else{
this.es = new EmbedES(dispatcher);
}
addChild(this.es);
this.es.params({y:this.$topPadding, w:baseWidth, h:(baseHeight - this.$topPadding), right:true, bottom:true});
}
public function setBanner(hug1:Object):void
{ //MethodID:3438, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 87
if(this.es == null) return;
if(DefaultES.bannerFrame == null) DefaultES.bannerFrame = DefaultES.createBanner(this.es.getContainer());
DefaultES.urlBannerClick = hug1.urlClick;
DefaultES.report = hug1.report;
DefaultES.bannerFrame.load(hug1.urlThumbnail);
this.es.onPaint();
}
public function setData(hug1:MetaInfo):void
{ //MethodID:3439, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21
if(this.es != null) this.es.setData(hug1);
}
override public function set visible(hug1:Boolean):void
{ //MethodID:3440, LocalCount= 2 , MaxScope= 1, MaxStack= 11, CodeLength= 197
super.visible = hug1;
if(hug1){
this.background.visible = false;
this.fadeOutPanel.visible = true;
this.navigator.params({w:_width, bottom:false, top:false, wContainer:_width, hContainer:_height});
if(this.contextAdvertising != null) this.contextAdvertising.params({w:_width, y:(_height - this.contextAdvertising._height), wContainer:_width, hContainer:_height}, true, true, false, true);
this.navigator.rawVisible = false;
if(this.es != null) this.es.visible = false;
this.fadeOutPanel.graphics.clear();
this.fadeOutPanel.graphics.beginFill(0);
this.fadeOutPanel.graphics.drawRect(0, 0, _width, _height);
this.fadeOutTween.start();
}
}
private function onFinishFadeOutTweenHandler(hug1:TweenEvent=null):void
{ //MethodID:3441, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 51
this.fadeOutPanel.visible = false;
this.background.visible = true;
if(this.es != null) this.es.visible = true;
this.navigator.visible = true;
onPaint();
}
override protected function onUpdate(hug1:Number, hug2:Number):void
{ //MethodID:3442, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 341
var hug5:Matrix = null;
if(!visible) return;
this.background.graphics.clear();
if(backgroundStyle == null){
hug5 = new Matrix();
hug5.createGradientBox(hug1, hug2, (-Math.PI / 2));
this.background.graphics.beginGradientFill(GradientType.LINEAR, [0x5C5E5F, 0x323334], [1, 1], [0, 255], hug5);
}else{
this.background.graphics.beginFill(backgroundStyle.color);
}
this.background.graphics.drawRect(0, 0, hug1, hug2);
var hug3:Number = this.navigator._height;
var hug4:Number = (this.$topPadding + ((this.es != null) ? this.es.getNavY() : 5));
if(this.contextAdvertising != null){
if(this.contextAdvertising.parent == this) this.contextAdvertising.onResize();
}
if(this.navigator.parent == this){
this.navigator.rawVisible = (this.navigator.visible && (hug2 >= (hug4 + hug3 - 10)));
this.navigator.onResize();
if(this.navigator.rawVisible) this.navigator.y = Math.round(((this.contextAdvertising != null) && this.contextAdvertising.visible) ? hug4 : (hug2 - hug3 - 7));
}
if(this.es != null) this.es.onResize();
}
}
}
//¡script323¡
package ru.rutube.managers.statistic.comscore{
import flash.events.Event
import flash.events.IOErrorEvent
import flash.events.SecurityErrorEvent
import flash.external.ExternalInterface
import flash.net.URLLoader
import flash.net.URLRequest
import ru.rutube.managers.configuration.data.MetaInfo
//¡class(instance)_index:322
public class ComScoreStatistic extends Object
{
//static constructor
public static function ComScoreStatistic$cinit()
{ //MethodID:3444, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 53
CONTENT = 1;
ADVERTISEMENT = 2;
COMSCORE_ADVERTISING_PRE = "09";
COMSCORE_ADVERTISING_POST = "10";
COMSCORE_ADVERTISING_MID = "11";
_instance = null;
}
//static variables/etc.
public static const CONTENT:int = 1; //slotID:1
public static const ADVERTISEMENT:int = 2; //slotID:2
public static const COMSCORE_ADVERTISING_PRE:String = 09; //slotID:3
public static const COMSCORE_ADVERTISING_POST:String = 10; //slotID:4
public static const COMSCORE_ADVERTISING_MID:String = 11; //slotID:5
private static var _instance:ComScoreStatistic = null; //slotID:6
public static function get instance():ComScoreStatistic
{ //dispID:3, MethodID:3445, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22
if(!_instance) _instance = new ComScoreStatistic();
return _instance;
}
//constructor
public function ComScoreStatistic()
{ //MethodID:3446, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 31
super();
if(_instance) throw new Error("Need use static method 'instance' !");
_instance = this;
}
//variables/etc.
protected const COMSCORE_CLIENT_ID:String = 7056608; //slotID:0
protected const COMSCORE_CONTENT_NAME_ART:String = 2400; //slotID:0
protected const COMSCORE_CONTENT_NAME_CARTOONS:String = 2900; //slotID:0
protected const COMSCORE_CONTENT_NAME_NEWS:String = 1900; //slotID:0
protected const COMSCORE_CONTENT_NAME_SPORT:String = 3100; //slotID:0
protected const COMSCORE_CONTENT_NAME_EROTICA:String = 2600; //slotID:0
protected const COMSCORE_CONTENT_TYPE_LONG_FILM:String = 03; //slotID:0
protected const COMSCORE_CONTENT_OWNER:String = 1107; //slotID:0
protected const COMSCORE_CONTENT_NAME_FAMILY:String = 3400; //slotID:0
protected const COMSCORE_VERSION:String = 2.0; //slotID:0
protected const COMSCORE_CONTENT_NAME_OTHERCATEGORY:String = 2700;//slotID:0
protected const COMSCORE_CONTENT_TYPE_SHORT_FILM:String = 02; //slotID:0
protected const COMSCORE_CONTENT_NAME_TIN:String = 1800; //slotID:0
protected const COMSCORE_CONTENT_NAME_UMOR:String = 3300; //slotID:0
protected const COMSCORE_HTTPS:String = "https://s"; //slotID:0
protected const COMSCORE_URL:String = "b.scorecardresearch.com/p";//slotID:0
protected const COMSCORE_CONTENT_NAME_MUSIC:String = 3000; //slotID:0
protected const COMSCORE_CONTENT_NAME_TV:String = 3200; //slotID:0
protected const COMSCORE_CONTENT_NAME_TECHNOLOGY:String = 2500; //slotID:0
private var metaInfo:MetaInfo = null; //slotID:0
protected const COMSCORE_HTTP:String = "http://"; //slotID:0
protected const COMSCORE_CONTENT_NAME_EVENTS:String = 2000; //slotID:0
protected const COMSCORE_CONTENT_NAME_TRAVEL:String = 2300; //slotID:0
protected const COMSCORE_CONTENT_TYPE_AD:String = 11; //slotID:0
private var _loaderUrl:String = ""; //slotID:0
protected const COMSCORE_CONTENT_NAME_UNNAMED:String = 1700; //slotID:0
protected const COMSCORE_CONTENT_NAME_GAMES:String = 2100; //slotID:0
protected const COMSCORE_CONTENT_NAME_NATURE:String = 2200; //slotID:0
private var isHttps:Boolean = false; //slotID:0
protected const COMSCORE_CONTENT_NAME_AUTO:String = 2800; //slotID:0
private var _referrer:String = ""; //slotID:0
public function set referrer(hug1:String):void
{ //MethodID:3447, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22
this._referrer = hug1;
if(!this._referrer) this._referrer = "";
}
public function get referrer():String
{ //MethodID:3448, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11
return this._referrer.concat();
}
public function setLoaderUrl(hug1:String):void
{ //MethodID:3449, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 44
if((hug1 != null) && (hug1.length > 0)){
this.isHttps = (hug1.indexOf("https") > (-1));
this._loaderUrl = hug1;
}
}
public function get isFilled():Boolean
{ //MethodID:3450, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4
return false;
}
public function initStatisticRecord(hug1:MetaInfo):void
{ //MethodID:3451, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8
this.metaInfo = hug1;
}
public function fireTag(hug1:int, hug2:String=00):String
{ //MethodID:3452, LocalCount= 5 , MaxScope= 5, MaxStack= 4, CodeLength= 674
internal var type:int; //slotID:1
internal var adType:String = 00; //slotID:2
internal var title:String; //slotID:3
internal var params:Array; //slotID:4
internal var c5:String; //slotID:5
internal var reqUrl:String; //slotID:6
internal var urlLoader:URLLoader; //slotID:7
internal var urlRequest:URLRequest; //slotID:8
type = hug1;
adType = hug2;
if(!this.metaInfo) return "";
title = "";
try{
title = ExternalInterface.call("function() { return document.title; }").toString();
}
catch(err:Error){
title = metaInfo.title;
}
params = new Array();
params.push(this.isHttps ? this.COMSCORE_HTTPS : this.COMSCORE_HTTP);
params.push(this.COMSCORE_URL);
params.push("?c1=" + "1");
params.push("&c2=" + escape(this.COMSCORE_CLIENT_ID));
params.push("&c3=" + escape(this.metaInfo.authorId.toString()));
params.push("&c4=" + escape(this.metaInfo.category.toString()));
c5 = "";
if(type == CONTENT){
c5 += (((this.metaInfo.contentDuration / 60) > 10) ? this.COMSCORE_CONTENT_TYPE_LONG_FILM : this.COMSCORE_CONTENT_TYPE_SHORT_FILM);
c5 += this.getCategoryId(this.metaInfo.categoryName).toString();
}else{
c5 += adType.toString();
c5 += "0000";
}
params.push("&c5=" + escape(c5));
params.push("&c6=" + escape(this.metaInfo.title));
params.push("&c7=" + escape(this._loaderUrl));
params.push("&c8=" + escape(title));
params.push("&c9=" + escape(this.referrer));
params.push("&c10=" + escape("1|1"));
params.push("&rn=" + (Math.random() * 0x989680));
params.push("&cv=" + this.COMSCORE_VERSION);
reqUrl = params.join("");
if(reqUrl.length > 2080) reqUrl = reqUrl.substr(0, 2080);
urlLoader = new URLLoader();
urlRequest = new URLRequest(reqUrl);
urlLoader.addEventListener(Event.COMPLETE, this.listenerStatLoader);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerStatLoader);
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerStatLoader);
urlLoader.load(urlRequest);
return reqUrl;
}
private function getCategoryId(hug1:String):String
{ //MethodID:3453, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 215
var hug2:Object = {};
hug2["tin"] = this.COMSCORE_CONTENT_NAME_TIN;
hug2["news"] = this.COMSCORE_CONTENT_NAME_NEWS;
hug2["events"] = this.COMSCORE_CONTENT_NAME_EVENTS;
hug2["games"] = this.COMSCORE_CONTENT_NAME_GAMES;
hug2["nature"] = this.COMSCORE_CONTENT_NAME_NATURE;
hug2["travel"] = this.COMSCORE_CONTENT_NAME_TRAVEL;
hug2["art"] = this.COMSCORE_CONTENT_NAME_ART;
hug2["technology"] = this.COMSCORE_CONTENT_NAME_TECHNOLOGY;
hug2["erotica"] = this.COMSCORE_CONTENT_NAME_EROTICA;
hug2["othercategory"] = this.COMSCORE_CONTENT_NAME_OTHERCATEGORY;
hug2["auto"] = this.COMSCORE_CONTENT_NAME_AUTO;
hug2["cartoons"] = this.COMSCORE_CONTENT_NAME_CARTOONS;
hug2["music"] = this.COMSCORE_CONTENT_NAME_MUSIC;
hug2["sport"] = this.COMSCORE_CONTENT_NAME_SPORT;
hug2["tv"] = this.COMSCORE_CONTENT_NAME_TV;
hug2["umor"] = this.COMSCORE_CONTENT_NAME_UMOR;
hug2["family"] = this.COMSCORE_CONTENT_NAME_FAMILY;
if(hug2.hasOwnProperty(hug1)) return hug2[hug1];
return this.COMSCORE_CONTENT_NAME_UNNAMED;
}
private function listenerStatLoader(hug1:Event):void
{ //MethodID:3454, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 63
var hug2:URLLoader = (hug1.target as URLLoader);
if(hug2 != null){
hug2.removeEventListener(Event.COMPLETE, this.listenerStatLoader);
hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerStatLoader);
hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerStatLoader);
}
}
}
}
//¡script324¡
package ru.rutube.command.commands.ui{
import Components.Player
import Components.Timeline.TimelineEvent
import fl.events.SliderEvent
import flash.events.Event
import ru.rutube.manager.extern.ExternalNotifier
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.data.FlashVariablesConfig
import ru.rutube.managers.configuration.data.MetaInfo
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.states.PlayerState
//¡class(instance)_index:323
public class CommandUITimelineThumb extends Object implements ICommad
{
//static constructor
public static function CommandUITimelineThumb$cinit()
{ //MethodID:3456, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandUITimelineThumb()
{ //MethodID:3457, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3458, LocalCount= 11 , MaxScope= 1, MaxStack= 3, CodeLength= 714
var hug2:TimelineEvent = (hug1 as TimelineEvent);
var hug3:Number = ((hug2 != null) ? hug2.value : 0);
var hug4:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
var hug5:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
var hug6:FlashVariablesConfig = ConfigurationManager.instance.flashVariablesConfig;
var hug7:MetaInfo = ConfigurationManager.instance.metaInfo;
var hug8:Number = 0;
var hug9:Number = 0;
if(hug5.isLive) return;
hug2.inLoader = ((hug3 >= hug5.metaFirstTimeReal) && (hug3 <= hug4.getControl().timeline.loadedEnd));
switch(hug2.type){
case SliderEvent.THUMB_PRESS:
Controller.instance.hideAdView();
hug5.pause();
Controller.instance.m_bHoldThumb = true;
break;
case SliderEvent.THUMB_RELEASE:
if(hug5.getMediaType() == StreamController.STREAM_TYPE_STREAM) hug4.previewHide();
if(hug2.inLoader || hug5.session){
hug9 = (hug3 * hug5.duration);
hug5.seek(hug9);
ExternalNotifier.instance.notifyVideoSeek(hug9, hug5.duration);
if(Controller.instance.currentState == PlayerState.STATE_STARTED) hug5.resume();
}else{
hug8 = (hug5.duration ? hug5.duration : hug7.contentDuration);
hug9 = (hug8 * hug3);
if((hug5.getMediaType() == StreamController.STREAM_TYPE_STREAM) && !hug5.isLive){
hug5.seek(hug9);
ExternalNotifier.instance.notifyVideoSeek(hug9, hug5.duration);
if(Controller.instance.currentState != PlayerState.STATE_STARTED) hug5.pause();
hug6.bookMarkStartTime = (hug9 * 1000);
}else{
hug5.stop();
Controller.instance.playMovie(hug9);
}
}
Controller.instance.m_bHoldThumb = false;
break;
case SliderEvent.THUMB_DRAG:
if(hug5.getMediaType() == StreamController.STREAM_TYPE_STREAM) hug4.previewHide();
if(hug2.inLoader || hug5.session){
hug9 = (hug3 * hug5.duration);
hug5.seek(hug9);
ExternalNotifier.instance.notifyVideoSeek(hug9, hug5.duration);
}else if((hug5.getMediaType() == StreamController.STREAM_TYPE_STREAM) && !hug5.isLive){
hug8 = (hug5.duration ? hug5.duration : hug7.contentDuration);
hug9 = (hug8 * hug3);
hug5.seek(hug9);
ExternalNotifier.instance.notifyVideoSeek(hug9, hug5.duration);
}
break;
default:
break;
}
}
}
}
//¡script325¡
package ru.rutube.command.commands.ui{
import Components.Player
import flash.events.Event
import flash.net.URLRequest
import flash.net.sendToURL
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.EventManager
import ru.rutube.event.FunctionalPanelEvent
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
//¡class(instance)_index:324
public class CommandUIMenuHandler extends Object implements ICommad
{
//static constructor
public static function CommandUIMenuHandler$cinit()
{ //MethodID:3460, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3461, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 289
var hug2:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
switch(hug1.type){
case FunctionalPanelEvent.EVENT_MESSAGE:
EventManager.instance.dispatchEvent(new ControlPanelEvent(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT));
hug2.complainWindow.visible = true;
Controller.instance.exitFullScreen();
break;
case FunctionalPanelEvent.EVENT_PLAYLIST:
EventManager.instance.dispatchEvent(new ControlPanelEvent(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT));
hug2.playlistWindow.visible = true;
Controller.instance.exitFullScreen();
break;
case FunctionalPanelEvent.EVENT_FAVORITES:
if(Controller.instance.metaInfo.favoriteData.isFavoritePresent() && Controller.instance.metaInfo.userInfo.isAllowedUser){
sendToURL(new URLRequest(Controller.instance.metaInfo.favoriteData.urlAddFavorite));
Player.alert(RutubeConstants.TEXT_ADDED_TO_FAVORITES);
}
break;
default:
break;
}
}
//constructor
public function CommandUIMenuHandler()
{ //MethodID:3462, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script326¡
package ru.rutube.command.commands.ui{
import flash.events.Event
import ru.rutube.event.EventManager
import ru.rutube.managers.cookie.CookieManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerEvent
import ru.rutube.managers.playback.controller.StreamControllerManager
//¡class(instance)_index:325
public class CommandUITimelineTime extends Object implements ICommad
{
//static constructor
public static function CommandUITimelineTime$cinit()
{ //MethodID:3464, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandUITimelineTime()
{ //MethodID:3465, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3466, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 115
var hug4:StreamControllerEvent = null;
var hug2:Boolean = (CookieManager.instance.getLocalCookie("timingMode") as Boolean);
hug2 = !hug2;
CookieManager.instance.setLocalCookie("timingMode", hug2);
CookieManager.instance.flush();
var hug3:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
if(!isNaN(hug3.time)){
hug4 = new StreamControllerEvent(StreamControllerEvent.EVENT_CURRENT_TIME_CHANGE, null, hug3.type);
EventManager.instance.dispatchEvent(hug4);
}
}
}
}
//¡script327¡
package ru.rutube.command.commands.streaming{
import flash.events.Event
import ru.rutube.event.EventManager
import ru.rutube.event.GoogleEvent
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.data.MetaInfo
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerEvent
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.managers.preloader.PreloaderManager
import ru.rutube.managers.statistic.google.GoogleAnalyticsConstants
//¡class(instance)_index:326
public class CommandStreamBufferingChange extends Object implements ICommad
{
//static constructor
public static function CommandStreamBufferingChange$cinit()
{ //MethodID:3468, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandStreamBufferingChange()
{ //MethodID:3469, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3470, LocalCount= 5 , MaxScope= 1, MaxStack= 7, CodeLength= 137
var hug2:StreamControllerEvent = (hug1 as StreamControllerEvent);
if(hug2.controllerType != StreamController.CONTROLLER_MAIN_STREAM) return;
var hug3:MetaInfo = ConfigurationManager.instance.metaInfo;
var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
if(hug2.body){
PreloaderManager.instance.show();
}else{
PreloaderManager.instance.hide();
}
if(hug2.body) EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_PAUSE_BUFFERING, hug4.time.toString(), hug3.category));
}
}
}
//¡script328¡
package Components.EndScreen{
import Components.Button
import Components.Component
import Components.ParamEvent
import Components.SkinManager
import Components.Forms.TitleText
import Data.TSearchItem
import fl.transitions.Transition
import fl.transitions.TransitionManager
import fl.transitions.Tween
import fl.transitions.TweenEvent
import fl.transitions.Wipe
import fl.transitions.easing.None
import flash.display.MovieClip
import flash.display.Shape
import flash.display.Sprite
import flash.events.EventDispatcher
import flash.events.MouseEvent
import flash.events.TimerEvent
import flash.filters.BitmapFilterQuality
import flash.filters.GlowFilter
import flash.geom.Point
import flash.utils.Timer
//¡class(instance)_index:327
public class Navigator extends Component
{
//static constructor
public static function Navigator$cinit()
{ //MethodID:3472, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 69
EVENT_SHOWING_FRAME = "showingFrame";
EVENT_LINK_FRAME = "linkFrame";
SCALE_RATE = 1.35;
NAV_BT_REGION = 25;
NAV_NONE = 0;
NAV_NEXT = 1;
NAV_PREV = 2;
NAV_ALL = 3;
}
//static variables/etc.
public static const EVENT_SHOWING_FRAME:String = "showingFrame";//slotID:1
public static const EVENT_LINK_FRAME:String = "linkFrame"; //slotID:2
private static const SCALE_RATE:Number = 1.35; //slotID:3
private static const NAV_BT_REGION:uint = 25; //slotID:4
public static const NAV_NONE:uint = 0; //slotID:5
public static const NAV_NEXT:uint = 1; //slotID:6
public static const NAV_PREV:uint = 2; //slotID:7
public static const NAV_ALL:uint = 3; //slotID:8
//constructor
public function Navigator(hug1:EventDispatcher=null):void
{ //MethodID:3473, LocalCount= 4 , MaxScope= 1, MaxStack= 8, CodeLength= 622
this.framesPanel = new Sprite();
this.framesMask = new Shape();
this.animPanel = new MovieClip();
this.titleText = new TitleText("", 12, true, true);
this.timeText = new TitleText("", 12, true);
this.prevButton = new Button(SkinManager.getSkin("PrevPageNavButtonSkin"));
this.nextButton = new Button(SkinManager.getSkin("NextPageNavButtonSkin"));
this.items = [];
this.timer = new Timer(50);
super(hug1);
size(200, 105);
addChild(this.animPanel);
this.animPanel.addChild(this.framesPanel);
this.framesPanel.y = (Math.round(this.frameHeight * (SCALE_RATE - 1)) + 2);
this.animPanel.addChild(this.framesMask);
this.framesPanel.mask = this.framesMask;
addChild(this.prevButton);
this.prevButton.y = Math.round(this.framesPanel.y + ((this.frameHeight - this.prevButton.height) / 2));
addChild(this.nextButton);
this.nextButton.y = Math.round(this.framesPanel.y + ((this.frameHeight - this.nextButton.height) / 2));
var hug3:Boolean = false;
this.nextButton.visible = hug3;
this.prevButton.visible = hug3;
this.prevButton.addEventListener(MouseEvent.CLICK, this.onChangePageHandler);
this.nextButton.addEventListener(MouseEvent.CLICK, this.onChangePageHandler);
var hug2:Sprite = new Sprite();
hug2.filters = [new GlowFilter(0x323334, 1, 6, 6, 4, BitmapFilterQuality.HIGH)];
this.animPanel.addChild(hug2);
this.titleText.height = 20;
var hug3:int = 0xFFFFFF;
this.timeText.textColor = hug3;
this.titleText.textColor = hug3;
hug2.addChild(this.titleText);
this.titleText.x = 10;
hug2.addChild(this.timeText);
var hug3:Boolean = false;
this.timeText.mouseEnabled = hug3;
this.titleText.mouseEnabled = hug3;
var hug3:int = (Math.round(this.frameHeight * SCALE_RATE) + 3);
this.timeText.y = hug3;
this.titleText.y = hug3;
this.framesPanel.addEventListener(MouseEvent.ROLL_OVER, this.onRollNavigator);
this.framesPanel.addEventListener(MouseEvent.ROLL_OUT, this.onRollNavigator);
this.timer.addEventListener(TimerEvent.TIMER, this.onTimer);
this.control = new NavigatorControl(this);
params({h:(this.titleText.y + this.titleText.height)}, true, false, false, false);
}
//variables/etc.
private var nextButton:Button; //slotID:0
private var offset:Number = 0.0; //slotID:0
private var timeText:TitleText; //slotID:0
private var titleText:TitleText; //slotID:0
private var _navMode:uint = 100; //slotID:0
private var framesMask:Shape; //slotID:0
private var items:Array; //slotID:0
private var flagMotion:Boolean = false; //slotID:0
private var prevButton:Button; //slotID:0
private var max_offset:Number = 0.0; //slotID:0
private var step:Number = 1.0; //slotID:0
private var timer:Timer; //slotID:0
private var axisX:Number = 0.0; //slotID:0
private var frameWidth:Number = 80.0; //slotID:0
public var control:NavigatorControl; //slotID:0
private var frameOffset:Number = 5.0; //slotID:0
private var leftEdge:Number = 0.0; //slotID:0
private var animPanel:MovieClip; //slotID:0
private var frameHeight:Number = 55.0; //slotID:0
private var focusFrame:int = -1; //slotID:0
private var rightEdge:Number = 0.0; //slotID:0
private var framesPanel:Sprite; //slotID:0
private function onChangePageHandler(hug1:MouseEvent):void
{ //MethodID:3474, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 20
this.control.changePage(hug1.currentTarget == this.nextButton);
}
public function show():void
{ //MethodID:3475, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10
visible = true;
}
private function set motion(hug1:Boolean):void
{ //MethodID:3476, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61
if(this.flagMotion == hug1) return;
if(hug1){
this.framesPanel.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMoveNavigator);
}else{
this.framesPanel.removeEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMoveNavigator);
}
this.flagMotion = hug1;
}
private function onMouseMoveNavigator(hug1:MouseEvent):void
{ //MethodID:3477, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 120
if((mouseX >= this.leftEdge) && (mouseX <= this.rightEdge)){
if(this.timer.running) this.timer.reset();
this.step = 0;
}else{
this.step = (-(30 * (((mouseX < this.leftEdge) ? this.leftEdge : this.rightEdge) - mouseX)) / this.leftEdge);
if(!this.timer.running) this.timer.start();
}
}
private function onRollNavigator(hug1:MouseEvent):void
{ //MethodID:3478, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 81
if(hug1.type == MouseEvent.ROLL_OVER){
if((this.step == 0) || !this.flagMotion){
this.timer.reset();
}else{
this.timer.start();
}
}else if(this.timer.running){
this.timer.reset();
}
}
private function onTimer(hug1:TimerEvent):void
{ //MethodID:3479, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 112
var hug2:Number = (this.offset + this.step);
if((Math.abs(hug2) <= this.max_offset) || (Math.abs(this.offset) < this.max_offset)){
this.offset = hug2;
if(Math.abs(this.offset) > this.max_offset) this.offset = (this.max_offset * ((this.step < 0) ? (-1) : 1));
this.shiftFrames();
}
}
public function showItems(hug1:uint=0, hug2:Boolean=true):void
{ //MethodID:3480, LocalCount= 15 , MaxScope= 1, MaxStack= 12, CodeLength= 859
var hug9:uint = 0;
var hug10:TSearchItem = null;
var hug11:Frame = null;
var hug12:Object = null;
var hug13:Object = null;
var hug14:Number = NaN;
var hug3:uint = this.control.searchInfo.items.length;
if(hug1 >= hug3) return;
var hug4:uint = this.items.length;
var hug5:uint = (hug1 + NavigatorControl.ITEMS_PAGE);
if(hug5 >= hug3) hug5 = hug3;
var hug6:uint = 0;
var hug7:uint = hug1;
while(hug7 < hug5){
hug10 = this.control.searchInfo.items[hug7];
if(hug6 >= this.items.length){
hug11 = new Frame(null, this.frameWidth, this.frameHeight, false);
hug11.borderColor = -1;
hug11.setScalePoint(new Point(0.5, 1));
hug11.addEventListener(MouseEvent.ROLL_OUT, this.deactiveFrame);
hug11.addEventListener(MouseEvent.ROLL_OVER, this.onMouseFrameHandler);
hug11.addEventListener(MouseEvent.CLICK, this.onMouseFrameHandler);
hug12 = new Object();
hug12.frame = this.framesPanel.addChild(hug11);
hug10.assignFrame(hug12.frame);
hug12.showing = false;
hug12.tween = null;
hug12.item = hug10;
this.items.push(hug12);
}else{
hug10.assignFrame(this.items[hug6].frame);
this.items[hug6].item = hug10;
}
hug6++;
hug7++;
}
hug7 = (this.items.length - 1);
while(hug7 >= hug6){
hug13 = this.items[hug7];
if(hug13.tween != null){
hug13.tween.stop();
hug13.tween.removeEventListener(TweenEvent.MOTION_FINISH, this.onFinishTweenHandler);
hug13.tween = null;
}
hug13.frame.removeEventListener(MouseEvent.ROLL_OUT, this.deactiveFrame);
hug13.frame.addEventListener(MouseEvent.ROLL_OVER, this.onMouseFrameHandler);
hug13.frame.addEventListener(MouseEvent.CLICK, this.onMouseFrameHandler);
hug13.frame.clear();
this.framesPanel.removeChild(hug13.frame);
hug13.frame = null;
this.items.splice(hug7, 1);
hug7--;
}
var hug8:Boolean = (!this.control.isSearch && (((hug1 + NavigatorControl.ITEMS_PAGE) < this.control.searchInfo.items.length) || !this.control.isEnd));
if(hug1 > 0){
hug9 = (hug8 ? NAV_ALL : NAV_PREV);
}else{
hug9 = (hug8 ? NAV_NEXT : NAV_NONE);
}
if(hug4 != this.items.length){
hug14 = 0;
hug3 = this.items.length;
hug7 = 0;
while(hug7 < hug3){
this.items[hug7].frame.setX(hug14);
hug14 += (this.frameWidth + this.frameOffset);
hug7++;
}
if(hug9 == this._navMode) this.calcMotionParams();
}
this.setNavMode(hug9);
this.offset = ((((this.items.length % 2) != 0) || (this.max_offset == 0)) ? 0 : (Math.round(this.frameWidth * 0.5) + this.frameOffset - 2));
this.shiftFrames();
TransitionManager.start(this.animPanel, {type:Wipe, direction:Transition.IN, duration:0.5, easing:None.easeNone, startPoint:(hug2 ? 4 : 6)});
}
public function setNavMode(hug1:uint, hug2:Boolean=false):void
{ //MethodID:3481, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 313
if(this._navMode == hug1) return;
this._navMode = hug1;
if(!this.nextButton.visible){
var hug3:Boolean = true;
this.nextButton.visible = hug3;
this.prevButton.visible = hug3;
}
switch(this._navMode){
case NAV_NEXT:
this.nextButton.alpha = 1;
this.prevButton.alpha = 0.5;
this.nextButton.mouseEnabled = true;
this.prevButton.mouseEnabled = false;
break;
case NAV_ALL:
var hug3:int = 1;
this.prevButton.alpha = hug3;
this.nextButton.alpha = hug3;
var hug3:Boolean = true;
this.prevButton.mouseEnabled = hug3;
this.nextButton.mouseEnabled = hug3;
break;
case NAV_PREV:
this.nextButton.alpha = 0.5;
this.prevButton.alpha = 1;
this.nextButton.mouseEnabled = false;
this.prevButton.mouseEnabled = true;
break;
default:
var hug3:Number = 0.5;
this.prevButton.alpha = hug3;
this.nextButton.alpha = hug3;
var hug3:Boolean = false;
this.prevButton.mouseEnabled = hug3;
this.nextButton.mouseEnabled = hug3;
break;
}
if(!hug2) onPaint();
}
private function calcMotionParams():void
{ //MethodID:3482, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 190
var hug1:Number = NAV_BT_REGION;
var hug2:Number = (2 * NAV_BT_REGION);
hug2 = (_width - hug2);
this.axisX = (hug1 + Math.round((hug2 - this.framesPanel.width) / 2));
this.motion = ((this.framesPanel.width + (this.frameWidth * (SCALE_RATE - 1))) > hug2);
if(this.flagMotion){
this.max_offset = (Math.ceil(((this.framesPanel.width - hug2) + (this.frameWidth * (SCALE_RATE - 1))) / 2) + this.frameOffset);
if(Math.abs(this.offset) > this.max_offset) this.offset = (this.max_offset * ((this.step < 0) ? (-1) : 1));
}else{
this.offset = this.max_offset = 0;
}
this.shiftFrames();
}
private function shiftFrames():void
{ //MethodID:3483, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 19
this.framesPanel.x = (this.axisX - this.offset);
}
private function setDesc(hug1:String, hug2:String):void
{ //MethodID:3484, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 24
this.titleText.text = hug1;
this.timeText.text = hug2;
this.updateTextSize();
}
private function newTween(hug1:uint, hug2:Number, hug3:Number, hug4:Number):void
{ //MethodID:3485, LocalCount= 7 , MaxScope= 1, MaxStack= 9, CodeLength= 155
var hug5:Object = this.items[hug1];
if(hug5.tween != null){
hug5.tween.stop();
hug5.tween.removeEventListener(TweenEvent.MOTION_FINISH, this.onFinishTweenHandler);
hug5.tween = null;
}
var hug6:Number = 0.25;
if((hug4 >= hug2) && (hug4 <= hug3)) hug6 -= (hug6 * ((hug4 - hug2) / (hug3 - hug2)));
hug5.tween = new Tween(this.items[hug1].frame, "scale", None.easeNone, hug4, hug3, hug6, true);
hug5.tween.addEventListener(TweenEvent.MOTION_FINISH, this.onFinishTweenHandler);
}
private function onFinishTweenHandler(hug1:TweenEvent):void
{ //MethodID:3486, LocalCount= 9 , MaxScope= 1, MaxStack= 4, CodeLength= 248
var hug3:int = 0;
var hug4:Boolean = false;
var hug5:uint = 0;
var hug6:uint = 0;
var hug7:Frame = null;
var hug8:Tween = null;
var hug2:Tween = (hug1.currentTarget as Tween);
if(hug2.finish == SCALE_RATE){
hug3 = Math.ceil(((this.frameWidth * (SCALE_RATE - 1)) / 2) - this.frameOffset);
if(hug3 <= 0) return;
hug4 = true;
hug5 = this.items.length;
hug6 = 0;
while(hug6 < hug5){
hug7 = this.items[hug6].frame;
if(hug4 && (hug7 == hug2.obj)){
hug4 = false;
}else{
hug8 = this.items[hug6].tween;
if((hug8 != null) && hug8.isPlaying){
hug8.stop();
hug8.fforward();
}
hug7.x = (hug7.getX() + (hug3 * (hug4 ? (-1) : 1)));
}
hug6++;
}
}
}
private function activeFrame(hug1:uint):void
{ //MethodID:3487, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 120
if((hug1 == this.focusFrame) || (hug1 >= this.items.length)) return;
this.deactiveFrame();
this.focusFrame = hug1;
var hug2:Frame = this.items[hug1].frame;
hug2.borderColor = 0xFFFFFF;
this.framesPanel.setChildIndex(hug2, (this.framesPanel.numChildren - 1));
this.newTween(hug1, 1, SCALE_RATE, hug2.scale);
var hug3:TSearchItem = this.items[hug1].item;
this.setDesc(hug3.name, hug3.timeInfo);
}
private function deactiveFrame(hug1:MouseEvent=null):void
{ //MethodID:3488, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 145
var hug5:Frame = null;
if(this.focusFrame == (-1)) return;
var hug2:int = this.focusFrame;
this.focusFrame = -1;
this.setDesc("");
this.items[hug2].frame.borderColor = -1;
this.newTween(hug2, SCALE_RATE, 1, this.items[hug2].frame.scale);
var hug3:uint = this.items.length;
var hug4:uint = 0;
while(hug4 < hug3){
if(hug4 != hug2){
hug5 = this.items[hug4].frame;
hug5.x = hug5.getX();
}
hug4++;
}
}
private function onMouseFrameHandler(hug1:MouseEvent):void
{ //MethodID:3489, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 167
var hug2:uint = 0;
while(hug2 < this.items.length){
if(this.items[hug2].frame == hug1.currentTarget){
switch(hug1.type){
case MouseEvent.ROLL_OVER:
this.activeFrame(hug2);
break;
case MouseEvent.CLICK:
dispatcher.dispatchEvent(new ParamEvent(EVENT_LINK_FRAME, this.items[hug2].item));
break;
default:
break;
}
break;
}
hug2++;
}
}
private function updateTextSize():void
{ //MethodID:3490, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 128
var hug1:Number = (this.titleText.textWidth + this.timeText.width + this.titleText.x + 20);
if(_width < hug1){
hug1 = (_width - this.timeText.width - this.titleText.x - 18);
if(hug1 < 0) hug1 = 0;
this.titleText.width = hug1;
}else{
this.titleText.width = (this.titleText.textWidth + 4);
}
this.timeText.x = (this.titleText.x + this.titleText.width + 10);
}
override protected function onUpdate(hug1:Number, hug2:Number):void
{ //MethodID:3491, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 209
graphics.clear();
graphics.beginFill(0xFFFFFF, 0);
graphics.drawRect(0, 0, hug1, hug2);
this.framesMask.graphics.clear();
this.framesMask.graphics.beginFill(0);
var hug3:Number = NAV_BT_REGION;
var hug4:Number = (hug1 - hug3 - NAV_BT_REGION);
this.framesMask.graphics.drawRect(hug3, -5, hug4, (this.framesPanel.y + this.frameHeight + 10));
this.calcMotionParams();
this.nextButton.x = (hug1 - this.nextButton.width);
this.updateTextSize();
var hug5:Number = Math.round(this.frameWidth * SCALE_RATE);
if(hug5 > (hug4 - 60)){
hug5 = (hug4 - 60);
if(hug5 < 0) hug5 = 0;
}
this.leftEdge = Math.round(hug3 + ((hug4 - hug5) / 2));
this.rightEdge = (this.leftEdge + hug5);
}
}
}
//¡script329¡
package ru.rutube.command.commands.loading{
import Components.Player
import flash.events.Event
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.data.FlashVariablesConfig
import ru.rutube.managers.configuration.data.MetaInfo
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
//¡class(instance)_index:328
public class CommandLoadindVideoWallComplete extends Object implements ICommad
{
//static constructor
public static function CommandLoadindVideoWallComplete$cinit()
{ //MethodID:3493, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandLoadindVideoWallComplete()
{ //MethodID:3494, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3495, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 93
var hug2:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
var hug3:MetaInfo = ConfigurationManager.instance.metaInfo;
var hug4:FlashVariablesConfig = ConfigurationManager.instance.flashVariablesConfig;
if(hug3.isVideoWallLoaded && !hug4.toggleInnerEmbedFlash && hug2.navigator) hug2.navigator.control.setData(hug3);
}
}
}
//¡script330¡
package ru.rutube.command.commands.voting{
import Components.Player
import flash.events.Event
//¡class(instance)_index:329
public class CommandVotingFailed extends Object implements ICommad
{
//static constructor
public static function CommandVotingFailed$cinit()
{ //MethodID:3497, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandVotingFailed()
{ //MethodID:3498, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3499, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16
Player.alert(RutubeConstants.TEXT_VOTING_SERVER_ERROR);
}
}
}
//¡script331¡
package ru.rutube.command.commands.ui{
import Components.Player
import Components.Timeline.MarkEvent
import Components.Timeline.TimelineEvent
import Components.Utils.BookmarkItem
import flash.events.Event
import flash.net.URLRequest
import flash.net.URLRequestMethod
import flash.net.URLVariables
import flash.net.sendToURL
import ru.rutube.event.ControlPanelEvent
import ru.rutube.managers.configuration.BookmarkLinkFactory
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.data.BookmarkLink
import ru.rutube.managers.configuration.data.FlashVariablesConfig
import ru.rutube.managers.configuration.data.MetaInfo
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.states.PlayerState
//¡class(instance)_index:330
public class CommandUITimelineMark extends Object implements ICommad
{
//static constructor
public static function CommandUITimelineMark$cinit()
{ //MethodID:3501, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandUITimelineMark()
{ //MethodID:3502, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3503, LocalCount= 20 , MaxScope= 1, MaxStack= 6, CodeLength= 868
var hug6:Number = NaN;
var hug7:* = undefined;
var hug9:Number = NaN;
var hug10:BookmarkLink = null;
var hug11:Array = null;
var hug12:Object = null;
var hug13:String = null;
var hug14:Array = null;
var hug15:String = null;
var hug16:URLRequest = null;
var hug17:URLVariables = null;
var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
var hug4:MetaInfo = ConfigurationManager.instance.metaInfo;
var hug5:FlashVariablesConfig = ConfigurationManager.instance.flashVariablesConfig;
hug6 = (hug2.duration ? hug2.duration : hug4.contentDuration);
hug7 = null;
var hug8:BookmarkItem = null;
switch(hug1.type){
case ControlPanelEvent.EVENT_MARK_SHOW_ADD:
hug3.getControl().timeline.markMode = false;
Controller.instance.pauseMovie();
Controller.instance.switchState(PlayerState.STATE_PAUSED);
if((hug4.urlContent.length > 0) && hug5.toggleShowBookmarkWindow){
hug10 = BookmarkLinkFactory.instance.getBookmarkLink(Math.round((hug1 as TimelineEvent).value * hug6));
hug3.getControl().timeline.showMarkEditWindow(hug10.urlCode, hug10.embedCode, hug10.ljCode, hug10.liCode, hug4.isRegistered);
}
break;
case ControlPanelEvent.EVENT_MARK_ADD:
hug7 = (hug1 as MarkEvent);
hug9 = Number((hug7.time * hug6).toFixed(3));
if((hug2.duration > 0) && !hug2.isLive){
hug8 = new BookmarkItem((hug7.time * hug6), hug2.preBalancedUrl, hug7.data, hug4.userInfo.userNick, null);
Controller.instance.m_Bookmarks.push(hug8);
Controller.instance.m_Bookmarks.sort(BookmarkItem.sortOnTime);
hug11 = new Array();
for each(hug12 in Controller.instance.m_Bookmarks){
hug11.push(hug12.time / hug6);
}
hug3.getControl().timeline.marks = hug11;
hug3.getControl().timeline.onPaint();
}
hug3.getControl().timeline.hideMarkEditWindow();
if(Controller.instance.m_AddToBookmarks.length > 0){
hug13 = Controller.instance.m_AddToBookmarks;
hug14 = hug13.split("?");
hug15 = hug14[0];
hug14.shift();
hug16 = new URLRequest(hug15);
hug16.method = URLRequestMethod.POST;
hug17 = new URLVariables(hug14.length ? (hug14[0] as String) : null);
hug17.description = hug7.data;
hug17.begin = (hug7.time * hug6);
hug16.data = hug17;
sendToURL(hug16);
Player.alert(RutubeConstants.TEXT_VIDEO_BOOKMARK_SAVED);
}
break;
case ControlPanelEvent.EVENT_MARK_OVER:
hug7 = (hug1 as TimelineEvent);
if(!hug3.getControl().timeline.isMarkEditWindowVisible()){
hug8 = Controller.instance.m_Bookmarks[hug7.marks[0]];
hug3.getControl().timeline.showMarkPreviewWindow((hug8.time / hug6), Controller.getTimeInfo(hug8.time), null, true);
}
break;
default:
break;
}
}
}
}
//¡script332¡
package ru.rutube.command.commands.ui{
import Components.Player
import flash.events.Event
import flash.net.URLRequest
import flash.net.navigateToURL
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.managers.configuration.data.FlashVariablesConfig
import ru.rutube.managers.configuration.data.MetaInfo
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.states.PlayerState
//¡class(instance)_index:331
public class CommandUITitleVideoClick extends Object implements ICommad
{
//static constructor
public static function CommandUITitleVideoClick$cinit()
{ //MethodID:3505, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandUITitleVideoClick()
{ //MethodID:3506, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3507, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 477
internal var event:Event; //slotID:1
internal var metaInfo:MetaInfo; //slotID:2
internal var flashVariables:FlashVariablesConfig; //slotID:3
internal var streamController:StreamController; //slotID:4
internal var duration:Number; //slotID:5
internal var flvplayer:Player; //slotID:6
internal var time:Number; //slotID:7
internal var param:String; //slotID:8
time = NaN;
param = null;
event = hug1;
metaInfo = ConfigurationManager.instance.metaInfo;
flashVariables = ConfigurationManager.instance.flashVariablesConfig;
streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
duration = (streamController.duration ? streamController.duration : metaInfo.contentDuration);
flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
if((metaInfo.urlContentHomePage.length > 0) && !flashVariables.playListEnable){
time = (flvplayer.getControl().timeline.sliderTime * duration);
time = ((time < 1) ? 1 : time);
param = ((ConfigurationManager.instance.metaInfo.urlContentHomePage.indexOf("?") != (-1)) ? "&" : "?");
if(Controller.instance.currentState != PlayerState.STATE_PAUSED) param += "autoStart=true";
param += (!isNaN(time) ? ("&bmstart=" + Math.floor(time * 1000)) : "");
try{
navigateToURL(new URLRequest(metaInfo.urlContentHomePage + param), "_blank");
}
catch(error:SecurityError){
trace("Controller.OnVideoWindowClick:", error);
return;
}
if(Controller.instance.currentState != PlayerState.STATE_PAUSED){
if(flashVariables.toggleInnerEmbedFlash && (event != null)){
streamController.stop();
}else{
Controller.instance.pauseMovie();
}
Controller.instance.switchState(PlayerState.STATE_PAUSED);
}
}
}
}
}
//¡script333¡
package ru.rutube.command.commands.streaming{
import Components.Player
import flash.events.Event
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
import ru.rutube.managers.playback.controller.StreamController
import ru.rutube.managers.playback.controller.StreamControllerEvent
import ru.rutube.managers.playback.controller.StreamControllerManager
import ru.rutube.managers.reporter.Reporter
import ru.rutube.managers.statistic.tns.TNSStatistic
import ru.rutube.states.PlayerState
//¡class(instance)_index:332
public class CommandStreamVideoComplete extends Object implements ICommad
{
//static constructor
public static function CommandStreamVideoComplete$cinit()
{ //MethodID:3509, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandStreamVideoComplete()
{ //MethodID:3510, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3511, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 165
var hug2:StreamControllerEvent = (hug1 as StreamControllerEvent);
if(hug2.controllerType != StreamController.CONTROLLER_MAIN_STREAM) return;
var hug3:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM);
var hug4:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
hug4.getControl().timeInfo = 0;
Controller.instance.updateTimeline(0, hug3.duration, true);
Controller.instance.reportAtComplete();
Reporter.instance.send("ve=-1");
TNSStatistic.instance.finishReport(hug3.hash);
Controller.instance.switchState(Controller.instance.m_AdPostViewLocked ? PlayerState.STATE_STOPPED : PlayerState.STATE_POSTVIEW);
}
}
}
//¡script334¡
package Data{
//¡class(instance)_index:333
public class TIDS extends Object
{
//static constructor
public static function TIDS$cinit()
{ //MethodID:3513, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 195
NO_MESSAGE = 0;
FORBIDDEN = 1;
SRC_NOT_FOUND = 2;
REJECT = 3;
BAD_REQUEST = 4;
URL_NOT_FOUND = 5;
NOT_ACCEPTABLE = 6;
NOT_ACCEPTABLE_ONLINE_GET = 7;
NOT_ACCEPTABLE_OFFLINE_GET = 8;
NOT_ACCEPTABLE_ONLINE_POST = 9;
TRY_LATTER = 10;
METHOD_NOT_ALLOWED = 11;
REQUEST_TIMEOUT = 12;
INT_SERVER_ERR = 13;
SERVICE_UNAVAIL = 14;
DOWNLOAD_NEW_VERSION2 = 15;
DOWNLOAD_NEW_VERSION_POST2 = 16;
SRC_LIMIT = 17;
SRC_SYSTEM_FAIL = 18;
NACCESS = 19;
TRAF_LIMIT = 20;
TRAFORCONN_LIMIT = 21;
SRC_EXISTS = 22;
DST_EXISTS = 23;
}
//static variables/etc.
public static const NO_MESSAGE:uint = 0; //slotID:1
public static const FORBIDDEN:uint = 1; //slotID:2
public static const SRC_NOT_FOUND:uint = 2; //slotID:3
public static const REJECT:uint = 3; //slotID:4
public static const BAD_REQUEST:uint = 4; //slotID:5
public static const URL_NOT_FOUND:uint = 5; //slotID:6
public static const NOT_ACCEPTABLE:uint = 6; //slotID:7
public static const NOT_ACCEPTABLE_ONLINE_GET:uint = 7; //slotID:8
public static const NOT_ACCEPTABLE_OFFLINE_GET:uint = 8; //slotID:9
public static const NOT_ACCEPTABLE_ONLINE_POST:uint = 9; //slotID:10
public static const TRY_LATTER:uint = 10; //slotID:11
public static const METHOD_NOT_ALLOWED:uint = 11; //slotID:12
public static const REQUEST_TIMEOUT:uint = 12; //slotID:13
public static const INT_SERVER_ERR:uint = 13; //slotID:14
public static const SERVICE_UNAVAIL:uint = 14; //slotID:15
public static const DOWNLOAD_NEW_VERSION2:uint = 15; //slotID:16
public static const DOWNLOAD_NEW_VERSION_POST2:uint = 16; //slotID:17
public static const SRC_LIMIT:uint = 17; //slotID:18
public static const SRC_SYSTEM_FAIL:uint = 18; //slotID:19
public static const NACCESS:uint = 19; //slotID:20
public static const TRAF_LIMIT:uint = 20; //slotID:21
public static const TRAFORCONN_LIMIT:uint = 21; //slotID:22
public static const SRC_EXISTS:uint = 22; //slotID:23
public static const DST_EXISTS:uint = 23; //slotID:24
//constructor
public function TIDS()
{ //MethodID:3514, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
}
}
//¡script335¡
package ru.rutube.command.commands.ui{
import Components.Player
import flash.events.Event
import ru.rutube.managers.content.ContentIds
import ru.rutube.managers.content.ContentManager
//¡class(instance)_index:334
public class CommandUIHideTopPanel extends Object implements ICommad
{
//static constructor
public static function CommandUIHideTopPanel$cinit()
{ //MethodID:3516, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandUIHideTopPanel()
{ //MethodID:3517, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3518, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 35
var hug2:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player);
hug2.invisibleComponents(hug2.topPanel);
}
}
}
//¡script336¡
package ru.rutube.command.commands.service{
import flash.events.Event
import flash.events.FullScreenEvent
import flash.events.KeyboardEvent
import flash.system.System
import flash.ui.Keyboard
import ru.rutube.event.ControlPanelEvent
import ru.rutube.event.EventManager
import ru.rutube.event.EventSources
import ru.rutube.event.InternalEvent
import ru.rutube.event.RestartEvent
import ru.rutube.managers.configuration.ConfigurationManager
import ru.rutube.states.PlayerState
//¡class(instance)_index:335
public class CommandStageEvents extends Object implements ICommad
{
//static constructor
public static function CommandStageEvents$cinit()
{ //MethodID:3520, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3
}
//constructor
public function CommandStageEvents()
{ //MethodID:3521, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6
super();
}
//variables/etc.
public function execute(hug1:Event):void
{ //MethodID:3522, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 334
var hug2:InternalEvent = null;
var hug3:KeyboardEvent = null;
var hug4:RestartEvent = null;
hug2 = (hug1 as InternalEvent);
switch(hug2.sourceId){
case EventSources.SOURCE_STAGE_KEYBOARD:
hug3 = (hug2.data as KeyboardEvent);
if(!hug3) return;
if(hug3.keyCode == Keyboard.SPACE){
if(Controller.instance.currentState == PlayerState.STATE_PAUSED){
Controller.instance.OnBnPlay();
}else if(Controller.instance.currentState == PlayerState.STATE_STARTED){
EventManager.instance.dispatchEvent(new ControlPanelEvent(ControlPanelEvent.EVENT_PAUSE));
}
}else if(hug3.keyCode == Keyboard.CONTROL){
if(!ConfigurationManager.DEBUG_MODE) return;
hug4 = new RestartEvent(RestartEvent.RESTART, {file:"http://bl.rutube.ru/f0ba20dd559a7ba1ea49f2af72f133be.iflv", xurl:"http://rutube.ru/trackinfo/f0ba20dd559a7ba1ea49f2af72f133be.html"});
EventManager.instance.dispatchEvent(hug4);
}else if(hug3.keyCode == Keyboard.HOME){
System.setClipboard(ConfigurationManager.instance.flashVariablesConfig.toString());
}
break;
case EventSources.SOURCE_STAGE:
if(hug2.data is FullScreenEvent) Controller.instance.fullScreenHandled = true;
break;
default:
break;
}
}
}
}