define("pBWOFExoticFarEastPopups", ["viewBuilderApi", "componentmodelComponentApi", "translationmanagerApi", "clientkernelLoaderApi", "displayEngineApi", "pBWOFExoticFarEastPopupsApi", "gameLayoutApi", "PIXI", "BABYLON", "clientkernelEventbusApi", "clientkernelModulesApi"],
    function(viewBuilderApi, componentmodelComponentApi, translationmanagerApi, clientkernelLoaderApi, displayEngineApi, pBWOFExoticFarEastPopupsApi, gameLayoutApi, PIXI, BABYLON, clientkernelEventbusApi, clientkernelModulesApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof pBWOFExoticFarEastPopups == 'undefined') {
            var pBWOFExoticFarEastPopups = {};
        };
        pBWOFExoticFarEastPopups.Activator = function(context) {};
        pBWOFExoticFarEastPopups.Activator = ck_implements(pBWOFExoticFarEastPopups.Activator, clientkernelModulesApi.IModuleActivator);
        pBWOFExoticFarEastPopups.Activator.__interfaces__ = [clientkernelModulesApi.IModuleActivator];
        pBWOFExoticFarEastPopups.Activator.__name__ = ["pBWOFExoticFarEastPopups", "Activator"];
        pBWOFExoticFarEastPopups.Activator.prototype.start = function(context) {
            context.getServiceTracker([clientkernelLoaderApi.IAssetRegistry, viewBuilderApi.IViewBuilderFactory, displayEngineApi.IDisplayProvider, translationmanagerApi.ITranslationManager]).then(function(context1) {
                pBWOFExoticFarEastPopups.ExternalService.initialize(context1);
                context1.registerService(new pBWOFExoticFarEastPopups.PopupsFactory(context1), pBWOFExoticFarEastPopupsApi.PopupsDeclaration, null);
            });
        };
        pBWOFExoticFarEastPopups.Activator.prototype.stop = function(context) {};
        pBWOFExoticFarEastPopups.Activator.main = function() {};
        pBWOFExoticFarEastPopups.Activator.prototype.__class__ = pBWOFExoticFarEastPopups.Activator;
        pBWOFExoticFarEastPopups.ExternalService = function() {};
        pBWOFExoticFarEastPopups.ExternalService.__name__ = ["pBWOFExoticFarEastPopups", "ExternalService"];
        pBWOFExoticFarEastPopups.ExternalService.assetRegistry = null;
        pBWOFExoticFarEastPopups.ExternalService.vbf = null;
        pBWOFExoticFarEastPopups.ExternalService.displayProvider = null;
        pBWOFExoticFarEastPopups.ExternalService.translationManager = null;
        pBWOFExoticFarEastPopups.ExternalService.bus = null;
        pBWOFExoticFarEastPopups.ExternalService.variableRegistry = null;
        pBWOFExoticFarEastPopups.ExternalService.assets = null;
        pBWOFExoticFarEastPopups.ExternalService.initialize = function(context) {
            pBWOFExoticFarEastPopups.ExternalService.assetRegistry = context.getAnyService(clientkernelLoaderApi.IAssetRegistry, null);
            pBWOFExoticFarEastPopups.ExternalService.vbf = context.getAnyService(viewBuilderApi.IViewBuilderFactory, null);
            pBWOFExoticFarEastPopups.ExternalService.displayProvider = context.getAnyService(displayEngineApi.IDisplayProvider, null);
            pBWOFExoticFarEastPopups.ExternalService.translationManager = context.getAnyService(translationmanagerApi.ITranslationManager, null);
            pBWOFExoticFarEastPopups.ExternalService.bus = context.getAnyService(clientkernelEventbusApi.IEventBus, null);
            pBWOFExoticFarEastPopups.ExternalService.variableRegistry = context.getAnyService(clientkernelLoaderApi.IVariableRegistry, null);
            pBWOFExoticFarEastPopups.ExternalService.assets = new _hcmn_.haxe_ds_StringMap();
        };
        pBWOFExoticFarEastPopups.ExternalService.getAsset = function(id) {
            return pBWOFExoticFarEastPopups.ExternalService.assetRegistry.getAsset(id).getContent();
        };
        pBWOFExoticFarEastPopups.ExternalService.getLanguage = function() {
            return pBWOFExoticFarEastPopups.ExternalService.variableRegistry.get("language");
        };
        pBWOFExoticFarEastPopups.ExternalService.prototype.__class__ = pBWOFExoticFarEastPopups.ExternalService;
        pBWOFExoticFarEastPopups.Popups = function(context) {
            this.assets = new _hcmn_.haxe_ds_StringMap();
            this.assetsLoaded = false;
            this.initialized = false;
            this.layoutPayload = null;
            this.vba = null;
            this.cfgId = "popups_definition_config";
            this.vbLayoutId = "popups_layout";
            haxe.Log.trace("[Popups] [Popups]", {
                fileName: "Popups.hx",
                lineNumber: 59,
                className: "game.popups.Popups",
                methodName: "new"
            });
            this.context = context;
            this.components = new haxe.ds.EnumValueMap();
            this.baseEvents = new pBWOFExoticFarEastPopups.BaseEvents();
            this.baseEvents.animCompleted.add($bind(this, this.handleAnimationCompleted));
            this.port = context.getImplementedPort(pBWOFExoticFarEastPopupsApi.IPopupsImplementationPort);
            this.layoutPort = context.getUsedPort(gameLayoutApi.IGameLayoutPort);
            this.layoutPort.getUpdateComponentLayout().subscribe($bind(this, this.handleUpdateLayout));
            this.loadDefinitionConfig();
        };
        pBWOFExoticFarEastPopups.Popups.__name__ = ["pBWOFExoticFarEastPopups", "Popups"];
        pBWOFExoticFarEastPopups.Popups.prototype.vbLayoutId = null;
        pBWOFExoticFarEastPopups.Popups.prototype.cfgId = null;
        pBWOFExoticFarEastPopups.Popups.prototype.view = null;
        pBWOFExoticFarEastPopups.Popups.prototype.context = null;
        pBWOFExoticFarEastPopups.Popups.prototype.vba = null;
        pBWOFExoticFarEastPopups.Popups.prototype.vbf = null;
        pBWOFExoticFarEastPopups.Popups.prototype.controller = null;
        pBWOFExoticFarEastPopups.Popups.prototype.layoutPayload = null;
        pBWOFExoticFarEastPopups.Popups.prototype.initialized = null;
        pBWOFExoticFarEastPopups.Popups.prototype.assetsLoaded = null;
        pBWOFExoticFarEastPopups.Popups.prototype.port = null;
        pBWOFExoticFarEastPopups.Popups.prototype.layoutPort = null;
        pBWOFExoticFarEastPopups.Popups.prototype.cfg = null;
        pBWOFExoticFarEastPopups.Popups.prototype.assets = null;
        pBWOFExoticFarEastPopups.Popups.prototype.components = null;
        pBWOFExoticFarEastPopups.Popups.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.Popups.prototype.requestEvent = null;
        pBWOFExoticFarEastPopups.Popups.prototype.loadDefinitionConfig = function() {
            var _g = this;
            pBWOFExoticFarEastPopups.ExternalService.assetRegistry.getAsset(this.cfgId).getContent().then(function(data) {
                _g.cfg = data;
                haxe.Log.trace("[Popups] [loadDefinitionConfig] loaded", {
                    fileName: "Popups.hx",
                    lineNumber: 80,
                    className: "game.popups.Popups",
                    methodName: "loadDefinitionConfig",
                    customParams: [_g.cfg]
                });
                _g.loadVBLayout();
            });
        };
        pBWOFExoticFarEastPopups.Popups.prototype.loadVBLayout = function() {
            var _g = this;
            pBWOFExoticFarEastPopups.ExternalService.assetRegistry.getAsset(this.vbLayoutId).getContent().then(function(vba) {
                _g.vba = vba;
                haxe.Log.trace("[Popups] [loadVBLayout] loaded", {
                    fileName: "Popups.hx",
                    lineNumber: 91,
                    className: "game.popups.Popups",
                    methodName: "loadVBLayout",
                    customParams: [_g.vbLayoutId]
                });
                _g.loadVBAnimations();
            });
        };
        pBWOFExoticFarEastPopups.Popups.prototype.loadVBAnimations = function() {
            var _g = this;
            pBWOFExoticFarEastPopups.ExternalService.assetRegistry.getAssetsContent(this.cfg.vbAssets).then(function(data) {
                pBWOFExoticFarEastPopups.ExternalService.assets = data;
                _g.assetsLoaded = true;
                haxe.Log.trace("[Popups] [loadVBAnimations] loaded ", {
                    fileName: "Popups.hx",
                    lineNumber: 103,
                    className: "game.popups.Popups",
                    methodName: "loadVBAnimations",
                    customParams: [_g.assetsLoaded]
                });
                _g.initialize();
            });
        };
        pBWOFExoticFarEastPopups.Popups.prototype.handleUpdateLayout = function(e) {
            this.layoutPayload = e.getPayload();
            haxe.Log.trace("[Popups] [updateLayout]", {
                fileName: "Popups.hx",
                lineNumber: 111,
                className: "game.popups.Popups",
                methodName: "handleUpdateLayout",
                customParams: [this.initialized]
            });
            if (!this.initialized) this.initialize();
            else {
                this.controller.updateLayout(this.layoutPayload);
                this.layoutPort.getComponentLayoutUpdated().publish(this.context.getInstance());
            }
        };
        pBWOFExoticFarEastPopups.Popups.prototype.initialize = function() {
            haxe.Log.trace("[Popups] [initialize]" + _hcmn_.Std.string(this.initialized) + _hcmn_.Std.string(this.layoutPayload), {
                fileName: "Popups.hx",
                lineNumber: 125,
                className: "game.popups.Popups",
                methodName: "initialize"
            });
            if (!this.initialized && this.vba != null && this.layoutPayload != null && this.assetsLoaded) {
                this.initialized = true;
                this.controller = new pBWOFExoticFarEastPopups.PopupsController(this);
                this.view = pBWOFExoticFarEastPopups.ExternalService.vbf.createView(this.vba);
                this.registerAllComponents();
                this.controller.updateLayout(this.layoutPayload);
                this.layoutPort.getComponentLayoutUpdated().publish(this.context.getInstance());
                this.port.getHide().subscribe($bind(this, this.handleHide));
                this.port.getShow().subscribe($bind(this, this.handleShow));
            }
        };
        pBWOFExoticFarEastPopups.Popups.prototype.registerAllComponents = function() {
            haxe.Log.trace("[Popups] [registerAllComponents]", {
                fileName: "Popups.hx",
                lineNumber: 145,
                className: "game.popups.Popups",
                methodName: "registerAllComponents"
            });
            var $it0 = (function($this) {
                var $r;
                var this1 = $this.view.getChildComponents();
                $r = this1.keys();
                return $r;
            }(this));
            while ($it0.hasNext()) {
                var compId = $it0.next();
                var constructorIndex;
                var _this = _hcmn_.Type.getEnumConstructs(pBWOFExoticFarEastPopupsApi.PopupTypeEnum);
                constructorIndex = _hcmn_.HxOverrides.indexOf(_this, compId, 0);
                if (constructorIndex < 0) continue;
                var componentEnum = _hcmn_.Type.createEnum(pBWOFExoticFarEastPopupsApi.PopupTypeEnum, compId, null);
                this.registerComponent(componentEnum);
            }
        };
        pBWOFExoticFarEastPopups.Popups.prototype.registerComponent = function(componentEnum) {
            haxe.Log.trace("[Popups] [registerComponent]", {
                fileName: "Popups.hx",
                lineNumber: 158,
                className: "game.popups.Popups",
                methodName: "registerComponent",
                customParams: [componentEnum]
            });
            switch (componentEnum[1]) {
                case 0:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.WHEEL_STATIC, pBWOFExoticFarEastPopups.StaticsView);
                    break;
                case 2:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.FS_AWARD_CAP, pBWOFExoticFarEastPopups.PopupView);
                    break;
                case 7:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.WB_OUTRO, pBWOFExoticFarEastPopups.PopupView);
                    break;
                case 8:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.WB_INTRO, pBWOFExoticFarEastPopups.PopupView);
                    break;
                case 1:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.BG_AWARD_CAP, pBWOFExoticFarEastPopups.PopupView);
                    break;
                case 6:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.FS_ANIM, pBWOFExoticFarEastPopups.FSAnimView);
                    break;
                case 5:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.FS_OUTRO, pBWOFExoticFarEastPopups.PopupView);
                    break;
                case 4:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.FS_MAX_RETRIGGER, pBWOFExoticFarEastPopups.PopupView);
                    break;
                case 3:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.FS_RETRIGGER, pBWOFExoticFarEastPopups.PopupView);
                    break;
                case 9:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.REEL_BACKGROUND_BG, pBWOFExoticFarEastPopups.StaticsView);
                    break;
                case 10:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.REEL_BACKGROUND_FS, pBWOFExoticFarEastPopups.StaticsView);
                    break;
                case 11:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.REEL_FOREGROUND_BG, pBWOFExoticFarEastPopups.StaticsView);
                    break;
                case 12:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.REEL_FOREGROUND_FS, pBWOFExoticFarEastPopups.StaticsView);
                    break;
                case 13:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.MAJOR_ANIM, pBWOFExoticFarEastPopups.MajorAnim);
                    break;
                case 14:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.GRAND_ANIM, pBWOFExoticFarEastPopups.GrandAnim);
                    break;
                case 18:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.POWER_BUCKS_ANIM, pBWOFExoticFarEastPopups.PowerBucksAnim);
                    break;
                case 19:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.CASH_LINK, pBWOFExoticFarEastPopups.PopupView);
                    break;
                case 15:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.VANNA_ANIM, pBWOFExoticFarEastPopups.VannaAnim);
                    break;
                case 16:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.ELIGIBLE_ANIM, pBWOFExoticFarEastPopups.EligibleAnim);
                    break;
                case 17:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.CASH_LINK_EXPLOSION, pBWOFExoticFarEastPopups.CashLinkExplosion);
                    break;
                case 20:
                    this.registerContainerComponent(pBWOFExoticFarEastPopupsApi.PopupTypeEnum.DEFAULT, pBWOFExoticFarEastPopups.PopupView);
                    break;
            }
            return true;
        };
        pBWOFExoticFarEastPopups.Popups.prototype.registerContainerComponent = function(componentEnum, componentClass) {
            haxe.Log.trace("[Popups] [registerContainerComponent]", {
                fileName: "Popups.hx",
                lineNumber: 212,
                className: "game.popups.Popups",
                methodName: "registerContainerComponent",
                customParams: [componentEnum]
            });
            var container = this.view.getContainerById(componentEnum[0]);
            if (container == null) return;
            var value = _hcmn_.Type.createInstance(componentClass, [container, this.cfg, this.baseEvents]);
            this.components.set(componentEnum, value);
        };
        pBWOFExoticFarEastPopups.Popups.prototype.handleHide = function(e) {
            var componentId = e.getPayload().type;
            haxe.Log.trace("[Popups] [handleHide]", {
                fileName: "Popups.hx",
                lineNumber: 222,
                className: "game.popups.Popups",
                methodName: "handleHide",
                customParams: [componentId]
            });
            if (this.components.exists(componentId)) this.components.get(componentId).hide();
        };
        pBWOFExoticFarEastPopups.Popups.prototype.handleAnimationCompleted = function(e) {
            haxe.Log.trace("[Popups] [handleAnimationCompleted]", {
                fileName: "Popups.hx",
                lineNumber: 231,
                className: "game.popups.Popups",
                methodName: "handleAnimationCompleted",
                customParams: [e]
            });
            if (this.requestEvent != null) {
                this.requestEvent.reply(null);
                this.requestEvent = null;
            }
        };
        pBWOFExoticFarEastPopups.Popups.prototype.handleShow = function(e) {
            haxe.Log.trace("[Popups] [handleShow]", {
                fileName: "Popups.hx",
                lineNumber: 241,
                className: "game.popups.Popups",
                methodName: "handleShow",
                customParams: [e.getPayload()]
            });
            this.requestEvent = e;
            var content = e.getPayload().content;
            var delay = e.getPayload().delay;
            var componentId = e.getPayload().type;
            if (this.components.exists(componentId)) this.components.get(componentId).show(content);
            if (componentId == pBWOFExoticFarEastPopupsApi.PopupTypeEnum.FS_ANIM || componentId == pBWOFExoticFarEastPopupsApi.PopupTypeEnum.MAJOR_ANIM || componentId == pBWOFExoticFarEastPopupsApi.PopupTypeEnum.GRAND_ANIM || componentId == pBWOFExoticFarEastPopupsApi.PopupTypeEnum.POWER_BUCKS_ANIM || componentId == pBWOFExoticFarEastPopupsApi.PopupTypeEnum.CASH_LINK || componentId == pBWOFExoticFarEastPopupsApi.PopupTypeEnum.VANNA_ANIM || componentId == pBWOFExoticFarEastPopupsApi.PopupTypeEnum.ELIGIBLE_ANIM || componentId == pBWOFExoticFarEastPopupsApi.PopupTypeEnum.CASH_LINK_EXPLOSION) {} else _hcmn_.haxe_Timer.delay(function() {
                e.reply(null);
            }, delay);
        };
        pBWOFExoticFarEastPopups.Popups.prototype.__class__ = pBWOFExoticFarEastPopups.Popups;
        pBWOFExoticFarEastPopups.PopupsController = function(popups) {
            this.flag_addedToStage = false;
            this.popups = popups;
        };
        pBWOFExoticFarEastPopups.PopupsController.__name__ = ["pBWOFExoticFarEastPopups", "PopupsController"];
        pBWOFExoticFarEastPopups.PopupsController.prototype.flag_addedToStage = null;
        pBWOFExoticFarEastPopups.PopupsController.prototype.popups = null;
        pBWOFExoticFarEastPopups.PopupsController.prototype.updateLayout = function(layoutPayload) {
            var $it0 = layoutPayload.containers.keys();
            while ($it0.hasNext()) {
                var layerId = $it0.next();
                var layerPayload = layoutPayload.containers.get(layerId);
                var cfg = layerPayload.configuration;
                var stage;
                var this1 = pBWOFExoticFarEastPopups.ExternalService.displayProvider.getStages();
                stage = this1.get(layerPayload.stage);
                if ((function($this) {
                        var $r;
                        var this2 = $this.popups.view.getChildComponents();
                        $r = this2.get(layerId);
                        return $r;
                    }(this)) != null) {
                    var container;
                    container = (function($this) {
                        var $r;
                        var this3 = $this.popups.view.getChildComponents();
                        $r = this3.get(layerId);
                        return $r;
                    }(this));
                    var containerDO = container.getDisplayObject();
                    if (!this.flag_addedToStage) stage.addChild(containerDO);
                    containerDO.setX(layerPayload.left);
                    containerDO.setY(layerPayload.top);
                    containerDO.setScaleX(layerPayload.width / containerDO.getUserData().viewBuilderW);
                    containerDO.setScaleY(layerPayload.height / containerDO.getUserData().viewBuilderH);
                    containerDO.setZIndex(layerPayload.zIndex);
                    if (cfg != null)((function($this) {
                        var $r;
                        var key = _hcmn_.Type.createEnum(pBWOFExoticFarEastPopupsApi.PopupTypeEnum, layerId, null);
                        $r = $this.popups.components.get(key);
                        return $r;
                    }(this))).configure(cfg);
                }
            }
            if (!this.flag_addedToStage) this.flag_addedToStage = true;
        };
        pBWOFExoticFarEastPopups.PopupsController.prototype.__class__ = pBWOFExoticFarEastPopups.PopupsController;
        pBWOFExoticFarEastPopups.PopupsFactory = function(context) {
            this.context = context;
        };
        pBWOFExoticFarEastPopups.PopupsFactory = ck_implements(pBWOFExoticFarEastPopups.PopupsFactory, clientkernelModulesApi.IService);
        pBWOFExoticFarEastPopups.PopupsFactory = ck_implements(pBWOFExoticFarEastPopups.PopupsFactory, componentmodelComponentApi.IComponentFactory);
        pBWOFExoticFarEastPopups.PopupsFactory.__interfaces__ = [clientkernelModulesApi.IService, componentmodelComponentApi.IComponentFactory];
        pBWOFExoticFarEastPopups.PopupsFactory.__name__ = ["pBWOFExoticFarEastPopups", "PopupsFactory"];
        pBWOFExoticFarEastPopups.PopupsFactory.prototype.context = null;
        pBWOFExoticFarEastPopups.PopupsFactory.prototype.getComponentDeclaration = function() {
            return pBWOFExoticFarEastPopupsApi.PopupsDeclaration;
        };
        pBWOFExoticFarEastPopups.PopupsFactory.prototype.createComponent = function(context) {
            new pBWOFExoticFarEastPopups.Popups(context);
        };
        pBWOFExoticFarEastPopups.PopupsFactory.prototype.__class__ = pBWOFExoticFarEastPopups.PopupsFactory;

        pBWOFExoticFarEastPopups.IPopupView = function() {}
        pBWOFExoticFarEastPopups.IPopupView.prototype = {

            hide: function() {
                return {
                    arguments: [],
                    returns: "void"
                };
            },
            show: function(content) {
                return {
                    arguments: ["array"],
                    returns: "void"
                };
            },
            configure: function(cfg) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            }
        };
        pBWOFExoticFarEastPopups.CashLinkExplosion = function(container, cfg, baseEvents) {
            this.vbAssetId = "popups_vb";
            this.baseEvents = baseEvents;
            this.container = container;
            this.cfg = cfg;
            this.vbAnimView = pBWOFExoticFarEastPopups.ExternalService.vbf.createView(pBWOFExoticFarEastPopups.ExternalService.assets.get(this.vbAssetId));
            var vbAnimHolder = this.vbAnimView.createContainerFromStoredConfig("coinExplosion");
            vbAnimHolder.hide();
            var vbAnimContent = vbAnimHolder.getVBAnimationById("ANIMATION_CONTENT");
            container.addChildComponent(vbAnimHolder, "ANIMATION_COIN_EXPLOSION");
            container.hide();
        };
        pBWOFExoticFarEastPopups.CashLinkExplosion = ck_implements(pBWOFExoticFarEastPopups.CashLinkExplosion, pBWOFExoticFarEastPopups.IPopupView);
        pBWOFExoticFarEastPopups.CashLinkExplosion.__interfaces__ = [pBWOFExoticFarEastPopups.IPopupView];
        pBWOFExoticFarEastPopups.CashLinkExplosion.__name__ = ["pBWOFExoticFarEastPopups", "CashLinkExplosion"];
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.container = null;
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.cfg = null;
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.displayObjectPage = null;
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.vbAssetId = null;
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.vbAnimView = null;
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.show = function(content) {
            this.container.show();
            var vbAnimHolder = this.container.getContainerById("ANIMATION_COIN_EXPLOSION");
            vbAnimHolder.show();
            var vbAnimContent = vbAnimHolder.getVBAnimationById("ANIMATION_CONTENT");
            vbAnimContent.show();
            vbAnimContent.gotoAndPlay(false, "state_0");
        };
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.hide = function() {
            this.container.hide();
        };
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.configure = function(cfg) {};
        pBWOFExoticFarEastPopups.CashLinkExplosion.prototype.__class__ = pBWOFExoticFarEastPopups.CashLinkExplosion;
        pBWOFExoticFarEastPopups.EligibleAnim = function(container, cfg, baseEvents) {
            this.vbAssetId = "popups_vb";
            this.baseEvents = baseEvents;
            this.container = container;
            this.cfg = cfg;
            this.vbAnimView = pBWOFExoticFarEastPopups.ExternalService.vbf.createView(pBWOFExoticFarEastPopups.ExternalService.assets.get(this.vbAssetId));
            var vbAnimHolder = this.vbAnimView.createContainerFromStoredConfig("PE_VB");
            vbAnimHolder.hide();
            var vbAnimContent = vbAnimHolder.getVBAnimationById("ANIMATION_CONTENT");
            container.addChildComponent(vbAnimHolder, "ANIMATION_ELIGIBLE");
            container.hide();
        };
        pBWOFExoticFarEastPopups.EligibleAnim = ck_implements(pBWOFExoticFarEastPopups.EligibleAnim, pBWOFExoticFarEastPopups.IPopupView);
        pBWOFExoticFarEastPopups.EligibleAnim.__interfaces__ = [pBWOFExoticFarEastPopups.IPopupView];
        pBWOFExoticFarEastPopups.EligibleAnim.__name__ = ["pBWOFExoticFarEastPopups", "EligibleAnim"];
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.container = null;
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.cfg = null;
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.displayObjectPage = null;
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.vbAssetId = null;
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.vbAnimView = null;
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.show = function(content) {
            this.container.show();
            var vbAnimHolder = this.container.getContainerById("ANIMATION_ELIGIBLE");
            vbAnimHolder.show();
            var vbAnimContent = vbAnimHolder.getVBAnimationById("ANIMATION_CONTENT");
            vbAnimContent.show();
            vbAnimContent.gotoAndPlay(false, "state_0");
        };
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.hide = function() {
            this.container.hide();
        };
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.configure = function(cfg) {};
        pBWOFExoticFarEastPopups.EligibleAnim.prototype.__class__ = pBWOFExoticFarEastPopups.EligibleAnim;
        pBWOFExoticFarEastPopups.FSAnimView = function(container, cfg, baseEvents) {
            this.animId = "popups_vb";
            this.baseEvents = baseEvents;
            this.container = container;
            this.cfg = cfg;
            this.vbAnimView = pBWOFExoticFarEastPopups.ExternalService.vbf.createView(pBWOFExoticFarEastPopups.ExternalService.assets.get(this.animId));
            container.hide();
        };
        pBWOFExoticFarEastPopups.FSAnimView = ck_implements(pBWOFExoticFarEastPopups.FSAnimView, pBWOFExoticFarEastPopups.IPopupView);
        pBWOFExoticFarEastPopups.FSAnimView.__interfaces__ = [pBWOFExoticFarEastPopups.IPopupView];
        pBWOFExoticFarEastPopups.FSAnimView.__name__ = ["pBWOFExoticFarEastPopups", "FSAnimView"];
        pBWOFExoticFarEastPopups.FSAnimView.prototype.container = null;
        pBWOFExoticFarEastPopups.FSAnimView.prototype.cfg = null;
        pBWOFExoticFarEastPopups.FSAnimView.prototype.displayObjectPage = null;
        pBWOFExoticFarEastPopups.FSAnimView.prototype.animId = null;
        pBWOFExoticFarEastPopups.FSAnimView.prototype.vbAnimView = null;
        pBWOFExoticFarEastPopups.FSAnimView.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.FSAnimView.prototype.show = function(content) {
            this.container.show();
            var componentId = this.container.getDisplayObject().getName();
            var vbAnimHolder = this.vbAnimView.createContainerFromStoredConfig("free_spin_vb");
            vbAnimHolder.show();
            this.container.addChildComponent(vbAnimHolder, "free_spin_vb");
            var vbAnimContent = vbAnimHolder.getVBAnimationById("ANIMATION_CONTENT");
            vbAnimContent.show();
            vbAnimContent.addEventListener("evtComplete", $bind(this, this.handleEventComplete));
            vbAnimContent.gotoAndPlay(false, "loop");
        };
        pBWOFExoticFarEastPopups.FSAnimView.prototype.handleEventComplete = function(evt) {
            var componentId = this.container.getDisplayObject().getName();
            this.baseEvents.animCompleted.dispatch(componentId);
        };
        pBWOFExoticFarEastPopups.FSAnimView.prototype.hide = function() {
            var $it0 = (function($this) {
                var $r;
                var this1 = $this.container.getChildComponents();
                $r = this1.keys();
                return $r;
            }(this));
            while ($it0.hasNext()) {
                var key = $it0.next();
                this.container.disposeChildComponent(key);
            }
            this.container.hide();
        };
        pBWOFExoticFarEastPopups.FSAnimView.prototype.configure = function(cfg) {};
        pBWOFExoticFarEastPopups.FSAnimView.prototype.__class__ = pBWOFExoticFarEastPopups.FSAnimView;
        pBWOFExoticFarEastPopups.GrandAnim = function(container, cfg, baseEvents) {
            this.animId = "popup_fireworks";
            this.baseEvents = baseEvents;
            this.container = container;
            this.cfg = cfg;
            this.vbAnimView = pBWOFExoticFarEastPopups.ExternalService.vbf.createView(pBWOFExoticFarEastPopups.ExternalService.assets.get(this.animId));
            container.hide();
        };
        pBWOFExoticFarEastPopups.GrandAnim = ck_implements(pBWOFExoticFarEastPopups.GrandAnim, pBWOFExoticFarEastPopups.IPopupView);
        pBWOFExoticFarEastPopups.GrandAnim.__interfaces__ = [pBWOFExoticFarEastPopups.IPopupView];
        pBWOFExoticFarEastPopups.GrandAnim.__name__ = ["pBWOFExoticFarEastPopups", "GrandAnim"];
        pBWOFExoticFarEastPopups.GrandAnim.prototype.container = null;
        pBWOFExoticFarEastPopups.GrandAnim.prototype.cfg = null;
        pBWOFExoticFarEastPopups.GrandAnim.prototype.displayObjectPage = null;
        pBWOFExoticFarEastPopups.GrandAnim.prototype.animId = null;
        pBWOFExoticFarEastPopups.GrandAnim.prototype.vbAnimView = null;
        pBWOFExoticFarEastPopups.GrandAnim.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.GrandAnim.prototype.show = function(content) {
            this.container.show();
            var componentId = this.container.getDisplayObject().getName();
            var vbAnimHolder = this.vbAnimView.createContainerFromStoredConfig("ANIMATION_HOLDER_GRAND");
            vbAnimHolder.show();
            this.container.addChildComponent(vbAnimHolder, "ANIMATION_GRAND");
            var vbAnimContent = vbAnimHolder.getVBAnimationById("ANIMATION_CONTENT_GRAND");
            vbAnimContent.show();
            vbAnimContent.addEventListener("grandAnimationComplete", $bind(this, this.handleEventComplete));
            vbAnimContent.gotoAndPlay(false, "loop");
            var label;
            if (content != null) {
                label = vbAnimContent.getLabelById("grandValueLabelFireworks");
                label.setText(content[0]);
            }
        };
        pBWOFExoticFarEastPopups.GrandAnim.prototype.handleEventComplete = function(evt) {
            var componentId = this.container.getDisplayObject().getName();
            this.baseEvents.animCompleted.dispatch(componentId);
        };
        pBWOFExoticFarEastPopups.GrandAnim.prototype.hide = function() {
            var $it0 = (function($this) {
                var $r;
                var this1 = $this.container.getChildComponents();
                $r = this1.keys();
                return $r;
            }(this));
            while ($it0.hasNext()) {
                var key = $it0.next();
                this.container.disposeChildComponent(key);
            }
            this.container.hide();
        };
        pBWOFExoticFarEastPopups.GrandAnim.prototype.configure = function(cfg) {};
        pBWOFExoticFarEastPopups.GrandAnim.prototype.__class__ = pBWOFExoticFarEastPopups.GrandAnim;
        pBWOFExoticFarEastPopups.MajorAnim = function(container, cfg, baseEvents) {
            this.animId = "popup_fireworks";
            this.baseEvents = baseEvents;
            this.container = container;
            this.cfg = cfg;
            this.vbAnimView = pBWOFExoticFarEastPopups.ExternalService.vbf.createView(pBWOFExoticFarEastPopups.ExternalService.assets.get(this.animId));
            container.hide();
        };
        pBWOFExoticFarEastPopups.MajorAnim = ck_implements(pBWOFExoticFarEastPopups.MajorAnim, pBWOFExoticFarEastPopups.IPopupView);
        pBWOFExoticFarEastPopups.MajorAnim.__interfaces__ = [pBWOFExoticFarEastPopups.IPopupView];
        pBWOFExoticFarEastPopups.MajorAnim.__name__ = ["pBWOFExoticFarEastPopups", "MajorAnim"];
        pBWOFExoticFarEastPopups.MajorAnim.prototype.container = null;
        pBWOFExoticFarEastPopups.MajorAnim.prototype.cfg = null;
        pBWOFExoticFarEastPopups.MajorAnim.prototype.displayObjectPage = null;
        pBWOFExoticFarEastPopups.MajorAnim.prototype.animId = null;
        pBWOFExoticFarEastPopups.MajorAnim.prototype.vbAnimView = null;
        pBWOFExoticFarEastPopups.MajorAnim.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.MajorAnim.prototype.show = function(content) {
            this.container.show();
            var componentId = this.container.getDisplayObject().getName();
            var vbAnimHolder = this.vbAnimView.createContainerFromStoredConfig("ANIMATION_HOLDER_MAJOR");
            vbAnimHolder.show();
            this.container.addChildComponent(vbAnimHolder, "ANIMATION_MAJOR");
            var vbAnimContent = vbAnimHolder.getVBAnimationById("ANIMATION_CONTENT_MAJOR");
            vbAnimContent.show();
            vbAnimContent.addEventListener("majorAnimationComplete", $bind(this, this.handleEventComplete));
            vbAnimContent.gotoAndPlay(false, "loop");
            var label;
            if (content != null) {
                label = vbAnimContent.getLabelById("majorValueLabelFireworks");
                label.setText(content[0]);
            }
        };
        pBWOFExoticFarEastPopups.MajorAnim.prototype.handleEventComplete = function(evt) {
            var componentId = this.container.getDisplayObject().getName();
            this.baseEvents.animCompleted.dispatch(componentId);
        };
        pBWOFExoticFarEastPopups.MajorAnim.prototype.hide = function() {
            var $it0 = (function($this) {
                var $r;
                var this1 = $this.container.getChildComponents();
                $r = this1.keys();
                return $r;
            }(this));
            while ($it0.hasNext()) {
                var key = $it0.next();
                this.container.disposeChildComponent(key);
            }
            this.container.hide();
        };
        pBWOFExoticFarEastPopups.MajorAnim.prototype.configure = function(cfg) {};
        pBWOFExoticFarEastPopups.MajorAnim.prototype.__class__ = pBWOFExoticFarEastPopups.MajorAnim;
        pBWOFExoticFarEastPopups.PopupView = function(container, cfg, baseEvents) {
            this.firstTime = true;
            this.baseEvents = baseEvents;
            this.container = container;
            this.cfg = cfg;
            container.hide();
        };
        pBWOFExoticFarEastPopups.PopupView = ck_implements(pBWOFExoticFarEastPopups.PopupView, pBWOFExoticFarEastPopups.IPopupView);
        pBWOFExoticFarEastPopups.PopupView.__interfaces__ = [pBWOFExoticFarEastPopups.IPopupView];
        pBWOFExoticFarEastPopups.PopupView.__name__ = ["pBWOFExoticFarEastPopups", "PopupView"];
        pBWOFExoticFarEastPopups.PopupView.prototype.container = null;
        pBWOFExoticFarEastPopups.PopupView.prototype.cfg = null;
        pBWOFExoticFarEastPopups.PopupView.prototype.displayObjectPage = null;
        pBWOFExoticFarEastPopups.PopupView.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.PopupView.prototype.firstTime = null;
        pBWOFExoticFarEastPopups.PopupView.prototype.show = function(content) {
            var componentId = this.container.getDisplayObject().getName();
            if (this.container.getDisplayObject().getName() != "DEFAULT" || this.firstTime) {
                this.firstTime = false;
                var contentHolder = this.container.createContainerFromStoredConfig("content");
                if (!(function($this) {
                        var $r;
                        var this1 = $this.container.getChildComponents();
                        $r = this1.exists("content");
                        return $r;
                    }(this))) this.container.addChildComponent(contentHolder, "content");
                contentHolder.show();
                this.container.show();
            } else this.container.show();
            this.updateLabels(componentId, content);
            this.updateOffsets(this.container);
        };
        pBWOFExoticFarEastPopups.PopupView.prototype.updateLabels = function(componentId, content) {
            if (content != null) {
                var _g1 = 0;
                var _g = content.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    var labelId = componentId + "_" + i;
                    var labelShadowId = componentId + "_" + i + "_" + "shadow";
                    var contentContainer = this.container.getContainerById("content");
                    var text = content[i];
                    if ((function($this) {
                            var $r;
                            var this1 = contentContainer.getChildComponents();
                            $r = this1.exists(labelId);
                            return $r;
                        }(this))) {
                        var label = contentContainer.getLabelById(labelId);
                        if (text == null || text == " " || text == "" || text == "" || text == " ") label.setText(" ");
                        else label.setText(content[i]);
                    }
                    if ((function($this) {
                            var $r;
                            var this2 = contentContainer.getChildComponents();
                            $r = this2.exists(labelShadowId);
                            return $r;
                        }(this))) {
                        var label1 = contentContainer.getLabelById(labelShadowId);
                        if (text == null || text == " " || text == "" || text == "" || text == " ") label1.setText(" ");
                        else label1.setText(content[i]);
                    }
                }
            }
        };
        pBWOFExoticFarEastPopups.PopupView.prototype.hide = function() {
            if (this.container.getDisplayObject().getName() != "DEFAULT") {
                var $it0 = (function($this) {
                    var $r;
                    var this1 = $this.container.getChildComponents();
                    $r = this1.keys();
                    return $r;
                }(this));
                while ($it0.hasNext()) {
                    var key = $it0.next();
                    this.container.disposeChildComponent(key);
                }
            }
            this.container.hide();
        };
        pBWOFExoticFarEastPopups.PopupView.prototype.configure = function(cfg) {};
        pBWOFExoticFarEastPopups.PopupView.prototype.updateOffsets = function(page) {
            if (this.cfg.offsets != null) {
                var offsets = this.cfg.offsets;
                var _g = 0;
                var _g1 = _hcmn_.Reflect.fields(offsets);
                while (_g < _g1.length) {
                    var lang = _g1[_g];
                    ++_g;
                    if (lang == pBWOFExoticFarEastPopups.ExternalService.getLanguage()) {
                        var elements = _hcmn_.Reflect.field(offsets, lang);
                        var _g2 = 0;
                        var _g3 = _hcmn_.Reflect.fields(elements);
                        while (_g2 < _g3.length) {
                            var displayObjectId = _g3[_g2];
                            ++_g2;
                            var point = _hcmn_.Reflect.field(elements, displayObjectId);
                            this.displayObjectPage = null;
                            this.findDisplayedObjectPage(page, displayObjectId);
                            if (this.displayObjectPage != null && this.displayObjectPage.isContainer() && (function($this) {
                                    var $r;
                                    var this1 = $this.displayObjectPage.getChildComponents();
                                    $r = this1.exists(displayObjectId);
                                    return $r;
                                }(this))) {
                                var x = _hcmn_.Std["int"](((function($this) {
                                    var $r;
                                    var this2 = $this.displayObjectPage.getChildComponents();
                                    $r = this2.get(displayObjectId);
                                    return $r;
                                }(this))).getDisplayObject().getX());
                                var y = _hcmn_.Std["int"](((function($this) {
                                    var $r;
                                    var this3 = $this.displayObjectPage.getChildComponents();
                                    $r = this3.get(displayObjectId);
                                    return $r;
                                }(this))).getDisplayObject().getY());
                                var offsetX = point.x;
                                var offsetY = point.y;
                                ((function($this) {
                                    var $r;
                                    var this4 = $this.displayObjectPage.getChildComponents();
                                    $r = this4.get(displayObjectId);
                                    return $r;
                                }(this))).setX(x + offsetX);
                                ((function($this) {
                                    var $r;
                                    var this5 = $this.displayObjectPage.getChildComponents();
                                    $r = this5.get(displayObjectId);
                                    return $r;
                                }(this))).setY(y + offsetY);
                            }
                        }
                    }
                }
            }
        };
        pBWOFExoticFarEastPopups.PopupView.prototype.findDisplayedObjectPage = function(page, displayObjectId) {
            if ((function($this) {
                    var $r;
                    var this1 = page.getChildComponents();
                    var key = displayObjectId;
                    $r = this1.exists(key);
                    return $r;
                }(this))) {
                this.displayObjectPage = page;
                null;
                return;
            }
            var $it0 = (function($this) {
                var $r;
                var this2 = page.getChildComponents();
                $r = this2.keys();
                return $r;
            }(this));
            while ($it0.hasNext()) {
                var key1 = $it0.next();
                var pageChild = page.getContainerById(key1);
                if (pageChild.isContainer()) this.findDisplayedObjectPage(pageChild, displayObjectId);
            }
        };
        pBWOFExoticFarEastPopups.PopupView.prototype.__class__ = pBWOFExoticFarEastPopups.PopupView;
        pBWOFExoticFarEastPopups.PowerBucksAnim = function(container, cfg, baseEvents) {
            this.animId = "popup_fireworks";
            this.baseEvents = baseEvents;
            this.container = container;
            this.cfg = cfg;
            this.vbAnimView = pBWOFExoticFarEastPopups.ExternalService.vbf.createView(pBWOFExoticFarEastPopups.ExternalService.assets.get(this.animId));
            container.hide();
        };
        pBWOFExoticFarEastPopups.PowerBucksAnim = ck_implements(pBWOFExoticFarEastPopups.PowerBucksAnim, pBWOFExoticFarEastPopups.IPopupView);
        pBWOFExoticFarEastPopups.PowerBucksAnim.__interfaces__ = [pBWOFExoticFarEastPopups.IPopupView];
        pBWOFExoticFarEastPopups.PowerBucksAnim.__name__ = ["pBWOFExoticFarEastPopups", "PowerBucksAnim"];
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.container = null;
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.cfg = null;
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.displayObjectPage = null;
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.animId = null;
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.vbAnimView = null;
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.show = function(content) {
            this.container.show();
            var componentId = this.container.getDisplayObject().getName();
            var vbAnimHolder = this.vbAnimView.createContainerFromStoredConfig("ANIMATION_HOLDER_JACKPOT");
            vbAnimHolder.show();
            this.container.addChildComponent(vbAnimHolder, "ANIMATION_JACKPOT");
            var vbAnimContent = vbAnimHolder.getVBAnimationById("ANIMATION_CONTENT_JACKPOT");
            vbAnimContent.show();
            vbAnimContent.addEventListener("jackpotAnimationComplete", $bind(this, this.handleEventComplete));
            vbAnimContent.gotoAndPlay(false, "loop");
            var label;
            if (content != null) {
                label = vbAnimContent.getLabelById("jpValueLabelFireworks");
                label.setText(content[0]);
            }
        };
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.handleEventComplete = function(evt) {
            var componentId = this.container.getDisplayObject().getName();
            this.baseEvents.animCompleted.dispatch(componentId);
        };
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.hide = function() {
            var $it0 = (function($this) {
                var $r;
                var this1 = $this.container.getChildComponents();
                $r = this1.keys();
                return $r;
            }(this));
            while ($it0.hasNext()) {
                var key = $it0.next();
                this.container.disposeChildComponent(key);
            }
            this.container.hide();
        };
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.configure = function(cfg) {};
        pBWOFExoticFarEastPopups.PowerBucksAnim.prototype.__class__ = pBWOFExoticFarEastPopups.PowerBucksAnim;
        pBWOFExoticFarEastPopups.StaticsView = function(container, cfg, baseEvents) {
            this.baseEvents = baseEvents;
            this.container = container;
            this.cfg = cfg;
            container.hide();
        };
        pBWOFExoticFarEastPopups.StaticsView = ck_implements(pBWOFExoticFarEastPopups.StaticsView, pBWOFExoticFarEastPopups.IPopupView);
        pBWOFExoticFarEastPopups.StaticsView.__interfaces__ = [pBWOFExoticFarEastPopups.IPopupView];
        pBWOFExoticFarEastPopups.StaticsView.__name__ = ["pBWOFExoticFarEastPopups", "StaticsView"];
        pBWOFExoticFarEastPopups.StaticsView.prototype.container = null;
        pBWOFExoticFarEastPopups.StaticsView.prototype.cfg = null;
        pBWOFExoticFarEastPopups.StaticsView.prototype.displayObjectPage = null;
        pBWOFExoticFarEastPopups.StaticsView.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.StaticsView.prototype.show = function(content) {
            haxe.Log.trace("[StaticsView] [show]", {
                fileName: "StaticsView.hx",
                lineNumber: 28,
                className: "game.popups.components.StaticsView",
                methodName: "show",
                customParams: [this.container.getDisplayObject().getName()]
            });
            this.container.show();
        };
        pBWOFExoticFarEastPopups.StaticsView.prototype.hide = function() {
            haxe.Log.trace("[StaticsView] [hide]", {
                fileName: "StaticsView.hx",
                lineNumber: 34,
                className: "game.popups.components.StaticsView",
                methodName: "hide",
                customParams: [this.container.getDisplayObject().getName()]
            });
            this.container.hide();
        };
        pBWOFExoticFarEastPopups.StaticsView.prototype.configure = function(cfg) {};
        pBWOFExoticFarEastPopups.StaticsView.prototype.__class__ = pBWOFExoticFarEastPopups.StaticsView;
        pBWOFExoticFarEastPopups.VannaAnim = function(container, cfg, baseEvents) {
            this.animId = "Vanna";
            this.baseEvents = baseEvents;
            this.container = container;
            this.cfg = cfg;
            this.vbAnimView = pBWOFExoticFarEastPopups.ExternalService.vbf.createView(pBWOFExoticFarEastPopups.ExternalService.assets.get(this.animId));
            container.hide();
        };
        pBWOFExoticFarEastPopups.VannaAnim = ck_implements(pBWOFExoticFarEastPopups.VannaAnim, pBWOFExoticFarEastPopups.IPopupView);
        pBWOFExoticFarEastPopups.VannaAnim.__interfaces__ = [pBWOFExoticFarEastPopups.IPopupView];
        pBWOFExoticFarEastPopups.VannaAnim.__name__ = ["pBWOFExoticFarEastPopups", "VannaAnim"];
        pBWOFExoticFarEastPopups.VannaAnim.prototype.container = null;
        pBWOFExoticFarEastPopups.VannaAnim.prototype.cfg = null;
        pBWOFExoticFarEastPopups.VannaAnim.prototype.displayObjectPage = null;
        pBWOFExoticFarEastPopups.VannaAnim.prototype.animId = null;
        pBWOFExoticFarEastPopups.VannaAnim.prototype.vbAnimView = null;
        pBWOFExoticFarEastPopups.VannaAnim.prototype.baseEvents = null;
        pBWOFExoticFarEastPopups.VannaAnim.prototype.show = function(content) {
            this.container.show();
            var componentId = this.container.getDisplayObject().getName();
            var vbAnimHolder = this.vbAnimView.createContainerFromStoredConfig("ANIMATION_HOLDER");
            vbAnimHolder.show();
            this.container.addChildComponent(vbAnimHolder, "ANIMATION_VANNA");
            var vbAnimContent = vbAnimHolder.getVBAnimationById("ANIMATION_CONTENT");
            vbAnimContent.show();
            vbAnimContent.addEventListener("vannaAnimationComplete", $bind(this, this.handleEventComplete));
            vbAnimContent.gotoAndPlay(false, "loop");
        };
        pBWOFExoticFarEastPopups.VannaAnim.prototype.handleEventComplete = function(evt) {
            haxe.Log.trace("[mm-handle end", {
                fileName: "VannaAnim.hx",
                lineNumber: 48,
                className: "game.popups.components.VannaAnim",
                methodName: "handleEventComplete",
                customParams: [this.container.getDisplayObject().getName()]
            });
            var componentId = this.container.getDisplayObject().getName();
            this.baseEvents.animCompleted.dispatch(componentId);
        };
        pBWOFExoticFarEastPopups.VannaAnim.prototype.hide = function() {
            var $it0 = (function($this) {
                var $r;
                var this1 = $this.container.getChildComponents();
                $r = this1.keys();
                return $r;
            }(this));
            while ($it0.hasNext()) {
                var key = $it0.next();
                this.container.disposeChildComponent(key);
            }
            this.container.hide();
        };
        pBWOFExoticFarEastPopups.VannaAnim.prototype.configure = function(cfg) {};
        pBWOFExoticFarEastPopups.VannaAnim.prototype.__class__ = pBWOFExoticFarEastPopups.VannaAnim;
        pBWOFExoticFarEastPopups.BaseEvents = function() {
            this.animCompleted = new _hcmn_.msignal_Signal1();
        };
        pBWOFExoticFarEastPopups.BaseEvents.__name__ = ["pBWOFExoticFarEastPopups", "BaseEvents"];
        pBWOFExoticFarEastPopups.BaseEvents.prototype.animCompleted = null;
        pBWOFExoticFarEastPopups.BaseEvents.prototype.__class__ = pBWOFExoticFarEastPopups.BaseEvents;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

            get: function(k) {
                return {
                    arguments: ["*"],
                    returns: "null"
                };
            },
            exists: function(k) {
                return {
                    arguments: ["*"],
                    returns: "boolean"
                };
            },
            keys: function() {
                return {
                    arguments: [],
                    returns: "null"
                };
            }
        };
        haxe.Log = function() {};
        haxe.Log.__name__ = ["haxe", "Log"];
        haxe.Log.trace = function(v, infos) {
            _hcmn_.js_Boot.__trace(v, infos);
        };
        haxe.Log.prototype.__class__ = haxe.Log;
        if (!haxe.ds) {
            haxe.ds = {};
        };
        haxe.ds.BalancedTree = function() {};
        haxe.ds.BalancedTree.__name__ = ["haxe", "ds", "BalancedTree"];
        haxe.ds.BalancedTree.prototype.root = null;
        haxe.ds.BalancedTree.prototype.set = function(key, value) {
            this.root = this.setLoop(key, value, this.root);
        };
        haxe.ds.BalancedTree.prototype.get = function(key) {
            var node = this.root;
            while (node != null) {
                var c = this.compare(key, node.key);
                if (c == 0) return node.value;
                if (c < 0) node = node.left;
                else node = node.right;
            }
            return null;
        };
        haxe.ds.BalancedTree.prototype.exists = function(key) {
            var node = this.root;
            while (node != null) {
                var c = this.compare(key, node.key);
                if (c == 0) return true;
                else if (c < 0) node = node.left;
                else node = node.right;
            }
            return false;
        };
        haxe.ds.BalancedTree.prototype.keys = function() {
            var ret = [];
            this.keysLoop(this.root, ret);
            return _hcmn_.HxOverrides.iter(ret);
        };
        haxe.ds.BalancedTree.prototype.setLoop = function(k, v, node) {
            if (node == null) return new haxe.ds.TreeNode(null, k, v, null);
            var c = this.compare(k, node.key);
            if (c == 0) return new haxe.ds.TreeNode(node.left, k, v, node.right, node == null ? 0 : node._height);
            else if (c < 0) {
                var nl = this.setLoop(k, v, node.left);
                return this.balance(nl, node.key, node.value, node.right);
            } else {
                var nr = this.setLoop(k, v, node.right);
                return this.balance(node.left, node.key, node.value, nr);
            }
        };
        haxe.ds.BalancedTree.prototype.keysLoop = function(node, acc) {
            if (node != null) {
                this.keysLoop(node.left, acc);
                acc.push(node.key);
                this.keysLoop(node.right, acc);
            }
        };
        haxe.ds.BalancedTree.prototype.balance = function(l, k, v, r) {
            var hl;
            if (l == null) hl = 0;
            else hl = l._height;
            var hr;
            if (r == null) hr = 0;
            else hr = r._height;
            if (hl > hr + 2) {
                if ((function($this) {
                        var $r;
                        var _this = l.left;
                        $r = _this == null ? 0 : _this._height;
                        return $r;
                    }(this)) >= (function($this) {
                        var $r;
                        var _this1 = l.right;
                        $r = _this1 == null ? 0 : _this1._height;
                        return $r;
                    }(this))) return new haxe.ds.TreeNode(l.left, l.key, l.value, new haxe.ds.TreeNode(l.right, k, v, r));
                else return new haxe.ds.TreeNode(new haxe.ds.TreeNode(l.left, l.key, l.value, l.right.left), l.right.key, l.right.value, new haxe.ds.TreeNode(l.right.right, k, v, r));
            } else if (hr > hl + 2) {
                if ((function($this) {
                        var $r;
                        var _this2 = r.right;
                        $r = _this2 == null ? 0 : _this2._height;
                        return $r;
                    }(this)) > (function($this) {
                        var $r;
                        var _this3 = r.left;
                        $r = _this3 == null ? 0 : _this3._height;
                        return $r;
                    }(this))) return new haxe.ds.TreeNode(new haxe.ds.TreeNode(l, k, v, r.left), r.key, r.value, r.right);
                else return new haxe.ds.TreeNode(new haxe.ds.TreeNode(l, k, v, r.left.left), r.left.key, r.left.value, new haxe.ds.TreeNode(r.left.right, r.key, r.value, r.right));
            } else return new haxe.ds.TreeNode(l, k, v, r, (hl > hr ? hl : hr) + 1);
        };
        haxe.ds.BalancedTree.prototype.compare = function(k1, k2) {
            return _hcmn_.Reflect.compare(k1, k2);
        };
        haxe.ds.BalancedTree.prototype.__class__ = haxe.ds.BalancedTree;
        haxe.ds.TreeNode = function(l, k, v, r, h) {
            if (h == null) h = -1;
            this.left = l;
            this.key = k;
            this.value = v;
            this.right = r;
            if (h == -1) this._height = ((function($this) {
                var $r;
                var _this = $this.left;
                $r = _this == null ? 0 : _this._height;
                return $r;
            }(this)) > (function($this) {
                var $r;
                var _this1 = $this.right;
                $r = _this1 == null ? 0 : _this1._height;
                return $r;
            }(this)) ? (function($this) {
                var $r;
                var _this2 = $this.left;
                $r = _this2 == null ? 0 : _this2._height;
                return $r;
            }(this)) : (function($this) {
                var $r;
                var _this3 = $this.right;
                $r = _this3 == null ? 0 : _this3._height;
                return $r;
            }(this))) + 1;
            else this._height = h;
        };
        haxe.ds.TreeNode.__name__ = ["haxe", "ds", "TreeNode"];
        haxe.ds.TreeNode.prototype.left = null;
        haxe.ds.TreeNode.prototype.right = null;
        haxe.ds.TreeNode.prototype.key = null;
        haxe.ds.TreeNode.prototype.value = null;
        haxe.ds.TreeNode.prototype._height = null;
        haxe.ds.TreeNode.prototype.__class__ = haxe.ds.TreeNode;
        haxe.ds.EnumValueMap = function() {
            haxe.ds.BalancedTree.call(this);
        };
        haxe.ds.EnumValueMap.__interfaces__ = [haxe.IMap];
        haxe.ds.EnumValueMap.__name__ = ["haxe", "ds", "EnumValueMap"];
        haxe.ds.EnumValueMap.__super__ = haxe.ds.BalancedTree;
        for (var k in haxe.ds.BalancedTree.prototype) haxe.ds.EnumValueMap.prototype[k] = haxe.ds.BalancedTree.prototype[k];
        haxe.ds.EnumValueMap.prototype.compare = function(k1, k2) {
            var d = k1[1] - k2[1];
            if (d != 0) return d;
            var p1 = k1.slice(2);
            var p2 = k2.slice(2);
            if (p1.length == 0 && p2.length == 0) return 0;
            return this.compareArgs(p1, p2);
        };
        haxe.ds.EnumValueMap.prototype.compareArgs = function(a1, a2) {
            var ld = a1.length - a2.length;
            if (ld != 0) return ld;
            var _g1 = 0;
            var _g = a1.length;
            while (_g1 < _g) {
                var i = _g1++;
                var d = this.compareArg(a1[i], a2[i]);
                if (d != 0) return d;
            }
            return 0;
        };
        haxe.ds.EnumValueMap.prototype.compareArg = function(v1, v2) {
            if (_hcmn_.Reflect.isEnumValue(v1) && _hcmn_.Reflect.isEnumValue(v2)) return this.compare(v1, v2);
            else if ((v1 instanceof Array) && v1.__enum__ == null && ((v2 instanceof Array) && v2.__enum__ == null)) return this.compareArgs(v1, v2);
            else return _hcmn_.Reflect.compare(v1, v2);
        };
        haxe.ds.EnumValueMap.prototype.__class__ = haxe.ds.EnumValueMap;
        if (typeof js == 'undefined') {
            var js = {};
        };
        if (!js._Boot) {
            js._Boot = {};
        };
        js._Boot.HaxeError = function(val) {
            Error.call(this);
            this.val = val;
            this.message = String(val);
            if (Error.captureStackTrace) Error.captureStackTrace(this, js._Boot.HaxeError);
        };
        js._Boot.HaxeError.__name__ = ["js", "_Boot", "HaxeError"];
        js._Boot.HaxeError.__super__ = Error;
        for (var k in Error.prototype) js._Boot.HaxeError.prototype[k] = Error.prototype[k];
        js._Boot.HaxeError.prototype.val = null;
        js._Boot.HaxeError.prototype.__class__ = js._Boot.HaxeError;
        return {
            exports: pBWOFExoticFarEastPopups,
            activator: pBWOFExoticFarEastPopups.Activator
        };
    });
//# sourceURL=pbWofExoticFarEastPopups.js