home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / Frizzle_fraz.swf / scripts / mx / core / UIComponent.as < prev    next >
Encoding:
Text File  |  2008-09-26  |  119.7 KB  |  3,964 lines

  1. package mx.core
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.display.DisplayObjectContainer;
  5.    import flash.display.GradientType;
  6.    import flash.display.Graphics;
  7.    import flash.display.InteractiveObject;
  8.    import flash.display.Sprite;
  9.    import flash.events.Event;
  10.    import flash.events.EventPhase;
  11.    import flash.events.FocusEvent;
  12.    import flash.events.IEventDispatcher;
  13.    import flash.events.KeyboardEvent;
  14.    import flash.geom.Matrix;
  15.    import flash.geom.Point;
  16.    import flash.geom.Rectangle;
  17.    import flash.system.ApplicationDomain;
  18.    import flash.text.TextLineMetrics;
  19.    import flash.utils.getQualifiedClassName;
  20.    import flash.utils.getQualifiedSuperclassName;
  21.    import mx.automation.IAutomationObject;
  22.    import mx.binding.BindingManager;
  23.    import mx.effects.Effect;
  24.    import mx.effects.EffectInstance;
  25.    import mx.effects.EffectManager;
  26.    import mx.events.ChildExistenceChangedEvent;
  27.    import mx.events.DynamicEvent;
  28.    import mx.events.EffectEvent;
  29.    import mx.events.FlexEvent;
  30.    import mx.events.MoveEvent;
  31.    import mx.events.PropertyChangeEvent;
  32.    import mx.events.ResizeEvent;
  33.    import mx.events.StateChangeEvent;
  34.    import mx.events.ValidationResultEvent;
  35.    import mx.graphics.RoundedRectangle;
  36.    import mx.managers.IFocusManager;
  37.    import mx.managers.IFocusManagerComponent;
  38.    import mx.managers.IFocusManagerContainer;
  39.    import mx.managers.ILayoutManagerClient;
  40.    import mx.managers.ISystemManager;
  41.    import mx.managers.IToolTipManagerClient;
  42.    import mx.managers.SystemManager;
  43.    import mx.managers.SystemManagerGlobals;
  44.    import mx.managers.ToolTipManager;
  45.    import mx.modules.ModuleManager;
  46.    import mx.resources.ResourceBundle;
  47.    import mx.skins.ProgrammaticSkin;
  48.    import mx.states.State;
  49.    import mx.states.Transition;
  50.    import mx.styles.CSSStyleDeclaration;
  51.    import mx.styles.ISimpleStyleClient;
  52.    import mx.styles.IStyleClient;
  53.    import mx.styles.StyleManager;
  54.    import mx.styles.StyleProtoChain;
  55.    import mx.utils.ColorUtil;
  56.    import mx.utils.GraphicsUtil;
  57.    import mx.utils.StringUtil;
  58.    import mx.validators.IValidatorListener;
  59.    import mx.validators.ValidationResult;
  60.    
  61.    use namespace mx_internal;
  62.    
  63.    public class UIComponent extends FlexSprite implements IAutomationObject, IChildList, IDeferredInstantiationUIComponent, IFlexDisplayObject, IFlexModule, IInvalidating, ILayoutManagerClient, IPropertyChangeNotifier, IRepeaterClient, ISimpleStyleClient, IStyleClient, IToolTipManagerClient, IUIComponent, IValidatorListener
  64.    {
  65.       
  66.       mx_internal static var dispatchEventHook:Function;
  67.       
  68.       private static var fakeMouseY:QName = new QName(mx_internal,"_mouseY");
  69.       
  70.       public static const DEFAULT_MEASURED_WIDTH:Number = 160;
  71.       
  72.       public static const DEFAULT_MAX_WIDTH:Number = 10000;
  73.       
  74.       public static const DEFAULT_MEASURED_MIN_HEIGHT:Number = 22;
  75.       
  76.       mx_internal static var createAccessibilityImplementation:Function;
  77.       
  78.       mx_internal static var STYLE_UNINITIALIZED:Object = {};
  79.       
  80.       private static var fakeMouseX:QName = new QName(mx_internal,"_mouseX");
  81.       
  82.       public static const DEFAULT_MAX_HEIGHT:Number = 10000;
  83.       
  84.       public static const DEFAULT_MEASURED_HEIGHT:Number = 22;
  85.       
  86.       mx_internal static const VERSION:String = "2.0.1.0";
  87.       
  88.       public static const DEFAULT_MEASURED_MIN_WIDTH:Number = 40;
  89.        
  90.       
  91.       private var errorStringChanged:Boolean = false;
  92.       
  93.       mx_internal var overlay:UIComponent;
  94.       
  95.       mx_internal var automaticRadioButtonGroups:Object;
  96.       
  97.       private var _currentState:String;
  98.       
  99.       private var _isPopUp:Boolean;
  100.       
  101.       private var _repeaters:Array;
  102.       
  103.       private var packageResources:ResourceBundle;
  104.       
  105.       private var _systemManager:ISystemManager;
  106.       
  107.       private var _measuredWidth:Number = 0;
  108.       
  109.       private var methodQueue:Array;
  110.       
  111.       mx_internal var _width:Number;
  112.       
  113.       private var _tweeningProperties:Array;
  114.       
  115.       private var _validationSubField:String;
  116.       
  117.       private var _endingEffectInstances:Array;
  118.       
  119.       mx_internal var saveBorderColor:Boolean = true;
  120.       
  121.       mx_internal var overlayColor:uint;
  122.       
  123.       private var _repeaterIndices:Array;
  124.       
  125.       private var oldExplicitWidth:Number;
  126.       
  127.       mx_internal var _descriptor:UIComponentDescriptor;
  128.       
  129.       private var _initialized:Boolean = false;
  130.       
  131.       private var requestedCurrentState:String;
  132.       
  133.       private var _focusEnabled:Boolean = true;
  134.       
  135.       private var cacheAsBitmapCount:int = 0;
  136.       
  137.       mx_internal var overlayReferenceCount:int = 0;
  138.       
  139.       private var listeningForRender:Boolean = false;
  140.       
  141.       mx_internal var invalidateDisplayListFlag:Boolean = false;
  142.       
  143.       private var oldScaleX:Number = 1;
  144.       
  145.       private var oldScaleY:Number = 1;
  146.       
  147.       mx_internal var _explicitMaxHeight:Number;
  148.       
  149.       mx_internal var invalidatePropertiesFlag:Boolean = false;
  150.       
  151.       private var hasFocusRect:Boolean = false;
  152.       
  153.       private var _scaleX:Number = 1;
  154.       
  155.       private var _scaleY:Number = 1;
  156.       
  157.       mx_internal var invalidateSizeFlag:Boolean = false;
  158.       
  159.       private var _styleDeclaration:CSSStyleDeclaration;
  160.       
  161.       mx_internal var _documentDescriptor:UIComponentDescriptor;
  162.       
  163.       mx_internal var _affectedProperties:Object;
  164.       
  165.       private var _processedDescriptors:Boolean = false;
  166.       
  167.       mx_internal var origBorderColor:Number;
  168.       
  169.       private var _focusManager:IFocusManager;
  170.       
  171.       private var _cachePolicy:String = "auto";
  172.       
  173.       private var _measuredHeight:Number = 0;
  174.       
  175.       private var _id:String;
  176.       
  177.       private var _owner:DisplayObjectContainer;
  178.       
  179.       public var transitions:Array;
  180.       
  181.       mx_internal var _parent:DisplayObjectContainer;
  182.       
  183.       private var _measuredMinWidth:Number = 0;
  184.       
  185.       private var oldMinWidth:Number;
  186.       
  187.       private var _enabled:Boolean = false;
  188.       
  189.       public var states:Array;
  190.       
  191.       private var _explicitWidth:Number;
  192.       
  193.       private var _mouseFocusEnabled:Boolean = true;
  194.       
  195.       private var oldHeight:Number = 0;
  196.       
  197.       private var _currentStateChanged:Boolean;
  198.       
  199.       private var cachedTextFormat:UITextFormat;
  200.       
  201.       private var _automationDelegate:IAutomationObject;
  202.       
  203.       mx_internal var _height:Number;
  204.       
  205.       private var _percentWidth:Number;
  206.       
  207.       private var _automationName:String = null;
  208.       
  209.       private var _isEffectStarted:Boolean = false;
  210.       
  211.       private var _styleName:Object;
  212.       
  213.       mx_internal var _document:Object;
  214.       
  215.       private var _errorString:String = "";
  216.       
  217.       private var oldExplicitHeight:Number;
  218.       
  219.       private var _nestLevel:int = 0;
  220.       
  221.       private var _explicitHeight:Number;
  222.       
  223.       private var _filters:Array;
  224.       
  225.       private var _toolTip:String;
  226.       
  227.       private var _focusPane:Sprite;
  228.       
  229.       private var playStateTransition:Boolean = true;
  230.       
  231.       private var _nonInheritingStyles:Object;
  232.       
  233.       private var _showInAutomationHierarchy:Boolean = true;
  234.       
  235.       private var _moduleFactory:IFlexModuleFactory;
  236.       
  237.       private var oldX:Number = 0;
  238.       
  239.       private var oldY:Number = 0;
  240.       
  241.       private var _instanceIndices:Array;
  242.       
  243.       private var _visible:Boolean = true;
  244.       
  245.       private var _inheritingStyles:Object;
  246.       
  247.       private var _includeInLayout:Boolean = true;
  248.       
  249.       mx_internal var _effectsStarted:Array;
  250.       
  251.       private var _explicitMinWidth:Number;
  252.       
  253.       private var resourceStateUndefined:String = null;
  254.       
  255.       mx_internal var _explicitMaxWidth:Number;
  256.       
  257.       private var _measuredMinHeight:Number = 0;
  258.       
  259.       private var _uid:String;
  260.       
  261.       private var _currentTransitionEffect:Effect;
  262.       
  263.       private var _updateCompletePendingFlag:Boolean = false;
  264.       
  265.       private var oldMinHeight:Number;
  266.       
  267.       mx_internal var _explicitMinHeight:Number;
  268.       
  269.       private var _percentHeight:Number;
  270.       
  271.       private var oldWidth:Number = 0;
  272.       
  273.       public function UIComponent()
  274.       {
  275.          packageResources = ResourceBundle.getResourceBundle("core",ApplicationDomain.currentDomain);
  276.          resourceStateUndefined = null;
  277.          listeningForRender = false;
  278.          methodQueue = [];
  279.          hasFocusRect = false;
  280.          _initialized = false;
  281.          _processedDescriptors = false;
  282.          _updateCompletePendingFlag = false;
  283.          mx_internal::invalidatePropertiesFlag = false;
  284.          mx_internal::invalidateSizeFlag = false;
  285.          mx_internal::invalidateDisplayListFlag = false;
  286.          oldX = 0;
  287.          oldY = 0;
  288.          oldWidth = 0;
  289.          oldHeight = 0;
  290.          oldScaleX = 1;
  291.          oldScaleY = 1;
  292.          mx_internal::overlayReferenceCount = 0;
  293.          mx_internal::saveBorderColor = true;
  294.          _scaleX = 1;
  295.          _scaleY = 1;
  296.          _visible = true;
  297.          _enabled = false;
  298.          _nestLevel = 0;
  299.          _inheritingStyles = UIComponent.mx_internal::STYLE_UNINITIALIZED;
  300.          _nonInheritingStyles = UIComponent.mx_internal::STYLE_UNINITIALIZED;
  301.          _cachePolicy = UIComponentCachePolicy.AUTO;
  302.          cacheAsBitmapCount = 0;
  303.          _focusEnabled = true;
  304.          _mouseFocusEnabled = true;
  305.          _measuredMinWidth = 0;
  306.          _measuredMinHeight = 0;
  307.          _measuredWidth = 0;
  308.          _measuredHeight = 0;
  309.          _includeInLayout = true;
  310.          playStateTransition = true;
  311.          states = [];
  312.          transitions = [];
  313.          _automationName = null;
  314.          _showInAutomationHierarchy = true;
  315.          _errorString = "";
  316.          errorStringChanged = false;
  317.          mx_internal::_effectsStarted = [];
  318.          mx_internal::_affectedProperties = {};
  319.          _isEffectStarted = false;
  320.          _endingEffectInstances = [];
  321.          super();
  322.          focusRect = false;
  323.          tabEnabled = this is IFocusManagerComponent;
  324.          enabled = true;
  325.          mx_internal::$visible = false;
  326.          addEventListener(Event.ADDED,addedHandler);
  327.          addEventListener(Event.REMOVED,removedHandler);
  328.          if(this is IFocusManagerComponent)
  329.          {
  330.             addEventListener(FocusEvent.FOCUS_IN,focusInHandler);
  331.             addEventListener(FocusEvent.FOCUS_OUT,focusOutHandler);
  332.             addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
  333.             addEventListener(KeyboardEvent.KEY_UP,keyUpHandler);
  334.          }
  335.          mx_internal::_width = super.width;
  336.          mx_internal::_height = super.height;
  337.       }
  338.       
  339.       public static function resumeBackgroundProcessing() : void
  340.       {
  341.          var _loc1_:SystemManager = null;
  342.          if(UIComponentGlobals.mx_internal::callLaterSuspendCount > 0)
  343.          {
  344.             --UIComponentGlobals.mx_internal::callLaterSuspendCount;
  345.             if(UIComponentGlobals.mx_internal::callLaterSuspendCount == 0)
  346.             {
  347.                _loc1_ = SystemManagerGlobals.topLevelSystemManagers[0];
  348.                if(Boolean(_loc1_) && Boolean(_loc1_.stage))
  349.                {
  350.                   _loc1_.stage.invalidate();
  351.                }
  352.             }
  353.          }
  354.       }
  355.       
  356.       public static function suspendBackgroundProcessing() : void
  357.       {
  358.          ++UIComponentGlobals.mx_internal::callLaterSuspendCount;
  359.       }
  360.       
  361.       public function getStyle(param1:String) : *
  362.       {
  363.          return !!StyleManager.mx_internal::inheritingStyles[param1] ? _inheritingStyles[param1] : _nonInheritingStyles[param1];
  364.       }
  365.       
  366.       [Bindable("toolTipChanged")]
  367.       public function get toolTip() : String
  368.       {
  369.          return _toolTip;
  370.       }
  371.       
  372.       private function transition_effectEndHandler(param1:EffectEvent) : void
  373.       {
  374.          _currentTransitionEffect = null;
  375.       }
  376.       
  377.       public function get nestLevel() : int
  378.       {
  379.          return _nestLevel;
  380.       }
  381.       
  382.       protected function adjustFocusRect(param1:DisplayObject = null) : void
  383.       {
  384.          var _loc2_:IFocusManager = null;
  385.          var _loc3_:IFlexDisplayObject = null;
  386.          var _loc4_:Number = NaN;
  387.          var _loc5_:Number = NaN;
  388.          var _loc6_:Point = null;
  389.          var _loc7_:Number = NaN;
  390.          if(!param1)
  391.          {
  392.             param1 = this;
  393.          }
  394.          if(isNaN(param1.width) || isNaN(param1.height))
  395.          {
  396.             return;
  397.          }
  398.          _loc2_ = focusManager;
  399.          if(!_loc2_)
  400.          {
  401.             return;
  402.          }
  403.          _loc3_ = IFlexDisplayObject(mx_internal::getFocusObject());
  404.          if(_loc3_)
  405.          {
  406.             if(Boolean(errorString) && errorString != "")
  407.             {
  408.                _loc4_ = getStyle("errorColor");
  409.             }
  410.             else
  411.             {
  412.                _loc4_ = getStyle("themeColor");
  413.             }
  414.             _loc5_ = getStyle("focusThickness");
  415.             if(_loc3_ is IStyleClient)
  416.             {
  417.                IStyleClient(_loc3_).setStyle("focusColor",_loc4_);
  418.             }
  419.             _loc3_.setActualSize(param1.width + 2 * _loc5_,param1.height + 2 * _loc5_);
  420.             if(rotation)
  421.             {
  422.                _loc7_ = rotation * Math.PI / 180;
  423.                _loc6_ = new Point(param1.x - _loc5_ * (Math.cos(_loc7_) - Math.sin(_loc7_)),param1.y - _loc5_ * (Math.cos(_loc7_) + Math.sin(_loc7_)));
  424.                DisplayObject(_loc3_).rotation = rotation;
  425.             }
  426.             else
  427.             {
  428.                _loc6_ = new Point(param1.x - _loc5_,param1.y - _loc5_);
  429.             }
  430.             if(param1.parent == this)
  431.             {
  432.                _loc6_.x += x;
  433.                _loc6_.y += y;
  434.             }
  435.             _loc6_ = parent.localToGlobal(_loc6_);
  436.             _loc6_ = parent.globalToLocal(_loc6_);
  437.             _loc3_.move(_loc6_.x,_loc6_.y);
  438.             if(_loc3_ is IInvalidating)
  439.             {
  440.                IInvalidating(_loc3_).validateNow();
  441.             }
  442.             else if(_loc3_ is ProgrammaticSkin)
  443.             {
  444.                ProgrammaticSkin(_loc3_).validateNow();
  445.             }
  446.          }
  447.       }
  448.       
  449.       public function set nestLevel(param1:int) : void
  450.       {
  451.          var _loc2_:IChildList = null;
  452.          var _loc3_:int = 0;
  453.          var _loc4_:int = 0;
  454.          var _loc5_:ILayoutManagerClient = null;
  455.          var _loc6_:UITextField = null;
  456.          if(param1 > 1 && _nestLevel != param1)
  457.          {
  458.             _nestLevel = param1;
  459.             mx_internal::updateCallbacks();
  460.             _loc2_ = this is IRawChildrenContainer ? IRawChildrenContainer(this).rawChildren : IChildList(this);
  461.             _loc3_ = _loc2_.numChildren;
  462.             _loc4_ = 0;
  463.             while(_loc4_ < _loc3_)
  464.             {
  465.                if(_loc5_ = _loc2_.getChildAt(_loc4_) as ILayoutManagerClient)
  466.                {
  467.                   _loc5_.nestLevel = param1 + 1;
  468.                }
  469.                else if(_loc6_ = _loc2_.getChildAt(_loc4_) as UITextField)
  470.                {
  471.                   _loc6_.nestLevel = param1 + 1;
  472.                }
  473.                _loc4_++;
  474.             }
  475.          }
  476.       }
  477.       
  478.       public function getExplicitOrMeasuredHeight() : Number
  479.       {
  480.          return !isNaN(explicitHeight) ? explicitHeight : measuredHeight;
  481.       }
  482.       
  483.       private function callLaterDispatcher(param1:Event) : void
  484.       {
  485.          var layoutErrorEvent:DynamicEvent = null;
  486.          var event:Event = param1;
  487.          ++UIComponentGlobals.mx_internal::callLaterDispatcherCount;
  488.          if(!UIComponentGlobals.mx_internal::designTime)
  489.          {
  490.             callLaterDispatcher2(event);
  491.          }
  492.          else
  493.          {
  494.             try
  495.             {
  496.                callLaterDispatcher2(event);
  497.             }
  498.             catch(e:Error)
  499.             {
  500.                layoutErrorEvent = new DynamicEvent("layoutError");
  501.                layoutErrorEvent.error = e;
  502.                systemManager.dispatchEvent(layoutErrorEvent);
  503.             }
  504.          }
  505.          --UIComponentGlobals.mx_internal::callLaterDispatcherCount;
  506.       }
  507.       
  508.       final mx_internal function get $width() : Number
  509.       {
  510.          return super.width;
  511.       }
  512.       
  513.       public function get className() : String
  514.       {
  515.          var _loc1_:String = null;
  516.          var _loc2_:int = 0;
  517.          _loc1_ = getQualifiedClassName(this);
  518.          _loc2_ = _loc1_.indexOf("::");
  519.          if(_loc2_ != -1)
  520.          {
  521.             _loc1_ = _loc1_.substr(_loc2_ + 2);
  522.          }
  523.          return _loc1_;
  524.       }
  525.       
  526.       public function verticalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  527.       {
  528.          UIComponentGlobals.mx_internal::tempMatrix.createGradientBox(param3,param4,Math.PI / 2,param1,param2);
  529.          return UIComponentGlobals.mx_internal::tempMatrix;
  530.       }
  531.       
  532.       public function setCurrentState(param1:String, param2:Boolean = true) : void
  533.       {
  534.          if(param1 != currentState && !(isBaseState(param1) && isBaseState(currentState)))
  535.          {
  536.             requestedCurrentState = param1;
  537.             playStateTransition = param2;
  538.             if(initialized)
  539.             {
  540.                commitCurrentState();
  541.             }
  542.             else
  543.             {
  544.                _currentStateChanged = true;
  545.                addEventListener(FlexEvent.CREATION_COMPLETE,creationCompleteHandler);
  546.             }
  547.          }
  548.       }
  549.       
  550.       private function getBaseStates(param1:State) : Array
  551.       {
  552.          var _loc2_:Array = null;
  553.          _loc2_ = [];
  554.          while(Boolean(param1) && param1.basedOn != "")
  555.          {
  556.             _loc2_.push(param1.basedOn);
  557.             param1 = getState(param1.basedOn);
  558.          }
  559.          return _loc2_;
  560.       }
  561.       
  562.       public function set minHeight(param1:Number) : void
  563.       {
  564.          if(explicitMinHeight == param1)
  565.          {
  566.             return;
  567.          }
  568.          explicitMinHeight = param1;
  569.       }
  570.       
  571.       [Bindable("errorStringChanged")]
  572.       public function get errorString() : String
  573.       {
  574.          return _errorString;
  575.       }
  576.       
  577.       protected function isOurFocus(param1:DisplayObject) : Boolean
  578.       {
  579.          return param1 == this;
  580.       }
  581.       
  582.       public function get automationName() : String
  583.       {
  584.          if(_automationName)
  585.          {
  586.             return _automationName;
  587.          }
  588.          if(automationDelegate)
  589.          {
  590.             return automationDelegate.automationName;
  591.          }
  592.          return "";
  593.       }
  594.       
  595.       final mx_internal function set $width(param1:Number) : void
  596.       {
  597.          super.width = param1;
  598.       }
  599.       
  600.       public function invalidateDisplayList() : void
  601.       {
  602.          if(!mx_internal::invalidateDisplayListFlag)
  603.          {
  604.             mx_internal::invalidateDisplayListFlag = true;
  605.             if(Boolean(parent) && Boolean(UIComponentGlobals.mx_internal::layoutManager))
  606.             {
  607.                UIComponentGlobals.mx_internal::layoutManager.invalidateDisplayList(this);
  608.             }
  609.          }
  610.       }
  611.       
  612.       [Bindable("scaleXChanged")]
  613.       override public function get scaleX() : Number
  614.       {
  615.          return _scaleX;
  616.       }
  617.       
  618.       [Bindable("scaleYChanged")]
  619.       override public function get scaleY() : Number
  620.       {
  621.          return _scaleY;
  622.       }
  623.       
  624.       mx_internal function initThemeColor() : Boolean
  625.       {
  626.          var _loc1_:Object = null;
  627.          var _loc2_:Object = null;
  628.          var _loc3_:Number = NaN;
  629.          var _loc4_:Number = NaN;
  630.          var _loc5_:Object = null;
  631.          var _loc6_:Array = null;
  632.          var _loc7_:int = 0;
  633.          var _loc8_:CSSStyleDeclaration = null;
  634.          _loc1_ = _styleName;
  635.          if(_styleDeclaration)
  636.          {
  637.             _loc2_ = _styleDeclaration.getStyle("themeColor");
  638.             _loc3_ = _styleDeclaration.getStyle("rollOverColor");
  639.             _loc4_ = _styleDeclaration.getStyle("selectionColor");
  640.          }
  641.          if(!_loc2_ && _loc1_ && !(_loc1_ is ISimpleStyleClient))
  642.          {
  643.             if(_loc5_ = _loc1_ is String ? StyleManager.getStyleDeclaration("." + _loc1_) : _loc1_)
  644.             {
  645.                _loc2_ = _loc5_.getStyle("themeColor");
  646.                _loc3_ = Number(_loc5_.getStyle("rollOverColor"));
  647.                _loc4_ = Number(_loc5_.getStyle("selectionColor"));
  648.             }
  649.          }
  650.          if(!_loc2_)
  651.          {
  652.             _loc6_ = getClassStyleDeclarations();
  653.             _loc7_ = 0;
  654.             while(_loc7_ < _loc6_.length)
  655.             {
  656.                if(_loc8_ = _loc6_[_loc7_])
  657.                {
  658.                   _loc2_ = _loc8_.getStyle("themeColor");
  659.                   _loc3_ = _loc8_.getStyle("rollOverColor");
  660.                   _loc4_ = _loc8_.getStyle("selectionColor");
  661.                }
  662.                if(_loc2_)
  663.                {
  664.                   break;
  665.                }
  666.                _loc7_++;
  667.             }
  668.          }
  669.          if(_loc2_ && isNaN(_loc3_) && isNaN(_loc4_))
  670.          {
  671.             mx_internal::setThemeColor(_loc2_);
  672.             return true;
  673.          }
  674.          return Boolean(_loc2_) && !isNaN(_loc3_) && !isNaN(_loc4_);
  675.       }
  676.       
  677.       override public function get mouseX() : Number
  678.       {
  679.          if(!root || root[fakeMouseX] === undefined)
  680.          {
  681.             return super.mouseX;
  682.          }
  683.          return globalToLocal(new Point(root[fakeMouseX],0)).x;
  684.       }
  685.       
  686.       override public function get mouseY() : Number
  687.       {
  688.          if(!root || root[fakeMouseY] === undefined)
  689.          {
  690.             return super.mouseY;
  691.          }
  692.          return globalToLocal(new Point(0,root[fakeMouseY])).y;
  693.       }
  694.       
  695.       override public function stopDrag() : void
  696.       {
  697.          super.stopDrag();
  698.          invalidateProperties();
  699.          dispatchEvent(new Event("xChanged"));
  700.          dispatchEvent(new Event("yChanged"));
  701.       }
  702.       
  703.       public function get uid() : String
  704.       {
  705.          if(!_uid)
  706.          {
  707.             _uid = toString();
  708.          }
  709.          return _uid;
  710.       }
  711.       
  712.       public function set tweeningProperties(param1:Array) : void
  713.       {
  714.          _tweeningProperties = param1;
  715.       }
  716.       
  717.       public function get focusPane() : Sprite
  718.       {
  719.          return _focusPane;
  720.       }
  721.       
  722.       public function horizontalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  723.       {
  724.          UIComponentGlobals.mx_internal::tempMatrix.createGradientBox(param3,param4,0,param1,param2);
  725.          return UIComponentGlobals.mx_internal::tempMatrix;
  726.       }
  727.       
  728.       public function set validationSubField(param1:String) : void
  729.       {
  730.          _validationSubField = param1;
  731.       }
  732.       
  733.       protected function keyDownHandler(param1:KeyboardEvent) : void
  734.       {
  735.       }
  736.       
  737.       public function get isDocument() : Boolean
  738.       {
  739.          return document == this;
  740.       }
  741.       
  742.       mx_internal function addOverlay(param1:uint, param2:RoundedRectangle = null) : void
  743.       {
  744.          if(!mx_internal::overlay)
  745.          {
  746.             mx_internal::overlayColor = param1;
  747.             mx_internal::overlay = new UIComponent();
  748.             mx_internal::overlay.name = "overlay";
  749.             mx_internal::fillOverlay(mx_internal::overlay,param1,param2);
  750.             attachOverlay();
  751.             if(!param2)
  752.             {
  753.                addEventListener(ResizeEvent.RESIZE,overlay_resizeHandler);
  754.             }
  755.             mx_internal::overlay.x = 0;
  756.             mx_internal::overlay.y = 0;
  757.             invalidateDisplayList();
  758.             mx_internal::overlayReferenceCount = 1;
  759.          }
  760.          else
  761.          {
  762.             ++mx_internal::overlayReferenceCount;
  763.          }
  764.          dispatchEvent(new ChildExistenceChangedEvent(ChildExistenceChangedEvent.OVERLAY_CREATED,true,false,mx_internal::overlay));
  765.       }
  766.       
  767.       [Bindable("show")]
  768.       [Bindable("hide")]
  769.       override public function get visible() : Boolean
  770.       {
  771.          return _visible;
  772.       }
  773.       
  774.       public function get screen() : Rectangle
  775.       {
  776.          var _loc1_:ISystemManager = null;
  777.          _loc1_ = systemManager;
  778.          return !!_loc1_ ? _loc1_.screen : null;
  779.       }
  780.       
  781.       [Bindable("xChanged")]
  782.       override public function get x() : Number
  783.       {
  784.          return super.x;
  785.       }
  786.       
  787.       [Bindable("yChanged")]
  788.       override public function get y() : Number
  789.       {
  790.          return super.y;
  791.       }
  792.       
  793.       [Bindable("explicitHeightChanged")]
  794.       public function get explicitHeight() : Number
  795.       {
  796.          return _explicitHeight;
  797.       }
  798.       
  799.       protected function focusInHandler(param1:FocusEvent) : void
  800.       {
  801.          var _loc2_:IFocusManager = null;
  802.          if(isOurFocus(DisplayObject(param1.target)))
  803.          {
  804.             _loc2_ = focusManager;
  805.             if(Boolean(_loc2_) && _loc2_.showFocusIndicator)
  806.             {
  807.                drawFocus(true);
  808.             }
  809.             Container.mx_internal::checkFocus(param1.relatedObject,this);
  810.          }
  811.       }
  812.       
  813.       private function focusObj_scrollHandler(param1:Event) : void
  814.       {
  815.          adjustFocusRect();
  816.       }
  817.       
  818.       [Bindable("resize")]
  819.       public function get percentWidth() : Number
  820.       {
  821.          return _percentWidth;
  822.       }
  823.       
  824.       public function set automationName(param1:String) : void
  825.       {
  826.          _automationName = param1;
  827.       }
  828.       
  829.       public function get mouseFocusEnabled() : Boolean
  830.       {
  831.          return _mouseFocusEnabled;
  832.       }
  833.       
  834.       public function set explicitMinHeight(param1:Number) : void
  835.       {
  836.          var _loc2_:IInvalidating = null;
  837.          if(mx_internal::_explicitMinHeight == param1)
  838.          {
  839.             return;
  840.          }
  841.          mx_internal::_explicitMinHeight = param1;
  842.          invalidateSize();
  843.          _loc2_ = parent as IInvalidating;
  844.          if(_loc2_)
  845.          {
  846.             _loc2_.invalidateSize();
  847.             _loc2_.invalidateDisplayList();
  848.          }
  849.          dispatchEvent(new Event("explicitMinHeightChanged"));
  850.       }
  851.       
  852.       public function stylesInitialized() : void
  853.       {
  854.       }
  855.       
  856.       public function set errorString(param1:String) : void
  857.       {
  858.          ToolTipManager.mx_internal::registerErrorString(this,param1);
  859.          _errorString = param1;
  860.          errorStringChanged = true;
  861.          invalidateProperties();
  862.          dispatchEvent(new Event("errorStringChanged"));
  863.       }
  864.       
  865.       public function getExplicitOrMeasuredWidth() : Number
  866.       {
  867.          return !isNaN(explicitWidth) ? explicitWidth : measuredWidth;
  868.       }
  869.       
  870.       final mx_internal function set $height(param1:Number) : void
  871.       {
  872.          super.height = param1;
  873.       }
  874.       
  875.       final mx_internal function $removeChild(param1:DisplayObject) : DisplayObject
  876.       {
  877.          return super.removeChild(param1);
  878.       }
  879.       
  880.       override public function set scaleX(param1:Number) : void
  881.       {
  882.          if(_scaleX == param1)
  883.          {
  884.             return;
  885.          }
  886.          _scaleX = param1;
  887.          invalidateProperties();
  888.          invalidateSize();
  889.          dispatchEvent(new Event("scaleXChanged"));
  890.       }
  891.       
  892.       override public function set scaleY(param1:Number) : void
  893.       {
  894.          if(_scaleY == param1)
  895.          {
  896.             return;
  897.          }
  898.          _scaleY = param1;
  899.          invalidateProperties();
  900.          invalidateSize();
  901.          dispatchEvent(new Event("scaleYChanged"));
  902.       }
  903.       
  904.       protected function keyUpHandler(param1:KeyboardEvent) : void
  905.       {
  906.       }
  907.       
  908.       override public function get parent() : DisplayObjectContainer
  909.       {
  910.          return !!mx_internal::_parent ? mx_internal::_parent : super.parent;
  911.       }
  912.       
  913.       mx_internal function get isEffectStarted() : Boolean
  914.       {
  915.          return _isEffectStarted;
  916.       }
  917.       
  918.       public function set uid(param1:String) : void
  919.       {
  920.          this._uid = param1;
  921.       }
  922.       
  923.       mx_internal function adjustSizesForScaleChanges() : void
  924.       {
  925.          var _loc1_:Number = NaN;
  926.          var _loc2_:Number = NaN;
  927.          var _loc3_:Number = NaN;
  928.          _loc1_ = scaleX;
  929.          _loc2_ = scaleY;
  930.          if(_loc1_ != oldScaleX)
  931.          {
  932.             _loc3_ = Math.abs(_loc1_ / oldScaleX);
  933.             if(explicitMinWidth)
  934.             {
  935.                explicitMinWidth *= _loc3_;
  936.             }
  937.             if(!isNaN(explicitWidth))
  938.             {
  939.                explicitWidth *= _loc3_;
  940.             }
  941.             if(explicitMaxWidth)
  942.             {
  943.                explicitMaxWidth *= _loc3_;
  944.             }
  945.             oldScaleX = _loc1_;
  946.          }
  947.          if(_loc2_ != oldScaleY)
  948.          {
  949.             _loc3_ = Math.abs(_loc2_ / oldScaleY);
  950.             if(explicitMinHeight)
  951.             {
  952.                explicitMinHeight *= _loc3_;
  953.             }
  954.             if(explicitHeight)
  955.             {
  956.                explicitHeight *= _loc3_;
  957.             }
  958.             if(explicitMaxHeight)
  959.             {
  960.                explicitMaxHeight *= _loc3_;
  961.             }
  962.             oldScaleY = _loc2_;
  963.          }
  964.       }
  965.       
  966.       public function set focusPane(param1:Sprite) : void
  967.       {
  968.          if(param1)
  969.          {
  970.             addChild(param1);
  971.             param1.x = 0;
  972.             param1.y = 0;
  973.             param1.scrollRect = null;
  974.             _focusPane = param1;
  975.          }
  976.          else
  977.          {
  978.             removeChild(_focusPane);
  979.             _focusPane = null;
  980.          }
  981.       }
  982.       
  983.       public function determineTextFormatFromStyles() : UITextFormat
  984.       {
  985.          var _loc1_:UITextFormat = null;
  986.          _loc1_ = cachedTextFormat;
  987.          if(!_loc1_)
  988.          {
  989.             _loc1_ = new UITextFormat(systemManager);
  990.             _loc1_.align = _inheritingStyles.textAlign;
  991.             _loc1_.bold = _inheritingStyles.fontWeight == "bold";
  992.             _loc1_.color = enabled ? _inheritingStyles.color : _inheritingStyles.disabledColor;
  993.             _loc1_.font = StringUtil.trimArrayElements(_inheritingStyles.fontFamily,",");
  994.             _loc1_.indent = _inheritingStyles.textIndent;
  995.             _loc1_.italic = _inheritingStyles.fontStyle == "italic";
  996.             _loc1_.kerning = _inheritingStyles.kerning;
  997.             _loc1_.leading = _nonInheritingStyles.leading;
  998.             _loc1_.leftMargin = _nonInheritingStyles.paddingLeft;
  999.             _loc1_.letterSpacing = _inheritingStyles.letterSpacing;
  1000.             _loc1_.rightMargin = _nonInheritingStyles.paddingRight;
  1001.             _loc1_.size = _inheritingStyles.fontSize;
  1002.             _loc1_.underline = _nonInheritingStyles.textDecoration == "underline";
  1003.             _loc1_.antiAliasType = _inheritingStyles.fontAntiAliasType;
  1004.             _loc1_.gridFitType = _inheritingStyles.fontGridFitType;
  1005.             _loc1_.sharpness = _inheritingStyles.fontSharpness;
  1006.             _loc1_.thickness = _inheritingStyles.fontThickness;
  1007.             cachedTextFormat = _loc1_;
  1008.          }
  1009.          return _loc1_;
  1010.       }
  1011.       
  1012.       public function getAutomationChildAt(param1:int) : IAutomationObject
  1013.       {
  1014.          if(automationDelegate)
  1015.          {
  1016.             return automationDelegate.getAutomationChildAt(param1);
  1017.          }
  1018.          return null;
  1019.       }
  1020.       
  1021.       private function focusObj_resizeHandler(param1:ResizeEvent) : void
  1022.       {
  1023.          adjustFocusRect();
  1024.       }
  1025.       
  1026.       public function validationResultHandler(param1:ValidationResultEvent) : void
  1027.       {
  1028.          var _loc2_:String = null;
  1029.          var _loc3_:ValidationResult = null;
  1030.          var _loc4_:int = 0;
  1031.          if(param1.type == ValidationResultEvent.VALID)
  1032.          {
  1033.             if(errorString != "")
  1034.             {
  1035.                errorString = "";
  1036.                dispatchEvent(new FlexEvent(FlexEvent.VALID));
  1037.             }
  1038.          }
  1039.          else
  1040.          {
  1041.             if(validationSubField != null && validationSubField != "" && Boolean(param1.results))
  1042.             {
  1043.                _loc4_ = 0;
  1044.                while(_loc4_ < param1.results.length)
  1045.                {
  1046.                   _loc3_ = param1.results[_loc4_];
  1047.                   if(_loc3_.subField == validationSubField)
  1048.                   {
  1049.                      if(_loc3_.isError)
  1050.                      {
  1051.                         _loc2_ = _loc3_.errorMessage;
  1052.                      }
  1053.                      else if(errorString != "")
  1054.                      {
  1055.                         errorString = "";
  1056.                         dispatchEvent(new FlexEvent(FlexEvent.VALID));
  1057.                      }
  1058.                      break;
  1059.                   }
  1060.                   _loc4_++;
  1061.                }
  1062.             }
  1063.             else if(Boolean(param1.results) && param1.results.length > 0)
  1064.             {
  1065.                _loc2_ = String(param1.results[0].errorMessage);
  1066.             }
  1067.             if(Boolean(_loc2_) && errorString != _loc2_)
  1068.             {
  1069.                errorString = _loc2_;
  1070.                dispatchEvent(new FlexEvent(FlexEvent.INVALID));
  1071.             }
  1072.          }
  1073.       }
  1074.       
  1075.       public function invalidateProperties() : void
  1076.       {
  1077.          if(!mx_internal::invalidatePropertiesFlag)
  1078.          {
  1079.             mx_internal::invalidatePropertiesFlag = true;
  1080.             if(Boolean(parent) && Boolean(UIComponentGlobals.mx_internal::layoutManager))
  1081.             {
  1082.                UIComponentGlobals.mx_internal::layoutManager.invalidateProperties(this);
  1083.             }
  1084.          }
  1085.       }
  1086.       
  1087.       public function get inheritingStyles() : Object
  1088.       {
  1089.          return _inheritingStyles;
  1090.       }
  1091.       
  1092.       public function setActualSize(param1:Number, param2:Number) : void
  1093.       {
  1094.          var _loc3_:Boolean = false;
  1095.          _loc3_ = false;
  1096.          if(mx_internal::_width != param1)
  1097.          {
  1098.             mx_internal::_width = param1;
  1099.             dispatchEvent(new Event("widthChanged"));
  1100.             _loc3_ = true;
  1101.          }
  1102.          if(mx_internal::_height != param2)
  1103.          {
  1104.             mx_internal::_height = param2;
  1105.             dispatchEvent(new Event("heightChanged"));
  1106.             _loc3_ = true;
  1107.          }
  1108.          if(_loc3_)
  1109.          {
  1110.             invalidateDisplayList();
  1111.             dispatchResizeEvent();
  1112.          }
  1113.       }
  1114.       
  1115.       final mx_internal function get $x() : Number
  1116.       {
  1117.          return super.x;
  1118.       }
  1119.       
  1120.       final mx_internal function get $y() : Number
  1121.       {
  1122.          return super.y;
  1123.       }
  1124.       
  1125.       override public function set visible(param1:Boolean) : void
  1126.       {
  1127.          setVisible(param1);
  1128.       }
  1129.       
  1130.       public function registerEffects(param1:Array) : void
  1131.       {
  1132.          var _loc2_:int = 0;
  1133.          var _loc3_:int = 0;
  1134.          var _loc4_:String = null;
  1135.          _loc2_ = int(param1.length);
  1136.          _loc3_ = 0;
  1137.          while(_loc3_ < _loc2_)
  1138.          {
  1139.             if((_loc4_ = EffectManager.mx_internal::getEventForEffectTrigger(param1[_loc3_])) != null && _loc4_ != "")
  1140.             {
  1141.                addEventListener(_loc4_,EffectManager.mx_internal::eventHandler,false,EventPriority.EFFECT);
  1142.             }
  1143.             _loc3_++;
  1144.          }
  1145.       }
  1146.       
  1147.       public function createAutomationIDPart(param1:IAutomationObject) : Object
  1148.       {
  1149.          if(automationDelegate)
  1150.          {
  1151.             return automationDelegate.createAutomationIDPart(param1);
  1152.          }
  1153.          return null;
  1154.       }
  1155.       
  1156.       [Bindable("explicitMinWidthChanged")]
  1157.       public function get explicitMinWidth() : Number
  1158.       {
  1159.          return _explicitMinWidth;
  1160.       }
  1161.       
  1162.       private function filterChangeHandler(param1:Event) : void
  1163.       {
  1164.          super.filters = _filters;
  1165.       }
  1166.       
  1167.       override public function set x(param1:Number) : void
  1168.       {
  1169.          if(super.x == param1)
  1170.          {
  1171.             return;
  1172.          }
  1173.          super.x = param1;
  1174.          invalidateProperties();
  1175.          dispatchEvent(new Event("xChanged"));
  1176.       }
  1177.       
  1178.       override public function set y(param1:Number) : void
  1179.       {
  1180.          if(super.y == param1)
  1181.          {
  1182.             return;
  1183.          }
  1184.          super.y = param1;
  1185.          invalidateProperties();
  1186.          dispatchEvent(new Event("yChanged"));
  1187.       }
  1188.       
  1189.       public function set explicitHeight(param1:Number) : void
  1190.       {
  1191.          var _loc2_:IInvalidating = null;
  1192.          if(_explicitHeight == param1)
  1193.          {
  1194.             return;
  1195.          }
  1196.          if(!isNaN(param1))
  1197.          {
  1198.             _percentHeight = NaN;
  1199.          }
  1200.          _explicitHeight = param1;
  1201.          invalidateSize();
  1202.          _loc2_ = parent as IInvalidating;
  1203.          if(Boolean(_loc2_) && includeInLayout)
  1204.          {
  1205.             _loc2_.invalidateSize();
  1206.             _loc2_.invalidateDisplayList();
  1207.          }
  1208.          dispatchEvent(new Event("explicitHeightChanged"));
  1209.       }
  1210.       
  1211.       public function set showInAutomationHierarchy(param1:Boolean) : void
  1212.       {
  1213.          _showInAutomationHierarchy = param1;
  1214.       }
  1215.       
  1216.       public function set systemManager(param1:ISystemManager) : void
  1217.       {
  1218.          _systemManager = param1;
  1219.       }
  1220.       
  1221.       mx_internal function getFocusObject() : DisplayObject
  1222.       {
  1223.          var _loc1_:IFocusManager = null;
  1224.          _loc1_ = focusManager;
  1225.          if(!_loc1_ || !_loc1_.focusPane)
  1226.          {
  1227.             return null;
  1228.          }
  1229.          return _loc1_.focusPane.numChildren == 0 ? null : _loc1_.focusPane.getChildAt(0);
  1230.       }
  1231.       
  1232.       override public function addChild(param1:DisplayObject) : DisplayObject
  1233.       {
  1234.          var _loc2_:int = 0;
  1235.          _loc2_ = Boolean(mx_internal::overlayReferenceCount) && param1 != mx_internal::overlay ? int(Math.max(0,super.numChildren - 1)) : super.numChildren;
  1236.          mx_internal::addingChild(param1);
  1237.          mx_internal::$addChildAt(param1,_loc2_);
  1238.          mx_internal::childAdded(param1);
  1239.          return param1;
  1240.       }
  1241.       
  1242.       public function get moduleFactory() : IFlexModuleFactory
  1243.       {
  1244.          return _moduleFactory;
  1245.       }
  1246.       
  1247.       public function set percentWidth(param1:Number) : void
  1248.       {
  1249.          var _loc2_:IInvalidating = null;
  1250.          if(_percentWidth == param1)
  1251.          {
  1252.             return;
  1253.          }
  1254.          if(!isNaN(param1))
  1255.          {
  1256.             _explicitWidth = NaN;
  1257.          }
  1258.          _percentWidth = param1;
  1259.          _loc2_ = parent as IInvalidating;
  1260.          if(_loc2_)
  1261.          {
  1262.             _loc2_.invalidateSize();
  1263.             _loc2_.invalidateDisplayList();
  1264.          }
  1265.       }
  1266.       
  1267.       public function get document() : Object
  1268.       {
  1269.          return mx_internal::_document;
  1270.       }
  1271.       
  1272.       public function set mouseFocusEnabled(param1:Boolean) : void
  1273.       {
  1274.          _mouseFocusEnabled = param1;
  1275.       }
  1276.       
  1277.       final mx_internal function $addChild(param1:DisplayObject) : DisplayObject
  1278.       {
  1279.          return super.addChild(param1);
  1280.       }
  1281.       
  1282.       mx_internal function setThemeColor(param1:Object) : void
  1283.       {
  1284.          var _loc2_:Number = NaN;
  1285.          var _loc3_:Number = NaN;
  1286.          var _loc4_:Number = NaN;
  1287.          if(_loc2_ is String)
  1288.          {
  1289.             _loc2_ = parseInt(String(param1));
  1290.          }
  1291.          else
  1292.          {
  1293.             _loc2_ = Number(param1);
  1294.          }
  1295.          if(isNaN(_loc2_))
  1296.          {
  1297.             _loc2_ = StyleManager.getColorName(param1);
  1298.          }
  1299.          _loc3_ = ColorUtil.adjustBrightness2(_loc2_,50);
  1300.          _loc4_ = ColorUtil.adjustBrightness2(_loc2_,70);
  1301.          setStyle("selectionColor",_loc3_);
  1302.          setStyle("rollOverColor",_loc4_);
  1303.       }
  1304.       
  1305.       [Bindable("heightChanged")]
  1306.       override public function get height() : Number
  1307.       {
  1308.          return mx_internal::_height;
  1309.       }
  1310.       
  1311.       public function get id() : String
  1312.       {
  1313.          return _id;
  1314.       }
  1315.       
  1316.       public function set minWidth(param1:Number) : void
  1317.       {
  1318.          if(explicitMinWidth == param1)
  1319.          {
  1320.             return;
  1321.          }
  1322.          explicitMinWidth = param1;
  1323.       }
  1324.       
  1325.       public function set currentState(param1:String) : void
  1326.       {
  1327.          setCurrentState(param1,true);
  1328.       }
  1329.       
  1330.       public function getRepeaterItem(param1:int = -1) : Object
  1331.       {
  1332.          var _loc2_:Array = null;
  1333.          _loc2_ = repeaters;
  1334.          if(param1 == -1)
  1335.          {
  1336.             param1 = int(_loc2_.length - 1);
  1337.          }
  1338.          return _loc2_[param1].getItemAt(repeaterIndices[param1]);
  1339.       }
  1340.       
  1341.       public function executeBindings(param1:Boolean = false) : void
  1342.       {
  1343.          var _loc2_:Object = null;
  1344.          _loc2_ = Boolean(descriptor) && Boolean(descriptor.document) ? descriptor.document : parentDocument;
  1345.          BindingManager.executeBindings(_loc2_,id,this);
  1346.       }
  1347.       
  1348.       public function replayAutomatableEvent(param1:Event) : Boolean
  1349.       {
  1350.          if(automationDelegate)
  1351.          {
  1352.             return automationDelegate.replayAutomatableEvent(param1);
  1353.          }
  1354.          return false;
  1355.       }
  1356.       
  1357.       public function get instanceIndex() : int
  1358.       {
  1359.          return !!_instanceIndices ? int(_instanceIndices[_instanceIndices.length - 1]) : -1;
  1360.       }
  1361.       
  1362.       [Bindable("explicitMaxWidthChanged")]
  1363.       public function get explicitMaxWidth() : Number
  1364.       {
  1365.          return mx_internal::_explicitMaxWidth;
  1366.       }
  1367.       
  1368.       public function effectFinished(param1:EffectInstance) : void
  1369.       {
  1370.          _endingEffectInstances.push(param1);
  1371.          invalidateProperties();
  1372.          UIComponentGlobals.mx_internal::layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE,updateCompleteHandler,false,0,true);
  1373.       }
  1374.       
  1375.       public function set measuredWidth(param1:Number) : void
  1376.       {
  1377.          _measuredWidth = param1;
  1378.       }
  1379.       
  1380.       override public function removeChildAt(param1:int) : DisplayObject
  1381.       {
  1382.          var _loc2_:DisplayObject = null;
  1383.          _loc2_ = getChildAt(param1);
  1384.          mx_internal::removingChild(_loc2_);
  1385.          mx_internal::$removeChild(_loc2_);
  1386.          mx_internal::childRemoved(_loc2_);
  1387.          return _loc2_;
  1388.       }
  1389.       
  1390.       mx_internal function set isEffectStarted(param1:Boolean) : void
  1391.       {
  1392.          _isEffectStarted = param1;
  1393.       }
  1394.       
  1395.       mx_internal function fillOverlay(param1:UIComponent, param2:uint, param3:RoundedRectangle = null) : void
  1396.       {
  1397.          var _loc4_:Graphics = null;
  1398.          if(!param3)
  1399.          {
  1400.             param3 = new RoundedRectangle(0,0,unscaledWidth,unscaledHeight,0);
  1401.          }
  1402.          (_loc4_ = param1.graphics).clear();
  1403.          _loc4_.beginFill(param2);
  1404.          _loc4_.drawRoundRect(param3.x,param3.y,param3.width,param3.height,param3.cornerRadius * 2,param3.cornerRadius * 2);
  1405.          _loc4_.endFill();
  1406.       }
  1407.       
  1408.       mx_internal function childAdded(param1:DisplayObject) : void
  1409.       {
  1410.          if(param1 is UIComponent)
  1411.          {
  1412.             if(!UIComponent(param1).initialized)
  1413.             {
  1414.                UIComponent(param1).initialize();
  1415.             }
  1416.          }
  1417.          else if(param1 is IUIComponent)
  1418.          {
  1419.             IUIComponent(param1).initialize();
  1420.          }
  1421.       }
  1422.       
  1423.       public function globalToContent(param1:Point) : Point
  1424.       {
  1425.          return globalToLocal(param1);
  1426.       }
  1427.       
  1428.       public function get instanceIndices() : Array
  1429.       {
  1430.          return !!_instanceIndices ? _instanceIndices.slice(0) : null;
  1431.       }
  1432.       
  1433.       mx_internal function removingChild(param1:DisplayObject) : void
  1434.       {
  1435.       }
  1436.       
  1437.       private function getTransition(param1:String, param2:String) : Effect
  1438.       {
  1439.          var _loc3_:Effect = null;
  1440.          var _loc4_:int = 0;
  1441.          var _loc5_:int = 0;
  1442.          var _loc6_:Transition = null;
  1443.          _loc3_ = null;
  1444.          _loc4_ = 0;
  1445.          if(!transitions)
  1446.          {
  1447.             return null;
  1448.          }
  1449.          if(!param1)
  1450.          {
  1451.             param1 = "";
  1452.          }
  1453.          if(!param2)
  1454.          {
  1455.             param2 = "";
  1456.          }
  1457.          _loc5_ = 0;
  1458.          while(_loc5_ < transitions.length)
  1459.          {
  1460.             if((_loc6_ = transitions[_loc5_]).fromState == "*" && _loc6_.toState == "*" && _loc4_ < 1)
  1461.             {
  1462.                _loc3_ = _loc6_.effect;
  1463.                _loc4_ = 1;
  1464.             }
  1465.             else if(_loc6_.fromState == param1 && _loc6_.toState == "*" && _loc4_ < 2)
  1466.             {
  1467.                _loc3_ = _loc6_.effect;
  1468.                _loc4_ = 2;
  1469.             }
  1470.             else if(_loc6_.fromState == "*" && _loc6_.toState == param2 && _loc4_ < 3)
  1471.             {
  1472.                _loc3_ = _loc6_.effect;
  1473.                _loc4_ = 3;
  1474.             }
  1475.             else if(_loc6_.fromState == param1 && _loc6_.toState == param2 && _loc4_ < 4)
  1476.             {
  1477.                _loc3_ = _loc6_.effect;
  1478.                _loc4_ = 4;
  1479.                break;
  1480.             }
  1481.             _loc5_++;
  1482.          }
  1483.          return _loc3_;
  1484.       }
  1485.       
  1486.       public function set owner(param1:DisplayObjectContainer) : void
  1487.       {
  1488.          _owner = param1;
  1489.       }
  1490.       
  1491.       mx_internal function getEffectsForProperty(param1:String) : Array
  1492.       {
  1493.          return mx_internal::_affectedProperties[param1] != undefined ? mx_internal::_affectedProperties[param1] : [];
  1494.       }
  1495.       
  1496.       protected function get unscaledWidth() : Number
  1497.       {
  1498.          return width / Math.abs(scaleX);
  1499.       }
  1500.       
  1501.       public function set processedDescriptors(param1:Boolean) : void
  1502.       {
  1503.          _processedDescriptors = param1;
  1504.          if(param1)
  1505.          {
  1506.             dispatchEvent(new FlexEvent(FlexEvent.INITIALIZE));
  1507.          }
  1508.       }
  1509.       
  1510.       private function processEffectFinished(param1:Array) : void
  1511.       {
  1512.          var _loc2_:int = 0;
  1513.          var _loc3_:int = 0;
  1514.          var _loc4_:EffectInstance = null;
  1515.          var _loc5_:EffectInstance = null;
  1516.          var _loc6_:Array = null;
  1517.          var _loc7_:int = 0;
  1518.          var _loc8_:String = null;
  1519.          var _loc9_:int = 0;
  1520.          _loc2_ = int(mx_internal::_effectsStarted.length - 1);
  1521.          while(_loc2_ >= 0)
  1522.          {
  1523.             _loc3_ = 0;
  1524.             while(_loc3_ < param1.length)
  1525.             {
  1526.                if((_loc4_ = param1[_loc3_]) == mx_internal::_effectsStarted[_loc2_])
  1527.                {
  1528.                   _loc5_ = mx_internal::_effectsStarted[_loc2_];
  1529.                   mx_internal::_effectsStarted.splice(_loc2_,1);
  1530.                   _loc6_ = _loc5_.effect.getAffectedProperties();
  1531.                   _loc7_ = 0;
  1532.                   while(_loc7_ < _loc6_.length)
  1533.                   {
  1534.                      _loc8_ = String(_loc6_[_loc7_]);
  1535.                      if(mx_internal::_affectedProperties[_loc8_] != undefined)
  1536.                      {
  1537.                         _loc9_ = 0;
  1538.                         while(_loc9_ < mx_internal::_affectedProperties[_loc8_].length)
  1539.                         {
  1540.                            if(mx_internal::_affectedProperties[_loc8_][_loc9_] == _loc4_)
  1541.                            {
  1542.                               mx_internal::_affectedProperties[_loc8_].splice(_loc9_,1);
  1543.                               break;
  1544.                            }
  1545.                            _loc9_++;
  1546.                         }
  1547.                         if(mx_internal::_affectedProperties[_loc8_].length == 0)
  1548.                         {
  1549.                            delete mx_internal::_affectedProperties[_loc8_];
  1550.                         }
  1551.                      }
  1552.                      _loc7_++;
  1553.                   }
  1554.                   break;
  1555.                }
  1556.                _loc3_++;
  1557.             }
  1558.             _loc2_--;
  1559.          }
  1560.          mx_internal::isEffectStarted = mx_internal::_effectsStarted.length > 0 ? true : false;
  1561.       }
  1562.       
  1563.       protected function measure() : void
  1564.       {
  1565.          measuredWidth = !isNaN(mx_internal::_width) ? mx_internal::_width : 0;
  1566.          measuredHeight = !isNaN(mx_internal::_height) ? mx_internal::_height : 0;
  1567.       }
  1568.       
  1569.       private function dispatchResizeEvent() : void
  1570.       {
  1571.          var _loc1_:ResizeEvent = null;
  1572.          _loc1_ = new ResizeEvent(ResizeEvent.RESIZE);
  1573.          _loc1_.oldWidth = oldWidth;
  1574.          _loc1_.oldHeight = oldHeight;
  1575.          dispatchEvent(_loc1_);
  1576.          oldWidth = width;
  1577.          oldHeight = height;
  1578.       }
  1579.       
  1580.       [Bindable("includeInLayoutChanged")]
  1581.       public function get includeInLayout() : Boolean
  1582.       {
  1583.          return _includeInLayout;
  1584.       }
  1585.       
  1586.       public function set maxWidth(param1:Number) : void
  1587.       {
  1588.          if(explicitMaxWidth == param1)
  1589.          {
  1590.             return;
  1591.          }
  1592.          explicitMaxWidth = param1;
  1593.       }
  1594.       
  1595.       public function validateDisplayList() : void
  1596.       {
  1597.          var _loc1_:ISystemManager = null;
  1598.          if(mx_internal::invalidateDisplayListFlag)
  1599.          {
  1600.             _loc1_ = parent as ISystemManager;
  1601.             if(_loc1_)
  1602.             {
  1603.                if(_loc1_ == systemManager.topLevelSystemManager && _loc1_.document != this)
  1604.                {
  1605.                   setActualSize(getExplicitOrMeasuredWidth(),getExplicitOrMeasuredHeight());
  1606.                }
  1607.             }
  1608.             updateDisplayList(scaleX == 0 ? 0 : width / scaleX,scaleY == 0 ? 0 : height / scaleY);
  1609.             mx_internal::invalidateDisplayListFlag = false;
  1610.          }
  1611.       }
  1612.       
  1613.       public function contentToGlobal(param1:Point) : Point
  1614.       {
  1615.          return localToGlobal(param1);
  1616.       }
  1617.       
  1618.       public function resolveAutomationIDPart(param1:Object) : Array
  1619.       {
  1620.          if(automationDelegate)
  1621.          {
  1622.             return automationDelegate.resolveAutomationIDPart(param1);
  1623.          }
  1624.          return [];
  1625.       }
  1626.       
  1627.       public function setFocus() : void
  1628.       {
  1629.          var _loc1_:ISystemManager = null;
  1630.          _loc1_ = systemManager;
  1631.          if(Boolean(_loc1_) && Boolean(_loc1_.stage))
  1632.          {
  1633.             if(UIComponentGlobals.mx_internal::callLaterDispatcherCount == 0)
  1634.             {
  1635.                _loc1_.stage.focus = this;
  1636.                UIComponentGlobals.mx_internal::nextFocusObject = null;
  1637.             }
  1638.             else
  1639.             {
  1640.                UIComponentGlobals.mx_internal::nextFocusObject = this;
  1641.                _loc1_.stage.addEventListener(Event.ENTER_FRAME,setFocusLater);
  1642.             }
  1643.          }
  1644.          else
  1645.          {
  1646.             UIComponentGlobals.mx_internal::nextFocusObject = this;
  1647.             callLater(setFocusLater);
  1648.          }
  1649.       }
  1650.       
  1651.       public function set inheritingStyles(param1:Object) : void
  1652.       {
  1653.          _inheritingStyles = param1;
  1654.       }
  1655.       
  1656.       public function set initialized(param1:Boolean) : void
  1657.       {
  1658.          _initialized = param1;
  1659.          if(param1)
  1660.          {
  1661.             setVisible(_visible,true);
  1662.             dispatchEvent(new FlexEvent(FlexEvent.CREATION_COMPLETE));
  1663.          }
  1664.       }
  1665.       
  1666.       public function owns(param1:DisplayObject) : Boolean
  1667.       {
  1668.          var _loc2_:IChildList = null;
  1669.          _loc2_ = this is IRawChildrenContainer ? IRawChildrenContainer(this).rawChildren : IChildList(this);
  1670.          if(_loc2_.contains(param1))
  1671.          {
  1672.             return true;
  1673.          }
  1674.          while(Boolean(param1) && param1 != this)
  1675.          {
  1676.             if(param1 is IUIComponent)
  1677.             {
  1678.                param1 = IUIComponent(param1).owner;
  1679.             }
  1680.             else
  1681.             {
  1682.                param1 = param1.parent;
  1683.             }
  1684.          }
  1685.          return param1 == this;
  1686.       }
  1687.       
  1688.       public function setVisible(param1:Boolean, param2:Boolean = false) : void
  1689.       {
  1690.          _visible = param1;
  1691.          if(!initialized)
  1692.          {
  1693.             return;
  1694.          }
  1695.          if(mx_internal::$visible == param1)
  1696.          {
  1697.             return;
  1698.          }
  1699.          mx_internal::$visible = param1;
  1700.          if(!param2)
  1701.          {
  1702.             dispatchEvent(new FlexEvent(param1 ? FlexEvent.SHOW : FlexEvent.HIDE));
  1703.          }
  1704.       }
  1705.       
  1706.       final mx_internal function set $y(param1:Number) : void
  1707.       {
  1708.          super.y = param1;
  1709.       }
  1710.       
  1711.       final mx_internal function $addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  1712.       {
  1713.          return super.addChildAt(param1,param2);
  1714.       }
  1715.       
  1716.       public function deleteReferenceOnParentDocument(param1:IFlexDisplayObject) : void
  1717.       {
  1718.          var _loc2_:Array = null;
  1719.          var _loc3_:Object = null;
  1720.          var _loc4_:Array = null;
  1721.          var _loc5_:int = 0;
  1722.          var _loc6_:int = 0;
  1723.          var _loc7_:int = 0;
  1724.          var _loc8_:Object = null;
  1725.          var _loc9_:PropertyChangeEvent = null;
  1726.          if(Boolean(id) && id != "")
  1727.          {
  1728.             _loc2_ = _instanceIndices;
  1729.             if(!_loc2_)
  1730.             {
  1731.                param1[id] = null;
  1732.             }
  1733.             else
  1734.             {
  1735.                _loc3_ = param1[id];
  1736.                if(!_loc3_)
  1737.                {
  1738.                   return;
  1739.                }
  1740.                (_loc4_ = []).push(_loc3_);
  1741.                _loc5_ = int(_loc2_.length);
  1742.                _loc6_ = 0;
  1743.                while(_loc6_ < _loc5_ - 1)
  1744.                {
  1745.                   if(!(_loc8_ = _loc3_[_loc2_[_loc6_]]))
  1746.                   {
  1747.                      return;
  1748.                   }
  1749.                   _loc3_ = _loc8_;
  1750.                   _loc4_.push(_loc3_);
  1751.                   _loc6_++;
  1752.                }
  1753.                _loc3_.splice(_loc2_[_loc5_ - 1],1);
  1754.                _loc7_ = int(_loc4_.length - 1);
  1755.                while(_loc7_ > 0)
  1756.                {
  1757.                   if(_loc4_[_loc7_].length == 0)
  1758.                   {
  1759.                      _loc4_[_loc7_ - 1].splice(_loc2_[_loc7_],1);
  1760.                   }
  1761.                   _loc7_--;
  1762.                }
  1763.                if(_loc4_.length > 0 && _loc4_[0].length == 0)
  1764.                {
  1765.                   param1[id] = null;
  1766.                }
  1767.                else
  1768.                {
  1769.                   _loc9_ = PropertyChangeEvent.createUpdateEvent(param1,id,param1[id],param1[id]);
  1770.                   param1.dispatchEvent(_loc9_);
  1771.                }
  1772.             }
  1773.          }
  1774.       }
  1775.       
  1776.       private function commitCurrentState() : void
  1777.       {
  1778.          var _loc1_:Effect = null;
  1779.          var _loc2_:String = null;
  1780.          var _loc3_:StateChangeEvent = null;
  1781.          var _loc4_:String = null;
  1782.          var _loc5_:State = null;
  1783.          _loc1_ = playStateTransition ? getTransition(_currentState,requestedCurrentState) : null;
  1784.          _loc2_ = findCommonBaseState(_currentState,requestedCurrentState);
  1785.          _loc4_ = !!_currentState ? _currentState : "";
  1786.          _loc5_ = getState(requestedCurrentState);
  1787.          if(_currentTransitionEffect)
  1788.          {
  1789.             _currentTransitionEffect.end();
  1790.          }
  1791.          initializeState(requestedCurrentState);
  1792.          if(_loc1_)
  1793.          {
  1794.             _loc1_.captureStartValues();
  1795.          }
  1796.          _loc3_ = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGING);
  1797.          _loc3_.oldState = _loc4_;
  1798.          _loc3_.newState = !!requestedCurrentState ? requestedCurrentState : "";
  1799.          dispatchEvent(_loc3_);
  1800.          if(isBaseState(_currentState))
  1801.          {
  1802.             dispatchEvent(new FlexEvent(FlexEvent.EXIT_STATE));
  1803.          }
  1804.          removeState(_currentState,_loc2_);
  1805.          _currentState = requestedCurrentState;
  1806.          if(isBaseState(currentState))
  1807.          {
  1808.             dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE));
  1809.          }
  1810.          else
  1811.          {
  1812.             applyState(_currentState,_loc2_);
  1813.          }
  1814.          _loc3_ = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGE);
  1815.          _loc3_.oldState = _loc4_;
  1816.          _loc3_.newState = !!_currentState ? _currentState : "";
  1817.          dispatchEvent(_loc3_);
  1818.          if(_loc1_)
  1819.          {
  1820.             UIComponentGlobals.mx_internal::layoutManager.validateNow();
  1821.             _currentTransitionEffect = _loc1_;
  1822.             _loc1_.addEventListener(EffectEvent.EFFECT_END,transition_effectEndHandler);
  1823.             _loc1_.play();
  1824.          }
  1825.       }
  1826.       
  1827.       public function get nonInheritingStyles() : Object
  1828.       {
  1829.          return _nonInheritingStyles;
  1830.       }
  1831.       
  1832.       final mx_internal function set $x(param1:Number) : void
  1833.       {
  1834.          super.x = param1;
  1835.       }
  1836.       
  1837.       private function applyState(param1:String, param2:String) : void
  1838.       {
  1839.          var _loc3_:State = null;
  1840.          var _loc4_:Array = null;
  1841.          var _loc5_:int = 0;
  1842.          _loc3_ = getState(param1);
  1843.          if(_loc3_)
  1844.          {
  1845.             if(_loc3_.basedOn != param2)
  1846.             {
  1847.                applyState(_loc3_.basedOn,param2);
  1848.             }
  1849.             _loc4_ = _loc3_.overrides;
  1850.             _loc5_ = 0;
  1851.             while(_loc5_ < _loc4_.length)
  1852.             {
  1853.                _loc4_[_loc5_].apply(this);
  1854.                _loc5_++;
  1855.             }
  1856.             _loc3_.mx_internal::dispatchEnterState();
  1857.          }
  1858.       }
  1859.       
  1860.       [Bindable("widthChanged")]
  1861.       override public function get width() : Number
  1862.       {
  1863.          return mx_internal::_width;
  1864.       }
  1865.       
  1866.       public function effectStarted(param1:EffectInstance) : void
  1867.       {
  1868.          var _loc2_:Array = null;
  1869.          var _loc3_:int = 0;
  1870.          var _loc4_:String = null;
  1871.          mx_internal::_effectsStarted.push(param1);
  1872.          _loc2_ = param1.effect.getAffectedProperties();
  1873.          _loc3_ = 0;
  1874.          while(_loc3_ < _loc2_.length)
  1875.          {
  1876.             _loc4_ = String(_loc2_[_loc3_]);
  1877.             if(mx_internal::_affectedProperties[_loc4_] == undefined)
  1878.             {
  1879.                mx_internal::_affectedProperties[_loc4_] = [];
  1880.             }
  1881.             mx_internal::_affectedProperties[_loc4_].push(param1);
  1882.             _loc3_++;
  1883.          }
  1884.          mx_internal::isEffectStarted = true;
  1885.       }
  1886.       
  1887.       protected function commitProperties() : void
  1888.       {
  1889.          var _loc1_:Number = NaN;
  1890.          var _loc2_:Number = NaN;
  1891.          if(_scaleX != oldScaleX)
  1892.          {
  1893.             _loc1_ = Math.abs(_scaleX / oldScaleX);
  1894.             if(!isNaN(explicitMinWidth))
  1895.             {
  1896.                explicitMinWidth *= _loc1_;
  1897.             }
  1898.             if(!isNaN(explicitWidth))
  1899.             {
  1900.                explicitWidth *= _loc1_;
  1901.             }
  1902.             if(!isNaN(explicitMaxWidth))
  1903.             {
  1904.                explicitMaxWidth *= _loc1_;
  1905.             }
  1906.             mx_internal::_width *= _loc1_;
  1907.             super.scaleX = oldScaleX = _scaleX;
  1908.          }
  1909.          if(_scaleY != oldScaleY)
  1910.          {
  1911.             _loc2_ = Math.abs(_scaleY / oldScaleY);
  1912.             if(!isNaN(explicitMinHeight))
  1913.             {
  1914.                explicitMinHeight *= _loc2_;
  1915.             }
  1916.             if(!isNaN(explicitHeight))
  1917.             {
  1918.                explicitHeight *= _loc2_;
  1919.             }
  1920.             if(!isNaN(explicitMaxHeight))
  1921.             {
  1922.                explicitMaxHeight *= _loc2_;
  1923.             }
  1924.             mx_internal::_height *= _loc2_;
  1925.             super.scaleY = oldScaleY = _scaleY;
  1926.          }
  1927.          if(x != oldX || y != oldY)
  1928.          {
  1929.             dispatchMoveEvent();
  1930.          }
  1931.          if(width != oldWidth || height != oldHeight)
  1932.          {
  1933.             dispatchResizeEvent();
  1934.          }
  1935.          if(errorStringChanged)
  1936.          {
  1937.             errorStringChanged = false;
  1938.             setBorderColorForErrorString();
  1939.          }
  1940.       }
  1941.       
  1942.       [Bindable("resize")]
  1943.       public function get percentHeight() : Number
  1944.       {
  1945.          return _percentHeight;
  1946.       }
  1947.       
  1948.       final mx_internal function get $parent() : DisplayObjectContainer
  1949.       {
  1950.          return super.parent;
  1951.       }
  1952.       
  1953.       public function set explicitMinWidth(param1:Number) : void
  1954.       {
  1955.          var _loc2_:IInvalidating = null;
  1956.          if(_explicitMinWidth == param1)
  1957.          {
  1958.             return;
  1959.          }
  1960.          _explicitMinWidth = param1;
  1961.          invalidateSize();
  1962.          _loc2_ = parent as IInvalidating;
  1963.          if(_loc2_)
  1964.          {
  1965.             _loc2_.invalidateSize();
  1966.             _loc2_.invalidateDisplayList();
  1967.          }
  1968.          dispatchEvent(new Event("explicitMinWidthChanged"));
  1969.       }
  1970.       
  1971.       public function get isPopUp() : Boolean
  1972.       {
  1973.          return _isPopUp;
  1974.       }
  1975.       
  1976.       private function measureSizes() : Boolean
  1977.       {
  1978.          var _loc1_:Boolean = false;
  1979.          var _loc2_:Number = NaN;
  1980.          var _loc3_:Number = NaN;
  1981.          var _loc4_:Number = NaN;
  1982.          var _loc5_:Number = NaN;
  1983.          _loc1_ = false;
  1984.          if(!mx_internal::invalidateSizeFlag)
  1985.          {
  1986.             return _loc1_;
  1987.          }
  1988.          if(isNaN(explicitWidth) || isNaN(explicitHeight))
  1989.          {
  1990.             _loc4_ = Math.abs(scaleX);
  1991.             _loc5_ = Math.abs(scaleY);
  1992.             if(_loc4_ != 1)
  1993.             {
  1994.                _measuredMinWidth /= _loc4_;
  1995.                _measuredWidth /= _loc4_;
  1996.             }
  1997.             if(_loc5_ != 1)
  1998.             {
  1999.                _measuredMinHeight /= _loc5_;
  2000.                _measuredHeight /= _loc5_;
  2001.             }
  2002.             measure();
  2003.             mx_internal::invalidateSizeFlag = false;
  2004.             if(!isNaN(explicitMinWidth) && measuredWidth < explicitMinWidth)
  2005.             {
  2006.                measuredWidth = explicitMinWidth;
  2007.             }
  2008.             if(!isNaN(explicitMaxWidth) && measuredWidth > explicitMaxWidth)
  2009.             {
  2010.                measuredWidth = explicitMaxWidth;
  2011.             }
  2012.             if(!isNaN(explicitMinHeight) && measuredHeight < explicitMinHeight)
  2013.             {
  2014.                measuredHeight = explicitMinHeight;
  2015.             }
  2016.             if(!isNaN(explicitMaxHeight) && measuredHeight > explicitMaxHeight)
  2017.             {
  2018.                measuredHeight = explicitMaxHeight;
  2019.             }
  2020.             if(_loc4_ != 1)
  2021.             {
  2022.                _measuredMinWidth *= _loc4_;
  2023.                _measuredWidth *= _loc4_;
  2024.             }
  2025.             if(_loc5_ != 1)
  2026.             {
  2027.                _measuredMinHeight *= _loc5_;
  2028.                _measuredHeight *= _loc5_;
  2029.             }
  2030.          }
  2031.          else
  2032.          {
  2033.             mx_internal::invalidateSizeFlag = false;
  2034.             _measuredMinWidth = 0;
  2035.             _measuredMinHeight = 0;
  2036.          }
  2037.          mx_internal::adjustSizesForScaleChanges();
  2038.          if(isNaN(oldMinWidth))
  2039.          {
  2040.             oldMinWidth = !isNaN(explicitMinWidth) ? explicitMinWidth : measuredMinWidth;
  2041.             oldMinHeight = !isNaN(explicitMinHeight) ? explicitMinHeight : measuredMinHeight;
  2042.             oldExplicitWidth = !isNaN(explicitWidth) ? explicitWidth : measuredWidth;
  2043.             oldExplicitHeight = !isNaN(explicitHeight) ? explicitHeight : measuredHeight;
  2044.             _loc1_ = true;
  2045.          }
  2046.          else
  2047.          {
  2048.             _loc3_ = !isNaN(explicitMinWidth) ? explicitMinWidth : measuredMinWidth;
  2049.             if(_loc3_ != oldMinWidth)
  2050.             {
  2051.                oldMinWidth = _loc3_;
  2052.                _loc1_ = true;
  2053.             }
  2054.             _loc3_ = !isNaN(explicitMinHeight) ? explicitMinHeight : measuredMinHeight;
  2055.             if(_loc3_ != oldMinHeight)
  2056.             {
  2057.                oldMinHeight = _loc3_;
  2058.                _loc1_ = true;
  2059.             }
  2060.             _loc3_ = !isNaN(explicitWidth) ? explicitWidth : measuredWidth;
  2061.             if(_loc3_ != oldExplicitWidth)
  2062.             {
  2063.                oldExplicitWidth = _loc3_;
  2064.                _loc1_ = true;
  2065.             }
  2066.             _loc3_ = !isNaN(explicitHeight) ? explicitHeight : measuredHeight;
  2067.             if(_loc3_ != oldExplicitHeight)
  2068.             {
  2069.                oldExplicitHeight = _loc3_;
  2070.                _loc1_ = true;
  2071.             }
  2072.          }
  2073.          return _loc1_;
  2074.       }
  2075.       
  2076.       public function get automationTabularData() : Object
  2077.       {
  2078.          if(automationDelegate)
  2079.          {
  2080.             return automationDelegate.automationTabularData;
  2081.          }
  2082.          return null;
  2083.       }
  2084.       
  2085.       public function validateNow() : void
  2086.       {
  2087.          UIComponentGlobals.mx_internal::layoutManager.validateClient(this);
  2088.       }
  2089.       
  2090.       public function finishPrint(param1:Object, param2:IFlexDisplayObject) : void
  2091.       {
  2092.       }
  2093.       
  2094.       public function get repeaters() : Array
  2095.       {
  2096.          return !!_repeaters ? _repeaters.slice(0) : [];
  2097.       }
  2098.       
  2099.       private function dispatchMoveEvent() : void
  2100.       {
  2101.          var _loc1_:MoveEvent = null;
  2102.          _loc1_ = new MoveEvent(MoveEvent.MOVE);
  2103.          _loc1_.oldX = oldX;
  2104.          _loc1_.oldY = oldY;
  2105.          dispatchEvent(_loc1_);
  2106.          oldX = x;
  2107.          oldY = y;
  2108.       }
  2109.       
  2110.       public function get measuredMinHeight() : Number
  2111.       {
  2112.          return _measuredMinHeight;
  2113.       }
  2114.       
  2115.       public function drawFocus(param1:Boolean) : void
  2116.       {
  2117.          var _loc2_:DisplayObject = null;
  2118.          var _loc3_:Sprite = null;
  2119.          var _loc4_:DisplayObjectContainer = null;
  2120.          var _loc5_:Class = null;
  2121.          if(!parent)
  2122.          {
  2123.             return;
  2124.          }
  2125.          _loc2_ = mx_internal::getFocusObject();
  2126.          _loc3_ = !!focusManager ? focusManager.focusPane : null;
  2127.          if(param1 && !mx_internal::isEffectStarted)
  2128.          {
  2129.             if((_loc4_ = _loc3_.parent) != parent)
  2130.             {
  2131.                if(_loc4_)
  2132.                {
  2133.                   if(_loc4_ is ISystemManager)
  2134.                   {
  2135.                      ISystemManager(_loc4_).focusPane = null;
  2136.                   }
  2137.                   else
  2138.                   {
  2139.                      IUIComponent(_loc4_).focusPane = null;
  2140.                   }
  2141.                }
  2142.                if(parent is ISystemManager)
  2143.                {
  2144.                   ISystemManager(parent).focusPane = _loc3_;
  2145.                }
  2146.                else
  2147.                {
  2148.                   IUIComponent(parent).focusPane = _loc3_;
  2149.                }
  2150.             }
  2151.             _loc5_ = getStyle("focusSkin");
  2152.             if(Boolean(_loc2_) && !(_loc2_ is _loc5_))
  2153.             {
  2154.                _loc3_.removeChild(_loc2_);
  2155.                _loc2_ = null;
  2156.             }
  2157.             if(!_loc2_)
  2158.             {
  2159.                _loc2_ = new _loc5_();
  2160.                _loc2_.name = "focus";
  2161.                _loc3_.addChild(_loc2_);
  2162.             }
  2163.             if(_loc2_ is ILayoutManagerClient)
  2164.             {
  2165.                ILayoutManagerClient(_loc2_).nestLevel = nestLevel;
  2166.             }
  2167.             if(_loc2_ is ISimpleStyleClient)
  2168.             {
  2169.                ISimpleStyleClient(_loc2_).styleName = this;
  2170.             }
  2171.             addEventListener(MoveEvent.MOVE,focusObj_moveHandler,true);
  2172.             addEventListener(MoveEvent.MOVE,focusObj_moveHandler);
  2173.             addEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler,true);
  2174.             addEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler);
  2175.             addEventListener(Event.REMOVED,focusObj_removedHandler,true);
  2176.             _loc2_.visible = true;
  2177.             hasFocusRect = true;
  2178.             adjustFocusRect();
  2179.          }
  2180.          else if(hasFocusRect)
  2181.          {
  2182.             if(_loc2_)
  2183.             {
  2184.                _loc2_.visible = false;
  2185.             }
  2186.             removeEventListener(MoveEvent.MOVE,focusObj_moveHandler);
  2187.             removeEventListener(MoveEvent.MOVE,focusObj_moveHandler,true);
  2188.             removeEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler,true);
  2189.             removeEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler);
  2190.             removeEventListener(Event.REMOVED,focusObj_removedHandler,true);
  2191.          }
  2192.       }
  2193.       
  2194.       private function get indexedID() : String
  2195.       {
  2196.          var _loc1_:String = null;
  2197.          var _loc2_:Array = null;
  2198.          _loc1_ = id;
  2199.          _loc2_ = instanceIndices;
  2200.          if(_loc2_)
  2201.          {
  2202.             _loc1_ += "[" + _loc2_.join("][") + "]";
  2203.          }
  2204.          return _loc1_;
  2205.       }
  2206.       
  2207.       mx_internal function addingChild(param1:DisplayObject) : void
  2208.       {
  2209.          if(param1 is IUIComponent && !IUIComponent(param1).document)
  2210.          {
  2211.             IUIComponent(param1).document = !!document ? document : Application.application;
  2212.          }
  2213.          if(param1 is IUIComponent)
  2214.          {
  2215.             IUIComponent(param1).parentChanged(this);
  2216.          }
  2217.          if(param1 is ILayoutManagerClient)
  2218.          {
  2219.             ILayoutManagerClient(param1).nestLevel = nestLevel + 1;
  2220.          }
  2221.          else if(param1 is UITextField)
  2222.          {
  2223.             UITextField(param1).nestLevel = nestLevel + 1;
  2224.          }
  2225.          if(param1 is InteractiveObject)
  2226.          {
  2227.             if(doubleClickEnabled)
  2228.             {
  2229.                InteractiveObject(param1).doubleClickEnabled = true;
  2230.             }
  2231.          }
  2232.          if(param1 is IStyleClient)
  2233.          {
  2234.             IStyleClient(param1).regenerateStyleCache(true);
  2235.          }
  2236.          else if(param1 is UITextField && Boolean(UITextField(param1).inheritingStyles))
  2237.          {
  2238.             StyleProtoChain.initTextField(UITextField(param1));
  2239.          }
  2240.          if(param1 is ISimpleStyleClient)
  2241.          {
  2242.             ISimpleStyleClient(param1).styleChanged(null);
  2243.          }
  2244.          if(param1 is IStyleClient)
  2245.          {
  2246.             IStyleClient(param1).notifyStyleChangeInChildren(null,true);
  2247.          }
  2248.          if(param1 is UIComponent)
  2249.          {
  2250.             UIComponent(param1).mx_internal::initThemeColor();
  2251.          }
  2252.          if(param1 is UIComponent)
  2253.          {
  2254.             UIComponent(param1).stylesInitialized();
  2255.          }
  2256.       }
  2257.       
  2258.       protected function initializationComplete() : void
  2259.       {
  2260.          processedDescriptors = true;
  2261.       }
  2262.       
  2263.       public function set moduleFactory(param1:IFlexModuleFactory) : void
  2264.       {
  2265.          _moduleFactory = param1;
  2266.       }
  2267.       
  2268.       public function set repeaterIndices(param1:Array) : void
  2269.       {
  2270.          _repeaterIndices = param1;
  2271.       }
  2272.       
  2273.       private function focusObj_removedHandler(param1:Event) : void
  2274.       {
  2275.          var _loc2_:DisplayObject = null;
  2276.          if(param1.target != this)
  2277.          {
  2278.             return;
  2279.          }
  2280.          _loc2_ = mx_internal::getFocusObject();
  2281.          if(_loc2_)
  2282.          {
  2283.             _loc2_.visible = false;
  2284.          }
  2285.       }
  2286.       
  2287.       mx_internal function updateCallbacks() : void
  2288.       {
  2289.          if(mx_internal::invalidateDisplayListFlag)
  2290.          {
  2291.             UIComponentGlobals.mx_internal::layoutManager.invalidateDisplayList(this);
  2292.          }
  2293.          if(mx_internal::invalidateSizeFlag)
  2294.          {
  2295.             UIComponentGlobals.mx_internal::layoutManager.invalidateSize(this);
  2296.          }
  2297.          if(mx_internal::invalidatePropertiesFlag)
  2298.          {
  2299.             UIComponentGlobals.mx_internal::layoutManager.invalidateProperties(this);
  2300.          }
  2301.          if(systemManager)
  2302.          {
  2303.             if(methodQueue.length > 0 && !listeningForRender)
  2304.             {
  2305.                _systemManager.stage.addEventListener(Event.RENDER,callLaterDispatcher);
  2306.                _systemManager.stage.addEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  2307.                listeningForRender = true;
  2308.             }
  2309.             _systemManager.stage.invalidate();
  2310.          }
  2311.       }
  2312.       
  2313.       public function set styleDeclaration(param1:CSSStyleDeclaration) : void
  2314.       {
  2315.          _styleDeclaration = param1;
  2316.       }
  2317.       
  2318.       override public function set doubleClickEnabled(param1:Boolean) : void
  2319.       {
  2320.          var _loc2_:IChildList = null;
  2321.          var _loc3_:int = 0;
  2322.          var _loc4_:InteractiveObject = null;
  2323.          super.doubleClickEnabled = param1;
  2324.          if(this is IRawChildrenContainer)
  2325.          {
  2326.             _loc2_ = IRawChildrenContainer(this).rawChildren;
  2327.          }
  2328.          else
  2329.          {
  2330.             _loc2_ = IChildList(this);
  2331.          }
  2332.          _loc3_ = 0;
  2333.          while(_loc3_ < _loc2_.numChildren)
  2334.          {
  2335.             if(_loc4_ = _loc2_.getChildAt(_loc3_) as InteractiveObject)
  2336.             {
  2337.                _loc4_.doubleClickEnabled = param1;
  2338.             }
  2339.             _loc3_++;
  2340.          }
  2341.       }
  2342.       
  2343.       public function prepareToPrint(param1:IFlexDisplayObject) : Object
  2344.       {
  2345.          return null;
  2346.       }
  2347.       
  2348.       [Bindable("explicitMinHeightChanged")]
  2349.       public function get minHeight() : Number
  2350.       {
  2351.          if(!isNaN(explicitMinHeight))
  2352.          {
  2353.             return explicitMinHeight;
  2354.          }
  2355.          return measuredMinHeight;
  2356.       }
  2357.       
  2358.       public function notifyStyleChangeInChildren(param1:String, param2:Boolean) : void
  2359.       {
  2360.          var _loc3_:int = 0;
  2361.          var _loc4_:int = 0;
  2362.          var _loc5_:ISimpleStyleClient = null;
  2363.          cachedTextFormat = null;
  2364.          _loc3_ = numChildren;
  2365.          _loc4_ = 0;
  2366.          while(_loc4_ < _loc3_)
  2367.          {
  2368.             if(_loc5_ = getChildAt(_loc4_) as ISimpleStyleClient)
  2369.             {
  2370.                _loc5_.styleChanged(param1);
  2371.                if(_loc5_ is IStyleClient)
  2372.                {
  2373.                   IStyleClient(_loc5_).notifyStyleChangeInChildren(param1,param2);
  2374.                }
  2375.             }
  2376.             _loc4_++;
  2377.          }
  2378.       }
  2379.       
  2380.       public function get contentMouseX() : Number
  2381.       {
  2382.          return mouseX;
  2383.       }
  2384.       
  2385.       public function get contentMouseY() : Number
  2386.       {
  2387.          return mouseY;
  2388.       }
  2389.       
  2390.       public function get tweeningProperties() : Array
  2391.       {
  2392.          return _tweeningProperties;
  2393.       }
  2394.       
  2395.       public function set explicitMaxWidth(param1:Number) : void
  2396.       {
  2397.          var _loc2_:IInvalidating = null;
  2398.          if(mx_internal::_explicitMaxWidth == param1)
  2399.          {
  2400.             return;
  2401.          }
  2402.          mx_internal::_explicitMaxWidth = param1;
  2403.          invalidateSize();
  2404.          _loc2_ = parent as IInvalidating;
  2405.          if(_loc2_)
  2406.          {
  2407.             _loc2_.invalidateSize();
  2408.             _loc2_.invalidateDisplayList();
  2409.          }
  2410.          dispatchEvent(new Event("explicitMaxWidthChanged"));
  2411.       }
  2412.       
  2413.       public function set document(param1:Object) : void
  2414.       {
  2415.          var _loc2_:int = 0;
  2416.          var _loc3_:int = 0;
  2417.          var _loc4_:IUIComponent = null;
  2418.          _loc2_ = numChildren;
  2419.          _loc3_ = 0;
  2420.          while(_loc3_ < _loc2_)
  2421.          {
  2422.             if(_loc4_ = getChildAt(_loc3_) as IUIComponent)
  2423.             {
  2424.                if(_loc4_.document == mx_internal::_document || _loc4_.document == Application.application)
  2425.                {
  2426.                   _loc4_.document = param1;
  2427.                }
  2428.             }
  2429.             _loc3_++;
  2430.          }
  2431.          mx_internal::_document = param1;
  2432.       }
  2433.       
  2434.       public function validateSize(param1:Boolean = false) : void
  2435.       {
  2436.          var _loc2_:int = 0;
  2437.          var _loc3_:DisplayObject = null;
  2438.          var _loc4_:Boolean = false;
  2439.          var _loc5_:IInvalidating = null;
  2440.          if(param1)
  2441.          {
  2442.             _loc2_ = 0;
  2443.             while(_loc2_ < numChildren)
  2444.             {
  2445.                _loc3_ = getChildAt(_loc2_);
  2446.                if(_loc3_ is ILayoutManagerClient)
  2447.                {
  2448.                   (_loc3_ as ILayoutManagerClient).validateSize(true);
  2449.                }
  2450.                _loc2_++;
  2451.             }
  2452.          }
  2453.          if(mx_internal::invalidateSizeFlag)
  2454.          {
  2455.             if((_loc4_ = measureSizes()) && includeInLayout)
  2456.             {
  2457.                invalidateDisplayList();
  2458.                if(_loc5_ = parent as IInvalidating)
  2459.                {
  2460.                   _loc5_.invalidateSize();
  2461.                   _loc5_.invalidateDisplayList();
  2462.                }
  2463.             }
  2464.          }
  2465.       }
  2466.       
  2467.       override public function dispatchEvent(param1:Event) : Boolean
  2468.       {
  2469.          if(mx_internal::dispatchEventHook != null)
  2470.          {
  2471.             mx_internal::dispatchEventHook(param1,this);
  2472.          }
  2473.          return super.dispatchEvent(param1);
  2474.       }
  2475.       
  2476.       public function set updateCompletePendingFlag(param1:Boolean) : void
  2477.       {
  2478.          _updateCompletePendingFlag = param1;
  2479.       }
  2480.       
  2481.       final mx_internal function get $height() : Number
  2482.       {
  2483.          return super.height;
  2484.       }
  2485.       
  2486.       override public function set height(param1:Number) : void
  2487.       {
  2488.          var _loc2_:IInvalidating = null;
  2489.          if(explicitHeight != param1)
  2490.          {
  2491.             explicitHeight = param1;
  2492.             invalidateSize();
  2493.          }
  2494.          if(mx_internal::_height != param1)
  2495.          {
  2496.             invalidateProperties();
  2497.             invalidateDisplayList();
  2498.             _loc2_ = parent as IInvalidating;
  2499.             if(Boolean(_loc2_) && includeInLayout)
  2500.             {
  2501.                _loc2_.invalidateSize();
  2502.                _loc2_.invalidateDisplayList();
  2503.             }
  2504.             mx_internal::_height = param1;
  2505.             dispatchEvent(new Event("heightChanged"));
  2506.          }
  2507.       }
  2508.       
  2509.       protected function attachOverlay() : void
  2510.       {
  2511.          addChild(mx_internal::overlay);
  2512.       }
  2513.       
  2514.       private function overlay_resizeHandler(param1:Event) : void
  2515.       {
  2516.          mx_internal::fillOverlay(mx_internal::overlay,mx_internal::overlayColor,null);
  2517.       }
  2518.       
  2519.       public function get numAutomationChildren() : int
  2520.       {
  2521.          if(automationDelegate)
  2522.          {
  2523.             return automationDelegate.numAutomationChildren;
  2524.          }
  2525.          return 0;
  2526.       }
  2527.       
  2528.       [Bindable("explictMinHeightChanged")]
  2529.       public function get explicitMinHeight() : Number
  2530.       {
  2531.          return mx_internal::_explicitMinHeight;
  2532.       }
  2533.       
  2534.       public function localToContent(param1:Point) : Point
  2535.       {
  2536.          return param1;
  2537.       }
  2538.       
  2539.       public function set id(param1:String) : void
  2540.       {
  2541.          _id = param1;
  2542.       }
  2543.       
  2544.       [Bindable("initialize")]
  2545.       public function get parentApplication() : Object
  2546.       {
  2547.          var _loc1_:Object = null;
  2548.          var _loc2_:UIComponent = null;
  2549.          _loc1_ = systemManager.document;
  2550.          if(_loc1_ == this)
  2551.          {
  2552.             _loc2_ = _loc1_.systemManager.parent as UIComponent;
  2553.             _loc1_ = !!_loc2_ ? _loc2_.systemManager.document : null;
  2554.          }
  2555.          return _loc1_;
  2556.       }
  2557.       
  2558.       private function removeState(param1:String, param2:String) : void
  2559.       {
  2560.          var _loc3_:State = null;
  2561.          var _loc4_:Array = null;
  2562.          var _loc5_:int = 0;
  2563.          _loc3_ = getState(param1);
  2564.          if(_loc3_)
  2565.          {
  2566.             _loc3_.mx_internal::dispatchExitState();
  2567.             _loc5_ = int((_loc4_ = _loc3_.overrides).length);
  2568.             while(_loc5_)
  2569.             {
  2570.                _loc4_[_loc5_ - 1].remove(this);
  2571.                _loc5_--;
  2572.             }
  2573.             if(_loc3_.basedOn != param2)
  2574.             {
  2575.                removeState(_loc3_.basedOn,param2);
  2576.             }
  2577.          }
  2578.       }
  2579.       
  2580.       public function setStyle(param1:String, param2:*) : void
  2581.       {
  2582.          var _loc3_:Boolean = false;
  2583.          var _loc4_:* = false;
  2584.          var _loc5_:* = false;
  2585.          if(param1 == "styleName")
  2586.          {
  2587.             styleName = param2;
  2588.             return;
  2589.          }
  2590.          if(EffectManager.mx_internal::getEventForEffectTrigger(param1) != "")
  2591.          {
  2592.             EffectManager.mx_internal::setStyle(param1,this);
  2593.          }
  2594.          _loc3_ = StyleManager.isInheritingStyle(param1);
  2595.          _loc4_ = inheritingStyles != UIComponent.mx_internal::STYLE_UNINITIALIZED;
  2596.          _loc5_ = getStyle(param1) != param2;
  2597.          if(!_styleDeclaration)
  2598.          {
  2599.             _styleDeclaration = new CSSStyleDeclaration();
  2600.             _styleDeclaration.mx_internal::setStyle(param1,param2);
  2601.             if(_loc4_)
  2602.             {
  2603.                regenerateStyleCache(_loc3_);
  2604.             }
  2605.          }
  2606.          else
  2607.          {
  2608.             _styleDeclaration.mx_internal::setStyle(param1,param2);
  2609.          }
  2610.          if(_loc4_ && _loc5_)
  2611.          {
  2612.             styleChanged(param1);
  2613.             notifyStyleChangeInChildren(param1,_loc3_);
  2614.          }
  2615.       }
  2616.       
  2617.       public function get validationSubField() : String
  2618.       {
  2619.          return _validationSubField;
  2620.       }
  2621.       
  2622.       public function get systemManager() : ISystemManager
  2623.       {
  2624.          var _loc1_:DisplayObject = null;
  2625.          var _loc2_:DisplayObjectContainer = null;
  2626.          var _loc3_:IUIComponent = null;
  2627.          if(!_systemManager)
  2628.          {
  2629.             _loc1_ = root;
  2630.             if(_loc1_)
  2631.             {
  2632.                _systemManager = _loc1_ as ISystemManager;
  2633.             }
  2634.             else
  2635.             {
  2636.                _loc2_ = parent;
  2637.                while(_loc2_)
  2638.                {
  2639.                   _loc3_ = _loc2_ as IUIComponent;
  2640.                   if(_loc3_)
  2641.                   {
  2642.                      _systemManager = _loc3_.systemManager;
  2643.                      break;
  2644.                   }
  2645.                   _loc2_ = _loc2_.parent;
  2646.                }
  2647.             }
  2648.          }
  2649.          return _systemManager;
  2650.       }
  2651.       
  2652.       public function get showInAutomationHierarchy() : Boolean
  2653.       {
  2654.          return _showInAutomationHierarchy;
  2655.       }
  2656.       
  2657.       private function isBaseState(param1:String) : Boolean
  2658.       {
  2659.          return !param1 || param1 == "";
  2660.       }
  2661.       
  2662.       override public function addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  2663.       {
  2664.          if(Boolean(mx_internal::overlayReferenceCount) && param1 != mx_internal::overlay)
  2665.          {
  2666.             param2 = Math.min(param2,Math.max(0,super.numChildren - 1));
  2667.          }
  2668.          mx_internal::addingChild(param1);
  2669.          mx_internal::$addChildAt(param1,param2);
  2670.          mx_internal::childAdded(param1);
  2671.          return param1;
  2672.       }
  2673.       
  2674.       public function set enabled(param1:Boolean) : void
  2675.       {
  2676.          _enabled = param1;
  2677.          cachedTextFormat = null;
  2678.          invalidateDisplayList();
  2679.          dispatchEvent(new Event("enabledChanged"));
  2680.       }
  2681.       
  2682.       [Bindable("explicitMinWidthChanged")]
  2683.       public function get minWidth() : Number
  2684.       {
  2685.          if(!isNaN(explicitMinWidth))
  2686.          {
  2687.             return explicitMinWidth;
  2688.          }
  2689.          return measuredMinWidth;
  2690.       }
  2691.       
  2692.       private function setFocusLater(param1:Event = null) : void
  2693.       {
  2694.          var _loc2_:ISystemManager = null;
  2695.          _loc2_ = systemManager;
  2696.          if(Boolean(_loc2_) && Boolean(_loc2_.stage))
  2697.          {
  2698.             _loc2_.stage.removeEventListener(Event.ENTER_FRAME,setFocusLater);
  2699.             if(UIComponentGlobals.mx_internal::nextFocusObject)
  2700.             {
  2701.                _loc2_.stage.focus = UIComponentGlobals.mx_internal::nextFocusObject;
  2702.             }
  2703.             UIComponentGlobals.mx_internal::nextFocusObject = null;
  2704.          }
  2705.       }
  2706.       
  2707.       [Bindable("currentStateChange")]
  2708.       public function get currentState() : String
  2709.       {
  2710.          return _currentStateChanged ? requestedCurrentState : _currentState;
  2711.       }
  2712.       
  2713.       public function set focusEnabled(param1:Boolean) : void
  2714.       {
  2715.          _focusEnabled = param1;
  2716.       }
  2717.       
  2718.       public function get measuredWidth() : Number
  2719.       {
  2720.          return _measuredWidth;
  2721.       }
  2722.       
  2723.       public function get baselinePosition() : Number
  2724.       {
  2725.          return NaN;
  2726.       }
  2727.       
  2728.       public function set cachePolicy(param1:String) : void
  2729.       {
  2730.          if(_cachePolicy != param1)
  2731.          {
  2732.             _cachePolicy = param1;
  2733.             if(param1 == UIComponentCachePolicy.OFF)
  2734.             {
  2735.                cacheAsBitmap = false;
  2736.             }
  2737.             else if(param1 == UIComponentCachePolicy.ON)
  2738.             {
  2739.                cacheAsBitmap = true;
  2740.             }
  2741.             else
  2742.             {
  2743.                cacheAsBitmap = cacheAsBitmapCount > 0;
  2744.             }
  2745.          }
  2746.       }
  2747.       
  2748.       public function get automationValue() : Array
  2749.       {
  2750.          if(automationDelegate)
  2751.          {
  2752.             return automationDelegate.automationValue;
  2753.          }
  2754.          return [];
  2755.       }
  2756.       
  2757.       public function set instanceIndices(param1:Array) : void
  2758.       {
  2759.          _instanceIndices = param1;
  2760.       }
  2761.       
  2762.       public function get repeaterIndex() : int
  2763.       {
  2764.          return !!_repeaterIndices ? int(_repeaterIndices[_repeaterIndices.length - 1]) : -1;
  2765.       }
  2766.       
  2767.       public function parentChanged(param1:DisplayObjectContainer) : void
  2768.       {
  2769.          if(!param1)
  2770.          {
  2771.             mx_internal::_parent = null;
  2772.             _nestLevel = 0;
  2773.          }
  2774.          else if(param1 is IStyleClient)
  2775.          {
  2776.             mx_internal::_parent = param1;
  2777.          }
  2778.          else if(param1 is SystemManager)
  2779.          {
  2780.             mx_internal::_parent = param1;
  2781.          }
  2782.          else
  2783.          {
  2784.             mx_internal::_parent = param1.parent;
  2785.          }
  2786.       }
  2787.       
  2788.       public function get owner() : DisplayObjectContainer
  2789.       {
  2790.          return !!_owner ? _owner : parent;
  2791.       }
  2792.       
  2793.       public function get processedDescriptors() : Boolean
  2794.       {
  2795.          return _processedDescriptors;
  2796.       }
  2797.       
  2798.       [Bindable("alphaChanged")]
  2799.       override public function set alpha(param1:Number) : void
  2800.       {
  2801.          super.alpha = param1;
  2802.          dispatchEvent(new Event("alphaChanged"));
  2803.       }
  2804.       
  2805.       public function initializeRepeaterArrays(param1:IRepeaterClient) : void
  2806.       {
  2807.          if(param1 && param1.instanceIndices && !_instanceIndices && !param1.isDocument)
  2808.          {
  2809.             _instanceIndices = param1.instanceIndices;
  2810.             _repeaters = param1.repeaters;
  2811.             _repeaterIndices = param1.repeaterIndices;
  2812.          }
  2813.       }
  2814.       
  2815.       [Bindable("explicitMaxWidthChanged")]
  2816.       public function get maxWidth() : Number
  2817.       {
  2818.          return !isNaN(explicitMaxWidth) ? explicitMaxWidth : DEFAULT_MAX_WIDTH;
  2819.       }
  2820.       
  2821.       private function removedHandler(param1:Event) : void
  2822.       {
  2823.          if(param1.eventPhase != EventPhase.AT_TARGET)
  2824.          {
  2825.             return;
  2826.          }
  2827.          if(parent is Container && Container(parent).mx_internal::creatingContentPane)
  2828.          {
  2829.             param1.stopImmediatePropagation();
  2830.             return;
  2831.          }
  2832.       }
  2833.       
  2834.       public function callLater(param1:Function, param2:Array = null) : void
  2835.       {
  2836.          var _loc3_:ISystemManager = null;
  2837.          methodQueue.push(new MethodQueueElement(param1,param2));
  2838.          _loc3_ = systemManager;
  2839.          if(Boolean(_loc3_) && Boolean(_loc3_.stage))
  2840.          {
  2841.             if(!listeningForRender)
  2842.             {
  2843.                _loc3_.stage.addEventListener(Event.RENDER,callLaterDispatcher);
  2844.                _loc3_.stage.addEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  2845.                listeningForRender = true;
  2846.             }
  2847.             _loc3_.stage.invalidate();
  2848.          }
  2849.       }
  2850.       
  2851.       private function addedHandler(param1:Event) : void
  2852.       {
  2853.          if(param1.eventPhase != EventPhase.AT_TARGET)
  2854.          {
  2855.             return;
  2856.          }
  2857.          if(parent is Container && Container(parent).mx_internal::creatingContentPane)
  2858.          {
  2859.             param1.stopImmediatePropagation();
  2860.             return;
  2861.          }
  2862.       }
  2863.       
  2864.       public function get initialized() : Boolean
  2865.       {
  2866.          return _initialized;
  2867.       }
  2868.       
  2869.       private function callLaterDispatcher2(param1:Event) : void
  2870.       {
  2871.          var _loc2_:ISystemManager = null;
  2872.          var _loc3_:Array = null;
  2873.          var _loc4_:int = 0;
  2874.          var _loc5_:int = 0;
  2875.          var _loc6_:MethodQueueElement = null;
  2876.          if(UIComponentGlobals.mx_internal::callLaterSuspendCount > 0)
  2877.          {
  2878.             return;
  2879.          }
  2880.          _loc2_ = systemManager;
  2881.          if(_loc2_ && _loc2_.stage && listeningForRender)
  2882.          {
  2883.             _loc2_.stage.removeEventListener(Event.RENDER,callLaterDispatcher);
  2884.             _loc2_.stage.removeEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  2885.             listeningForRender = false;
  2886.          }
  2887.          _loc3_ = methodQueue;
  2888.          methodQueue = [];
  2889.          _loc4_ = int(_loc3_.length);
  2890.          _loc5_ = 0;
  2891.          while(_loc5_ < _loc4_)
  2892.          {
  2893.             (_loc6_ = MethodQueueElement(_loc3_[_loc5_])).method.apply(null,_loc6_.args);
  2894.             _loc5_++;
  2895.          }
  2896.       }
  2897.       
  2898.       public function measureHTMLText(param1:String) : TextLineMetrics
  2899.       {
  2900.          return determineTextFormatFromStyles().measureHTMLText(param1);
  2901.       }
  2902.       
  2903.       public function set descriptor(param1:UIComponentDescriptor) : void
  2904.       {
  2905.          mx_internal::_descriptor = param1;
  2906.       }
  2907.       
  2908.       private function getState(param1:String) : State
  2909.       {
  2910.          var _loc2_:int = 0;
  2911.          if(!states || isBaseState(param1))
  2912.          {
  2913.             return null;
  2914.          }
  2915.          _loc2_ = 0;
  2916.          while(_loc2_ < states.length)
  2917.          {
  2918.             if(states[_loc2_].name == param1)
  2919.             {
  2920.                return states[_loc2_];
  2921.             }
  2922.             _loc2_++;
  2923.          }
  2924.          if(resourceStateUndefined == null)
  2925.          {
  2926.             loadResources();
  2927.          }
  2928.          throw new ArgumentError(StringUtil.substitute(resourceStateUndefined,param1));
  2929.       }
  2930.       
  2931.       mx_internal function get documentDescriptor() : UIComponentDescriptor
  2932.       {
  2933.          return mx_internal::_documentDescriptor;
  2934.       }
  2935.       
  2936.       public function set includeInLayout(param1:Boolean) : void
  2937.       {
  2938.          var _loc2_:IInvalidating = null;
  2939.          if(_includeInLayout != param1)
  2940.          {
  2941.             _includeInLayout = param1;
  2942.             _loc2_ = parent as IInvalidating;
  2943.             if(_loc2_)
  2944.             {
  2945.                _loc2_.invalidateSize();
  2946.                _loc2_.invalidateDisplayList();
  2947.             }
  2948.             dispatchEvent(new Event("includeInLayoutChanged"));
  2949.          }
  2950.       }
  2951.       
  2952.       public function getClassStyleDeclarations() : Array
  2953.       {
  2954.          var myApplicationDomain:ApplicationDomain = null;
  2955.          var factory:IFlexModuleFactory = null;
  2956.          var className:String = null;
  2957.          var cache:Array = null;
  2958.          var decls:Array = null;
  2959.          var classNames:Array = null;
  2960.          var caches:Array = null;
  2961.          var declcache:Array = null;
  2962.          var myRoot:DisplayObject = null;
  2963.          var s:CSSStyleDeclaration = null;
  2964.          factory = ModuleManager.getAssociatedFactory(this);
  2965.          if(factory != null)
  2966.          {
  2967.             myApplicationDomain = ApplicationDomain(factory.info()["currentDomain"]);
  2968.          }
  2969.          else
  2970.          {
  2971.             myRoot = SystemManager.getSWFRoot(this);
  2972.             if(!myRoot)
  2973.             {
  2974.                return [];
  2975.             }
  2976.             myApplicationDomain = myRoot.loaderInfo.applicationDomain;
  2977.          }
  2978.          className = getQualifiedClassName(this);
  2979.          className = className.replace("::",".");
  2980.          cache = StyleManager.mx_internal::typeSelectorCache[className];
  2981.          if(cache)
  2982.          {
  2983.             return cache;
  2984.          }
  2985.          decls = [];
  2986.          classNames = [];
  2987.          caches = [];
  2988.          declcache = [];
  2989.          while(className != null && className != "mx.core.UIComponent" && className != "mx.core.UITextField")
  2990.          {
  2991.             cache = StyleManager.mx_internal::typeSelectorCache[className];
  2992.             if(cache)
  2993.             {
  2994.                decls = decls.concat(cache);
  2995.                break;
  2996.             }
  2997.             s = StyleManager.getStyleDeclaration(className);
  2998.             if(s)
  2999.             {
  3000.                decls.unshift(s);
  3001.                classNames.push(className);
  3002.                caches.push(classNames);
  3003.                declcache.push(decls);
  3004.                decls = [];
  3005.                classNames = [];
  3006.             }
  3007.             else
  3008.             {
  3009.                classNames.push(className);
  3010.             }
  3011.             try
  3012.             {
  3013.                className = getQualifiedSuperclassName(myApplicationDomain.getDefinition(className));
  3014.                className = className.replace("::",".");
  3015.             }
  3016.             catch(e:ReferenceError)
  3017.             {
  3018.                className = null;
  3019.             }
  3020.          }
  3021.          caches.push(classNames);
  3022.          declcache.push(decls);
  3023.          decls = [];
  3024.          while(caches.length)
  3025.          {
  3026.             classNames = caches.pop();
  3027.             decls = decls.concat(declcache.pop());
  3028.             while(classNames.length)
  3029.             {
  3030.                StyleManager.mx_internal::typeSelectorCache[classNames.pop()] = decls;
  3031.             }
  3032.          }
  3033.          return decls;
  3034.       }
  3035.       
  3036.       public function validateProperties() : void
  3037.       {
  3038.          if(mx_internal::invalidatePropertiesFlag)
  3039.          {
  3040.             commitProperties();
  3041.             mx_internal::invalidatePropertiesFlag = false;
  3042.          }
  3043.       }
  3044.       
  3045.       public function set measuredMinWidth(param1:Number) : void
  3046.       {
  3047.          _measuredMinWidth = param1;
  3048.       }
  3049.       
  3050.       override public function removeChild(param1:DisplayObject) : DisplayObject
  3051.       {
  3052.          mx_internal::removingChild(param1);
  3053.          mx_internal::$removeChild(param1);
  3054.          mx_internal::childRemoved(param1);
  3055.          return param1;
  3056.       }
  3057.       
  3058.       private function initializeState(param1:String) : void
  3059.       {
  3060.          var _loc2_:State = null;
  3061.          _loc2_ = getState(param1);
  3062.          while(_loc2_)
  3063.          {
  3064.             _loc2_.mx_internal::initialize();
  3065.             _loc2_ = getState(_loc2_.basedOn);
  3066.          }
  3067.       }
  3068.       
  3069.       private function focusObj_moveHandler(param1:MoveEvent) : void
  3070.       {
  3071.          adjustFocusRect();
  3072.       }
  3073.       
  3074.       public function get styleDeclaration() : CSSStyleDeclaration
  3075.       {
  3076.          return _styleDeclaration;
  3077.       }
  3078.       
  3079.       override public function get doubleClickEnabled() : Boolean
  3080.       {
  3081.          return super.doubleClickEnabled;
  3082.       }
  3083.       
  3084.       mx_internal function initProtoChain() : void
  3085.       {
  3086.          var _loc1_:CSSStyleDeclaration = null;
  3087.          var _loc2_:Object = null;
  3088.          var _loc3_:IStyleClient = null;
  3089.          var _loc4_:Array = null;
  3090.          var _loc5_:int = 0;
  3091.          var _loc6_:int = 0;
  3092.          var _loc7_:Object = null;
  3093.          var _loc8_:CSSStyleDeclaration = null;
  3094.          if(styleName)
  3095.          {
  3096.             if(styleName is CSSStyleDeclaration)
  3097.             {
  3098.                _loc1_ = CSSStyleDeclaration(styleName);
  3099.             }
  3100.             else
  3101.             {
  3102.                if(styleName is IFlexDisplayObject)
  3103.                {
  3104.                   StyleProtoChain.initProtoChainForUIComponentStyleName(this);
  3105.                   return;
  3106.                }
  3107.                if(styleName is String)
  3108.                {
  3109.                   _loc1_ = StyleManager.getStyleDeclaration("." + styleName);
  3110.                }
  3111.             }
  3112.          }
  3113.          _loc2_ = StyleManager.mx_internal::stylesRoot;
  3114.          if(Boolean(_loc2_) && Boolean(_loc2_.effects))
  3115.          {
  3116.             registerEffects(_loc2_.effects);
  3117.          }
  3118.          _loc3_ = parent as IStyleClient;
  3119.          if(_loc3_)
  3120.          {
  3121.             if((_loc7_ = _loc3_.inheritingStyles) == UIComponent.mx_internal::STYLE_UNINITIALIZED)
  3122.             {
  3123.                _loc7_ = _loc2_;
  3124.             }
  3125.          }
  3126.          else if(isPopUp)
  3127.          {
  3128.             _loc7_ = Application.application.inheritingStyles;
  3129.          }
  3130.          else
  3131.          {
  3132.             _loc7_ = StyleManager.mx_internal::stylesRoot;
  3133.          }
  3134.          _loc5_ = int((_loc4_ = getClassStyleDeclarations()).length);
  3135.          _loc6_ = 0;
  3136.          while(_loc6_ < _loc5_)
  3137.          {
  3138.             _loc7_ = (_loc8_ = _loc4_[_loc6_]).mx_internal::addStyleToProtoChain(_loc7_,this);
  3139.             _loc2_ = _loc8_.mx_internal::addStyleToProtoChain(_loc2_,this);
  3140.             if(_loc8_.mx_internal::effects)
  3141.             {
  3142.                registerEffects(_loc8_.mx_internal::effects);
  3143.             }
  3144.             _loc6_++;
  3145.          }
  3146.          if(_loc1_)
  3147.          {
  3148.             _loc7_ = _loc1_.mx_internal::addStyleToProtoChain(_loc7_,this);
  3149.             _loc2_ = _loc1_.mx_internal::addStyleToProtoChain(_loc2_,this);
  3150.             if(_loc1_.mx_internal::effects)
  3151.             {
  3152.                registerEffects(_loc1_.mx_internal::effects);
  3153.             }
  3154.          }
  3155.          inheritingStyles = !!_styleDeclaration ? _styleDeclaration.mx_internal::addStyleToProtoChain(_loc7_,this) : _loc7_;
  3156.          nonInheritingStyles = !!_styleDeclaration ? _styleDeclaration.mx_internal::addStyleToProtoChain(_loc2_,this) : _loc2_;
  3157.       }
  3158.       
  3159.       public function get repeaterIndices() : Array
  3160.       {
  3161.          return !!_repeaterIndices ? _repeaterIndices.slice() : [];
  3162.       }
  3163.       
  3164.       private function creationCompleteHandler(param1:FlexEvent) : void
  3165.       {
  3166.          if(_currentStateChanged)
  3167.          {
  3168.             _currentStateChanged = false;
  3169.             commitCurrentState();
  3170.             validateNow();
  3171.          }
  3172.          removeEventListener(FlexEvent.CREATION_COMPLETE,creationCompleteHandler);
  3173.       }
  3174.       
  3175.       override public function setChildIndex(param1:DisplayObject, param2:int) : void
  3176.       {
  3177.          if(Boolean(mx_internal::overlayReferenceCount) && param1 != mx_internal::overlay)
  3178.          {
  3179.             param2 = Math.min(param2,Math.max(0,super.numChildren - 2));
  3180.          }
  3181.          super.setChildIndex(param1,param2);
  3182.       }
  3183.       
  3184.       public function set measuredHeight(param1:Number) : void
  3185.       {
  3186.          _measuredHeight = param1;
  3187.       }
  3188.       
  3189.       protected function createChildren() : void
  3190.       {
  3191.       }
  3192.       
  3193.       public function regenerateStyleCache(param1:Boolean) : void
  3194.       {
  3195.          var _loc2_:IChildList = null;
  3196.          var _loc3_:int = 0;
  3197.          var _loc4_:int = 0;
  3198.          var _loc5_:DisplayObject = null;
  3199.          mx_internal::initProtoChain();
  3200.          _loc2_ = this is IRawChildrenContainer ? IRawChildrenContainer(this).rawChildren : IChildList(this);
  3201.          _loc3_ = _loc2_.numChildren;
  3202.          _loc4_ = 0;
  3203.          while(_loc4_ < _loc3_)
  3204.          {
  3205.             if((_loc5_ = _loc2_.getChildAt(_loc4_)) is IStyleClient)
  3206.             {
  3207.                if(IStyleClient(_loc5_).inheritingStyles != UIComponent.mx_internal::STYLE_UNINITIALIZED)
  3208.                {
  3209.                   IStyleClient(_loc5_).regenerateStyleCache(param1);
  3210.                }
  3211.             }
  3212.             else if(_loc5_ is UITextField)
  3213.             {
  3214.                if(UITextField(_loc5_).inheritingStyles)
  3215.                {
  3216.                   StyleProtoChain.initTextField(UITextField(_loc5_));
  3217.                }
  3218.             }
  3219.             _loc4_++;
  3220.          }
  3221.       }
  3222.       
  3223.       public function get updateCompletePendingFlag() : Boolean
  3224.       {
  3225.          return _updateCompletePendingFlag;
  3226.       }
  3227.       
  3228.       protected function focusOutHandler(param1:FocusEvent) : void
  3229.       {
  3230.          if(isOurFocus(DisplayObject(param1.target)))
  3231.          {
  3232.             drawFocus(false);
  3233.          }
  3234.       }
  3235.       
  3236.       public function contentToLocal(param1:Point) : Point
  3237.       {
  3238.          return param1;
  3239.       }
  3240.       
  3241.       public function getFocus() : InteractiveObject
  3242.       {
  3243.          var _loc1_:ISystemManager = null;
  3244.          _loc1_ = systemManager;
  3245.          if(!_loc1_)
  3246.          {
  3247.             return null;
  3248.          }
  3249.          if(UIComponentGlobals.mx_internal::nextFocusObject)
  3250.          {
  3251.             return UIComponentGlobals.mx_internal::nextFocusObject;
  3252.          }
  3253.          return _loc1_.stage.focus;
  3254.       }
  3255.       
  3256.       public function endEffectsStarted() : void
  3257.       {
  3258.          var _loc1_:int = 0;
  3259.          var _loc2_:int = 0;
  3260.          _loc1_ = int(mx_internal::_effectsStarted.length);
  3261.          _loc2_ = 0;
  3262.          while(_loc2_ < _loc1_)
  3263.          {
  3264.             mx_internal::_effectsStarted[_loc2_].end();
  3265.             _loc2_++;
  3266.          }
  3267.       }
  3268.       
  3269.       protected function get unscaledHeight() : Number
  3270.       {
  3271.          return height / Math.abs(scaleY);
  3272.       }
  3273.       
  3274.       [Bindable("enabledChanged")]
  3275.       public function get enabled() : Boolean
  3276.       {
  3277.          return _enabled;
  3278.       }
  3279.       
  3280.       override public function set cacheAsBitmap(param1:Boolean) : void
  3281.       {
  3282.          super.cacheAsBitmap = param1;
  3283.          cacheAsBitmapCount = param1 ? 1 : 0;
  3284.       }
  3285.       
  3286.       public function get focusEnabled() : Boolean
  3287.       {
  3288.          return _focusEnabled;
  3289.       }
  3290.       
  3291.       mx_internal function removeOverlay() : void
  3292.       {
  3293.          if(mx_internal::overlayReferenceCount > 0 && --mx_internal::overlayReferenceCount == 0 && Boolean(mx_internal::overlay))
  3294.          {
  3295.             removeEventListener("resize",overlay_resizeHandler);
  3296.             if(super.getChildByName("overlay"))
  3297.             {
  3298.                mx_internal::$removeChild(mx_internal::overlay);
  3299.             }
  3300.             mx_internal::overlay = null;
  3301.          }
  3302.       }
  3303.       
  3304.       public function set cacheHeuristic(param1:Boolean) : void
  3305.       {
  3306.          if(_cachePolicy == UIComponentCachePolicy.AUTO)
  3307.          {
  3308.             if(param1)
  3309.             {
  3310.                ++cacheAsBitmapCount;
  3311.             }
  3312.             else if(cacheAsBitmapCount != 0)
  3313.             {
  3314.                --cacheAsBitmapCount;
  3315.             }
  3316.             super.cacheAsBitmap = cacheAsBitmapCount != 0;
  3317.          }
  3318.       }
  3319.       
  3320.       public function get cachePolicy() : String
  3321.       {
  3322.          return _cachePolicy;
  3323.       }
  3324.       
  3325.       public function set maxHeight(param1:Number) : void
  3326.       {
  3327.          if(explicitMaxHeight == param1)
  3328.          {
  3329.             return;
  3330.          }
  3331.          explicitMaxHeight = param1;
  3332.       }
  3333.       
  3334.       public function set focusManager(param1:IFocusManager) : void
  3335.       {
  3336.          _focusManager = param1;
  3337.       }
  3338.       
  3339.       public function clearStyle(param1:String) : void
  3340.       {
  3341.          setStyle(param1,undefined);
  3342.       }
  3343.       
  3344.       public function get descriptor() : UIComponentDescriptor
  3345.       {
  3346.          return mx_internal::_descriptor;
  3347.       }
  3348.       
  3349.       public function set nonInheritingStyles(param1:Object) : void
  3350.       {
  3351.          _nonInheritingStyles = param1;
  3352.       }
  3353.       
  3354.       public function set automationDelegate(param1:Object) : void
  3355.       {
  3356.          _automationDelegate = param1 as IAutomationObject;
  3357.       }
  3358.       
  3359.       public function get measuredMinWidth() : Number
  3360.       {
  3361.          return _measuredMinWidth;
  3362.       }
  3363.       
  3364.       public function createReferenceOnParentDocument(param1:IFlexDisplayObject) : void
  3365.       {
  3366.          var _loc2_:Array = null;
  3367.          var _loc3_:Object = null;
  3368.          var _loc4_:int = 0;
  3369.          var _loc5_:int = 0;
  3370.          var _loc6_:PropertyChangeEvent = null;
  3371.          var _loc7_:Object = null;
  3372.          if(Boolean(id) && id != "")
  3373.          {
  3374.             _loc2_ = _instanceIndices;
  3375.             if(!_loc2_)
  3376.             {
  3377.                param1[id] = this;
  3378.             }
  3379.             else
  3380.             {
  3381.                _loc3_ = param1[id];
  3382.                if(!(_loc3_ is Array))
  3383.                {
  3384.                   _loc3_ = param1[id] = [];
  3385.                }
  3386.                _loc4_ = int(_loc2_.length);
  3387.                _loc5_ = 0;
  3388.                while(_loc5_ < _loc4_ - 1)
  3389.                {
  3390.                   if(!((_loc7_ = _loc3_[_loc2_[_loc5_]]) is Array))
  3391.                   {
  3392.                      _loc7_ = _loc3_[_loc2_[_loc5_]] = [];
  3393.                   }
  3394.                   _loc3_ = _loc7_;
  3395.                   _loc5_++;
  3396.                }
  3397.                _loc3_[_loc2_[_loc4_ - 1]] = this;
  3398.                _loc6_ = PropertyChangeEvent.createUpdateEvent(param1,id,param1[id],param1[id]);
  3399.                param1.dispatchEvent(_loc6_);
  3400.             }
  3401.          }
  3402.       }
  3403.       
  3404.       public function set isPopUp(param1:Boolean) : void
  3405.       {
  3406.          _isPopUp = param1;
  3407.       }
  3408.       
  3409.       override public function set width(param1:Number) : void
  3410.       {
  3411.          var _loc2_:IInvalidating = null;
  3412.          if(explicitWidth != param1)
  3413.          {
  3414.             explicitWidth = param1;
  3415.             invalidateSize();
  3416.          }
  3417.          if(mx_internal::_width != param1)
  3418.          {
  3419.             invalidateProperties();
  3420.             invalidateDisplayList();
  3421.             _loc2_ = parent as IInvalidating;
  3422.             if(Boolean(_loc2_) && includeInLayout)
  3423.             {
  3424.                _loc2_.invalidateSize();
  3425.                _loc2_.invalidateDisplayList();
  3426.             }
  3427.             mx_internal::_width = param1;
  3428.             dispatchEvent(new Event("widthChanged"));
  3429.          }
  3430.       }
  3431.       
  3432.       public function get measuredHeight() : Number
  3433.       {
  3434.          return _measuredHeight;
  3435.       }
  3436.       
  3437.       public function get repeater() : IRepeater
  3438.       {
  3439.          return !!_repeaters ? _repeaters[_repeaters.length - 1] : null;
  3440.       }
  3441.       
  3442.       public function initialize() : void
  3443.       {
  3444.          if(initialized)
  3445.          {
  3446.             return;
  3447.          }
  3448.          dispatchEvent(new FlexEvent(FlexEvent.PREINITIALIZE));
  3449.          createChildren();
  3450.          childrenCreated();
  3451.          initializeAccessibility();
  3452.          initializationComplete();
  3453.       }
  3454.       
  3455.       public function set percentHeight(param1:Number) : void
  3456.       {
  3457.          var _loc2_:IInvalidating = null;
  3458.          if(_percentHeight == param1)
  3459.          {
  3460.             return;
  3461.          }
  3462.          if(!isNaN(param1))
  3463.          {
  3464.             _explicitHeight = NaN;
  3465.          }
  3466.          _percentHeight = param1;
  3467.          _loc2_ = parent as IInvalidating;
  3468.          if(_loc2_)
  3469.          {
  3470.             _loc2_.invalidateSize();
  3471.             _loc2_.invalidateDisplayList();
  3472.          }
  3473.       }
  3474.       
  3475.       final mx_internal function set $visible(param1:Boolean) : void
  3476.       {
  3477.          super.visible = param1;
  3478.       }
  3479.       
  3480.       protected function initializeAccessibility() : void
  3481.       {
  3482.          if(UIComponent.mx_internal::createAccessibilityImplementation != null)
  3483.          {
  3484.             UIComponent.mx_internal::createAccessibilityImplementation(this);
  3485.          }
  3486.       }
  3487.       
  3488.       private function findCommonBaseState(param1:String, param2:String) : String
  3489.       {
  3490.          var _loc3_:State = null;
  3491.          var _loc4_:State = null;
  3492.          var _loc5_:Array = null;
  3493.          var _loc6_:Array = null;
  3494.          var _loc7_:String = null;
  3495.          _loc3_ = getState(param1);
  3496.          _loc4_ = getState(param2);
  3497.          if(!_loc3_ || !_loc4_)
  3498.          {
  3499.             return "";
  3500.          }
  3501.          if(isBaseState(_loc3_.basedOn) || isBaseState(_loc4_.basedOn))
  3502.          {
  3503.             return "";
  3504.          }
  3505.          _loc5_ = getBaseStates(_loc3_);
  3506.          _loc6_ = getBaseStates(_loc4_);
  3507.          _loc7_ = "";
  3508.          while(_loc5_[_loc5_.length] == _loc6_[_loc6_.length])
  3509.          {
  3510.             _loc7_ = _loc5_.pop();
  3511.             _loc6_.pop();
  3512.             if(!_loc5_.length || !_loc6_.length)
  3513.             {
  3514.                break;
  3515.             }
  3516.          }
  3517.          return _loc7_;
  3518.       }
  3519.       
  3520.       mx_internal function childRemoved(param1:DisplayObject) : void
  3521.       {
  3522.          if(param1 is IUIComponent)
  3523.          {
  3524.             if(IUIComponent(param1).document != param1)
  3525.             {
  3526.                IUIComponent(param1).document = null;
  3527.             }
  3528.             IUIComponent(param1).parentChanged(null);
  3529.          }
  3530.       }
  3531.       
  3532.       final mx_internal function $removeChildAt(param1:int) : DisplayObject
  3533.       {
  3534.          return super.removeChildAt(param1);
  3535.       }
  3536.       
  3537.       [Bindable("explicitMaxHeightChanged")]
  3538.       public function get maxHeight() : Number
  3539.       {
  3540.          return !isNaN(explicitMaxHeight) ? explicitMaxHeight : DEFAULT_MAX_HEIGHT;
  3541.       }
  3542.       
  3543.       public function get focusManager() : IFocusManager
  3544.       {
  3545.          var _loc1_:DisplayObject = null;
  3546.          if(_focusManager)
  3547.          {
  3548.             return _focusManager;
  3549.          }
  3550.          _loc1_ = parent;
  3551.          while(_loc1_)
  3552.          {
  3553.             if(_loc1_ is IFocusManagerContainer)
  3554.             {
  3555.                return IFocusManagerContainer(_loc1_).focusManager;
  3556.             }
  3557.             _loc1_ = _loc1_.parent;
  3558.          }
  3559.          return null;
  3560.       }
  3561.       
  3562.       public function set styleName(param1:Object) : void
  3563.       {
  3564.          if(_styleName === param1)
  3565.          {
  3566.             return;
  3567.          }
  3568.          _styleName = param1;
  3569.          if(inheritingStyles == UIComponent.mx_internal::STYLE_UNINITIALIZED)
  3570.          {
  3571.             return;
  3572.          }
  3573.          regenerateStyleCache(true);
  3574.          mx_internal::initThemeColor();
  3575.          styleChanged("styleName");
  3576.          notifyStyleChangeInChildren("styleName",true);
  3577.       }
  3578.       
  3579.       public function get automationDelegate() : Object
  3580.       {
  3581.          return _automationDelegate;
  3582.       }
  3583.       
  3584.       public function set explicitMaxHeight(param1:Number) : void
  3585.       {
  3586.          var _loc2_:IInvalidating = null;
  3587.          if(mx_internal::_explicitMaxHeight == param1)
  3588.          {
  3589.             return;
  3590.          }
  3591.          mx_internal::_explicitMaxHeight = param1;
  3592.          invalidateSize();
  3593.          _loc2_ = parent as IInvalidating;
  3594.          if(_loc2_)
  3595.          {
  3596.             _loc2_.invalidateSize();
  3597.             _loc2_.invalidateDisplayList();
  3598.          }
  3599.          dispatchEvent(new Event("explicitMaxHeightChanged"));
  3600.       }
  3601.       
  3602.       mx_internal function cancelAllCallLaters() : void
  3603.       {
  3604.          var _loc1_:ISystemManager = null;
  3605.          _loc1_ = systemManager;
  3606.          if(Boolean(_loc1_) && Boolean(_loc1_.stage))
  3607.          {
  3608.             if(listeningForRender)
  3609.             {
  3610.                _loc1_.stage.removeEventListener(Event.RENDER,callLaterDispatcher);
  3611.                _loc1_.stage.removeEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  3612.                listeningForRender = false;
  3613.             }
  3614.          }
  3615.          methodQueue.splice(0);
  3616.       }
  3617.       
  3618.       private function updateCompleteHandler(param1:Event) : void
  3619.       {
  3620.          UIComponentGlobals.mx_internal::layoutManager.removeEventListener(FlexEvent.UPDATE_COMPLETE,updateCompleteHandler);
  3621.          processEffectFinished(_endingEffectInstances);
  3622.          _endingEffectInstances = [];
  3623.       }
  3624.       
  3625.       public function styleChanged(param1:String) : void
  3626.       {
  3627.          if(!param1 || param1 == "styleName" || StyleManager.isSizeInvalidatingStyle(param1))
  3628.          {
  3629.             invalidateSize();
  3630.          }
  3631.          if(!param1 || param1 == "styleName" || param1 == "themeColor")
  3632.          {
  3633.             mx_internal::initThemeColor();
  3634.          }
  3635.          invalidateDisplayList();
  3636.          if(parent is IInvalidating)
  3637.          {
  3638.             if(StyleManager.isParentSizeInvalidatingStyle(param1))
  3639.             {
  3640.                IInvalidating(parent).invalidateSize();
  3641.             }
  3642.             if(StyleManager.isParentDisplayListInvalidatingStyle(param1))
  3643.             {
  3644.                IInvalidating(parent).invalidateDisplayList();
  3645.             }
  3646.          }
  3647.       }
  3648.       
  3649.       final mx_internal function get $visible() : Boolean
  3650.       {
  3651.          return super.visible;
  3652.       }
  3653.       
  3654.       public function drawRoundRect(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null, param6:Object = null, param7:Object = null, param8:Object = null, param9:String = null, param10:Array = null, param11:Object = null) : void
  3655.       {
  3656.          var _loc12_:Graphics = null;
  3657.          var _loc13_:Number = NaN;
  3658.          var _loc14_:Array = null;
  3659.          var _loc15_:Matrix = null;
  3660.          var _loc16_:Object = null;
  3661.          _loc12_ = graphics;
  3662.          if(!param3 || !param4)
  3663.          {
  3664.             return;
  3665.          }
  3666.          if(param6 !== null)
  3667.          {
  3668.             if(param6 is Array)
  3669.             {
  3670.                if(param7 is Array)
  3671.                {
  3672.                   _loc14_ = param7 as Array;
  3673.                }
  3674.                else
  3675.                {
  3676.                   _loc14_ = [param7,param7];
  3677.                }
  3678.                if(!param10)
  3679.                {
  3680.                   param10 = [0,255];
  3681.                }
  3682.                _loc15_ = null;
  3683.                if(param8)
  3684.                {
  3685.                   if(param8 is Matrix)
  3686.                   {
  3687.                      _loc15_ = Matrix(param8);
  3688.                   }
  3689.                   else
  3690.                   {
  3691.                      _loc15_ = new Matrix();
  3692.                      if(param8 is Number)
  3693.                      {
  3694.                         _loc15_.createGradientBox(param3,param4,Number(param8) * Math.PI / 180,param1,param2);
  3695.                      }
  3696.                      else
  3697.                      {
  3698.                         _loc15_.createGradientBox(param8.w,param8.h,param8.r,param8.x,param8.y);
  3699.                      }
  3700.                   }
  3701.                }
  3702.                if(param9 == GradientType.RADIAL)
  3703.                {
  3704.                   _loc12_.beginGradientFill(GradientType.RADIAL,param6 as Array,_loc14_,param10,_loc15_);
  3705.                }
  3706.                else
  3707.                {
  3708.                   _loc12_.beginGradientFill(GradientType.LINEAR,param6 as Array,_loc14_,param10,_loc15_);
  3709.                }
  3710.             }
  3711.             else
  3712.             {
  3713.                _loc12_.beginFill(Number(param6),Number(param7));
  3714.             }
  3715.          }
  3716.          if(!param5)
  3717.          {
  3718.             _loc12_.drawRect(param1,param2,param3,param4);
  3719.          }
  3720.          else if(param5 is Number)
  3721.          {
  3722.             _loc13_ = Number(param5) * 2;
  3723.             _loc12_.drawRoundRect(param1,param2,param3,param4,_loc13_,_loc13_);
  3724.          }
  3725.          else
  3726.          {
  3727.             GraphicsUtil.drawRoundRectComplex(_loc12_,param1,param2,param3,param4,param5.tl,param5.tr,param5.bl,param5.br);
  3728.          }
  3729.          if(param11)
  3730.          {
  3731.             if((_loc16_ = param11.r) is Number)
  3732.             {
  3733.                _loc13_ = Number(_loc16_) * 2;
  3734.                _loc12_.drawRoundRect(param11.x,param11.y,param11.w,param11.h,_loc13_,_loc13_);
  3735.             }
  3736.             else
  3737.             {
  3738.                GraphicsUtil.drawRoundRectComplex(_loc12_,param11.x,param11.y,param11.w,param11.h,_loc16_.tl,_loc16_.tr,_loc16_.bl,_loc16_.br);
  3739.             }
  3740.          }
  3741.          if(param6 !== null)
  3742.          {
  3743.             _loc12_.endFill();
  3744.          }
  3745.       }
  3746.       
  3747.       public function move(param1:Number, param2:Number) : void
  3748.       {
  3749.          var _loc3_:Boolean = false;
  3750.          _loc3_ = false;
  3751.          if(param1 != super.x)
  3752.          {
  3753.             super.x = param1;
  3754.             dispatchEvent(new Event("xChanged"));
  3755.             _loc3_ = true;
  3756.          }
  3757.          if(param2 != super.y)
  3758.          {
  3759.             super.y = param2;
  3760.             dispatchEvent(new Event("yChanged"));
  3761.             _loc3_ = true;
  3762.          }
  3763.          if(_loc3_)
  3764.          {
  3765.             dispatchMoveEvent();
  3766.          }
  3767.       }
  3768.       
  3769.       public function set toolTip(param1:String) : void
  3770.       {
  3771.          ToolTipManager.mx_internal::registerToolTip(this,param1);
  3772.          _toolTip = param1;
  3773.          dispatchEvent(new Event("toolTipChanged"));
  3774.       }
  3775.       
  3776.       public function set repeaters(param1:Array) : void
  3777.       {
  3778.          _repeaters = param1;
  3779.       }
  3780.       
  3781.       [Bindable("explicitMaxHeightChanged")]
  3782.       public function get explicitMaxHeight() : Number
  3783.       {
  3784.          return mx_internal::_explicitMaxHeight;
  3785.       }
  3786.       
  3787.       public function get styleName() : Object
  3788.       {
  3789.          return _styleName;
  3790.       }
  3791.       
  3792.       private function loadResources() : void
  3793.       {
  3794.          resourceStateUndefined = packageResources.getString("stateUndefined");
  3795.       }
  3796.       
  3797.       public function set explicitWidth(param1:Number) : void
  3798.       {
  3799.          var _loc2_:IInvalidating = null;
  3800.          if(_explicitWidth == param1)
  3801.          {
  3802.             return;
  3803.          }
  3804.          if(!isNaN(param1))
  3805.          {
  3806.             _percentWidth = NaN;
  3807.          }
  3808.          _explicitWidth = param1;
  3809.          invalidateSize();
  3810.          _loc2_ = parent as IInvalidating;
  3811.          if(Boolean(_loc2_) && includeInLayout)
  3812.          {
  3813.             _loc2_.invalidateSize();
  3814.             _loc2_.invalidateDisplayList();
  3815.          }
  3816.          dispatchEvent(new Event("explicitWidthChanged"));
  3817.       }
  3818.       
  3819.       [Bindable("initialize")]
  3820.       public function get parentDocument() : Object
  3821.       {
  3822.          var _loc1_:IUIComponent = null;
  3823.          var _loc2_:ISystemManager = null;
  3824.          if(document == this)
  3825.          {
  3826.             _loc1_ = parent as IUIComponent;
  3827.             if(_loc1_)
  3828.             {
  3829.                return _loc1_.document;
  3830.             }
  3831.             _loc2_ = parent as ISystemManager;
  3832.             if(_loc2_)
  3833.             {
  3834.                return _loc2_.document;
  3835.             }
  3836.             return null;
  3837.          }
  3838.          return document;
  3839.       }
  3840.       
  3841.       public function set measuredMinHeight(param1:Number) : void
  3842.       {
  3843.          _measuredMinHeight = param1;
  3844.       }
  3845.       
  3846.       protected function childrenCreated() : void
  3847.       {
  3848.          invalidateProperties();
  3849.          invalidateSize();
  3850.          invalidateDisplayList();
  3851.       }
  3852.       
  3853.       private function setBorderColorForErrorString() : void
  3854.       {
  3855.          var _loc1_:IFocusManager = null;
  3856.          var _loc2_:DisplayObject = null;
  3857.          if(!_errorString || _errorString.length == 0)
  3858.          {
  3859.             setStyle("borderColor",mx_internal::origBorderColor);
  3860.             mx_internal::saveBorderColor = true;
  3861.          }
  3862.          else
  3863.          {
  3864.             if(mx_internal::saveBorderColor)
  3865.             {
  3866.                mx_internal::saveBorderColor = false;
  3867.                mx_internal::origBorderColor = getStyle("borderColor");
  3868.             }
  3869.             setStyle("borderColor",getStyle("errorColor"));
  3870.          }
  3871.          styleChanged("themeColor");
  3872.          _loc1_ = focusManager;
  3873.          _loc2_ = !!_loc1_ ? DisplayObject(_loc1_.getFocus()) : null;
  3874.          if(_loc1_ && _loc1_.showFocusIndicator && _loc2_ == this)
  3875.          {
  3876.             drawFocus(true);
  3877.          }
  3878.       }
  3879.       
  3880.       public function measureText(param1:String) : TextLineMetrics
  3881.       {
  3882.          return determineTextFormatFromStyles().measureText(param1);
  3883.       }
  3884.       
  3885.       [Bindable("explicitWidthChanged")]
  3886.       public function get explicitWidth() : Number
  3887.       {
  3888.          return _explicitWidth;
  3889.       }
  3890.       
  3891.       public function invalidateSize() : void
  3892.       {
  3893.          if(!mx_internal::invalidateSizeFlag)
  3894.          {
  3895.             mx_internal::invalidateSizeFlag = true;
  3896.             if(Boolean(parent) && Boolean(UIComponentGlobals.mx_internal::layoutManager))
  3897.             {
  3898.                UIComponentGlobals.mx_internal::layoutManager.invalidateSize(this);
  3899.             }
  3900.          }
  3901.       }
  3902.       
  3903.       override public function set filters(param1:Array) : void
  3904.       {
  3905.          var _loc2_:int = 0;
  3906.          var _loc3_:int = 0;
  3907.          var _loc4_:IEventDispatcher = null;
  3908.          if(_filters)
  3909.          {
  3910.             _loc2_ = int(_filters.length);
  3911.             _loc3_ = 0;
  3912.             while(_loc3_ < _loc2_)
  3913.             {
  3914.                if(_loc4_ = _filters[_loc3_] as IEventDispatcher)
  3915.                {
  3916.                   _loc4_.removeEventListener("change",filterChangeHandler);
  3917.                }
  3918.                _loc3_++;
  3919.             }
  3920.          }
  3921.          _filters = param1;
  3922.          if(_filters)
  3923.          {
  3924.             _loc2_ = int(_filters.length);
  3925.             _loc3_ = 0;
  3926.             while(_loc3_ < _loc2_)
  3927.             {
  3928.                if(_loc4_ = _filters[_loc3_] as IEventDispatcher)
  3929.                {
  3930.                   _loc4_.addEventListener("change",filterChangeHandler);
  3931.                }
  3932.                _loc3_++;
  3933.             }
  3934.          }
  3935.          super.filters = _filters;
  3936.       }
  3937.       
  3938.       protected function updateDisplayList(param1:Number, param2:Number) : void
  3939.       {
  3940.       }
  3941.       
  3942.       override public function get filters() : Array
  3943.       {
  3944.          return !!_filters ? _filters : super.filters;
  3945.       }
  3946.    }
  3947. }
  3948.  
  3949. class MethodQueueElement
  3950. {
  3951.     
  3952.    
  3953.    public var method:Function;
  3954.    
  3955.    public var args:Array;
  3956.    
  3957.    public function MethodQueueElement(param1:Function, param2:Array = null)
  3958.    {
  3959.       super();
  3960.       this.method = param1;
  3961.       this.args = param2;
  3962.    }
  3963. }
  3964.