define("pBWOFExoticFarEastSlotModelGamePlugin", ["clientkernelLoaderApi", "slotModelApi", "slotmodelGamePluginCommonGle", "money", "clientkernelEventbusApi", "clientkernelModulesApi", "slotmodelGamePluginApi", "clientkernelLoggerApi"],
    function(clientkernelLoaderApi, slotModelApi, slotmodelGamePluginCommonGle, money, clientkernelEventbusApi, clientkernelModulesApi, slotmodelGamePluginApi, clientkernelLoggerApi) {
        "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 haxe == 'undefined') {
            var haxe = {};
        };

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

        };
        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;
        if (typeof pBWOFExoticFarEastSlotModelGamePlugin == 'undefined') {
            var pBWOFExoticFarEastSlotModelGamePlugin = {};
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser = function() {
            this.baseGameCashLinkTotalPayout = 0;
            this.freeSpinsCashLinkTotalPayout = 0;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.__name__ = ["pBWOFExoticFarEastSlotModelGamePlugin", "CustomParser"];
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.totalPayout = null;
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.baseGameCashLinkTotalPayout = null;
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.freeSpinsCashLinkTotalPayout = null;
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.wheelBonusTotalPayout = null;
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.wheelBonusCreditsPayout = null;
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.freeSpinsSummaryCashLinkTotalPayout = null;
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.freeSpinsSummaryLinesTotalPayout = null;
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.parseGameTotalPayout = function(platformResponse) {
            this.totalPayout = 0;
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PrizeOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "Game.Total") {
                        var gameTotal = keyValuePairOutcome[i];
                        var prize = slotmodelGamePluginCommonGle.StdHelper.getField(gameTotal, "Prize");
                        this.totalPayout = slotmodelGamePluginCommonGle.StdHelper.getField(prize, "@totalPay");
                        break;
                    }
                }
            }
            return this.totalPayout;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.parseBaseGameCashLinkPayout = function(platformResponse) {
            this.baseGameCashLinkTotalPayout = 0;
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PrizeOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "BaseGame.CashLinkCredits") {
                        this.baseGameCashLinkTotalPayout = _hcmn_.Std.parseInt(slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@totalPay"));
                        break;
                    }
                }
            }
            return this.baseGameCashLinkTotalPayout;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.parseFreeSpinsCashLinkPayout = function(platformResponse) {
            this.freeSpinsCashLinkTotalPayout = 0;
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PrizeOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "FreeSpin.CashLinkCredits") {
                        this.freeSpinsCashLinkTotalPayout = _hcmn_.Std.parseInt(slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@totalPay"));
                        break;
                    }
                }
            }
            return this.freeSpinsCashLinkTotalPayout;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.parseCashLinkPayout = function(platformResponse) {
            if (this.freeSpinsCashLinkTotalPayout > 0) return this.freeSpinsCashLinkTotalPayout;
            return this.baseGameCashLinkTotalPayout;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.parseWheelBonusTotalPayout = function(platformResponse) {
            this.wheelBonusTotalPayout = 0;
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PrizeOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "WheelBonus.Total") {
                        this.wheelBonusTotalPayout = slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@totalPay");
                        break;
                    }
                }
            }
            return this.wheelBonusTotalPayout;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.parseWheelBonusCreditsPayout = function(platformResponse) {
            this.wheelBonusCreditsPayout = 0;
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PrizeOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "WheelBonus.Credits") {
                        this.wheelBonusCreditsPayout = slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@totalPay");
                        break;
                    }
                }
            }
            return this.wheelBonusCreditsPayout;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.parseFreeSpinsSummaryCashLinkPayout = function(platformResponse) {
            this.freeSpinsSummaryCashLinkTotalPayout = 0;
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PrizeOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "FreeSpin.CashLinkTotal") {
                        this.freeSpinsSummaryCashLinkTotalPayout = slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@totalPay");
                        break;
                    }
                }
            }
            console.log("SALE freeSpinsSummaryCashLinkTotalPayout: " + this.freeSpinsSummaryCashLinkTotalPayout);
            return this.freeSpinsSummaryCashLinkTotalPayout;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.parseFreeSpinsSummaryLinesPayout = function(platformResponse) {
            this.freeSpinsSummaryLinesTotalPayout = 0;
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PrizeOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "FreeSpin.TotalLines") {
                        this.freeSpinsSummaryLinesTotalPayout = slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@totalPay");
                        break;
                    }
                }
            }
            console.log("SALE freeSpinsSummaryLinesTotalPayout: " + this.freeSpinsSummaryLinesTotalPayout);
            return this.freeSpinsSummaryLinesTotalPayout;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.CustomParser.prototype.__class__ = pBWOFExoticFarEastSlotModelGamePlugin.CustomParser;
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin = function() {
            this.commonParser = new slotmodelGamePluginCommonGle.PfPluginCommonResponseParser(pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.GAME_ID, $bind(this, this.onError), pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.PF_RESPONSE_PARSER_ERROR_ID);
            this.wheelParser = new pBWOFExoticFarEastSlotModelGamePlugin.WheelParser();
            this.customParser = new pBWOFExoticFarEastSlotModelGamePlugin.CustomParser();
            this.jackpotGrandMajorValuesParser = new pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser();
            this.jackpotParser = new pBWOFExoticFarEastSlotModelGamePlugin.JackpotParser();
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin = ck_implements(pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin, clientkernelModulesApi.IService);
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin = ck_implements(pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin, slotmodelGamePluginApi.IGamePlugin);
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.__interfaces__ = [clientkernelModulesApi.IService, slotmodelGamePluginApi.IGamePlugin];
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.__name__ = ["pBWOFExoticFarEastSlotModelGamePlugin", "GamePlugin"];
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.commonParser = null;
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.wheelParser = null;
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.customParser = null;
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.jackpotGrandMajorValuesParser = null;
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.jackpotParser = null;
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.getAdditionalLineWins = function(platformResponse, stage, slotDefinition) {
            throw new js._Boot.HaxeError("Not implemented");
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.getBonusWins = function(platformResponse, stage, slotDefinition) {
            throw new js._Boot.HaxeError("Not implemented");
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.getCustomBigWin = function(totalStakeCredit, totalWinCredit) {
            throw new js._Boot.HaxeError("Not implemented");
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.getImplementedFeatures = function() {
            return [slotmodelGamePluginApi.EPluginFeature.CUSTOM_FIELD, slotmodelGamePluginApi.EPluginFeature.STRIPE_LAYER_PER_BET, slotmodelGamePluginApi.EPluginFeature.CUSTOM_DATA];
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.getNextSpinStripeLayersForSynchronizedReels = function(platformResponse, slotDefinition) {
            throw new js._Boot.HaxeError("Not implemented");
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.getNextSpinStripeLayersPerBet = function(platformResponse, slotDefinition) {
            console.log("SALE getNextSpinStripeLayersPerBet");
            this.jackpotParser.init(platformResponse);
            this.jackpotGrandMajorValuesParser.init(platformResponse);
            return null;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.getProgressMeter = function(platformResponse, slotDefinition) {
            throw new js._Boot.HaxeError("Not implemented");
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.getResumePerStake = function(platformResponse, slotDefinition) {
            throw new js._Boot.HaxeError("Not implemented");
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.getScatterWins = function(platformResponse, stage, slotDefinition) {
            throw new js._Boot.HaxeError("Not implemented");
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.parseCustomField = function(platformResponse) {
            var out = {
                dummy: "Dummy string",
                wheelSectors: this.wheelParser.parseWheelValues(platformResponse),
                wheelCashLinkWins: this.wheelParser.parseWheelCashLinkWins(platformResponse),
                wheelPointer: this.wheelParser.parseWheelPointer(platformResponse),
                wheelJackpotData: this.wheelParser.parseJackpotPrize(platformResponse),
                jackpotData: this.jackpotParser.parse(platformResponse),
                gameTotalPayout: this.customParser.parseGameTotalPayout(platformResponse),
                baseGameCashLinkTotalPayout: this.customParser.parseBaseGameCashLinkPayout(platformResponse),
                freeSpinsCashLinkTotalPayout: this.customParser.parseFreeSpinsCashLinkPayout(platformResponse),
                additionalWinCredit: this.customParser.parseCashLinkPayout(platformResponse),
                jackpotGrandValue: this.jackpotGrandMajorValuesParser.setGrandValue(),
                jackpotMajorValue: this.jackpotGrandMajorValuesParser.setMajorValue(),
                wheelBonusTotalPayout: this.customParser.parseWheelBonusTotalPayout(platformResponse),
                wheelBonusCreditsPayout: this.customParser.parseWheelBonusCreditsPayout(platformResponse),
                freeSpinsSummaryCashLinkTotalPayout: this.customParser.parseFreeSpinsSummaryCashLinkPayout(platformResponse),
                freeSpinsSummaryLinesTotalPayout: this.customParser.parseFreeSpinsSummaryLinesPayout(platformResponse),
                progressiveMinTotalBet: this.jackpotGrandMajorValuesParser.progressiveMinTotalBet
            };
            return out;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.parseCustomData = function(platformResponse) {
            return this.parseCustomField(platformResponse);
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.stop = function(context) {};
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.onError = function(error) {
            slotmodelGamePluginCommonGle.Log.getLogger(this).error("[GamePlugin][" + error.id + "] " + error.message);
            throw new js._Boot.HaxeError(error);
        };
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.prototype.__class__ = pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin;
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser = function() {};
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser.__name__ = ["pBWOFExoticFarEastSlotModelGamePlugin", "JackpotGrandMajorValuesParser"];
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser.prototype.jackpotGrandValue = null;
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser.prototype.jackpotMajorValue = null;
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser.prototype.progressiveMinTotalBet = null;
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser.prototype.init = function(platformResponse) {
            this.progressiveMinTotalBet = slotmodelGamePluginCommonGle.StdHelper.getField(platformResponse, "GameData.ProgressiveMinTotalBet");
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PrizeInfo");
            if (keyValuePairOutcome != null) {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "JackpotWheel.BetsPrizeInfo") {
                        var keyValuePairOutcomeInner = slotmodelGamePluginCommonGle.StdHelper.getArrayField(keyValuePairOutcome[i], "Prize");
                        var _g3 = 0;
                        var _g2 = keyValuePairOutcomeInner.length;
                        while (_g3 < _g2) {
                            var j = _g3++;
                            if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcomeInner[j], "@name") == "P2") {
                                var prizePay = slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcomeInner[j], "PrizePay");
                                this.jackpotGrandValue = slotmodelGamePluginCommonGle.StdHelper.getField(prizePay, "@value");
                            }
                            if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcomeInner[j], "@name") == "P3") {
                                var prizePay1 = slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcomeInner[j], "PrizePay");
                                this.jackpotMajorValue = slotmodelGamePluginCommonGle.StdHelper.getField(prizePay1, "@value");
                            }
                        }
                    }
                }
            }
        };
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser.prototype.setGrandValue = function() {
            return this.jackpotGrandValue;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser.prototype.setMajorValue = function() {
            return this.jackpotMajorValue;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser.prototype.__class__ = pBWOFExoticFarEastSlotModelGamePlugin.JackpotGrandMajorValuesParser;
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotParser = function() {};
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotParser.__name__ = ["pBWOFExoticFarEastSlotModelGamePlugin", "JackpotParser"];
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotParser.prototype.seed = null;
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotParser.prototype.softwareId = null;
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotParser.prototype.init = function(platformResponse) {
            var jackpotResetRtp = slotmodelGamePluginCommonGle.StdHelper.getField(platformResponse, "GameData.JackpotResetRtp.Sample");
            if (jackpotResetRtp != null) this.seed = slotmodelGamePluginCommonGle.StdHelper.getField(jackpotResetRtp, "@jackpotValue");
            var softwId = slotmodelGamePluginCommonGle.StdHelper.getField(platformResponse, "DenominationList.Denomination");
            if (softwId != null) this.softwareId = slotmodelGamePluginCommonGle.StdHelper.getField(softwId, "@softwareId");
        };
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotParser.prototype.parse = function(platformResponse) {
            var out = {
                seed: this.seed,
                softwareId: this.softwareId
            };
            return out;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.JackpotParser.prototype.__class__ = pBWOFExoticFarEastSlotModelGamePlugin.JackpotParser;
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator = function() {};
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator = ck_implements(pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator, clientkernelModulesApi.IModuleActivator);
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator.__interfaces__ = [clientkernelModulesApi.IModuleActivator];
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator.__name__ = ["pBWOFExoticFarEastSlotModelGamePlugin", "ModuleActivator"];
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator.prototype.gamePlugin = null;
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator.prototype.registration = null;
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator.prototype.start = function(context) {
            var _g = this;
            context.getServiceTracker([clientkernelLoaderApi.IAssetRegistry, clientkernelLoggerApi.ILoggerFactory, clientkernelEventbusApi.IEventBus]).then(function(context1) {
                _g.gamePlugin = new pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin();
                _g.registration = context1.registerService(_g.gamePlugin, slotmodelGamePluginApi.IGamePlugin, null);
            });
        };
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator.prototype.stop = function(context) {
            if (this.gamePlugin != null) this.gamePlugin.stop(context);
            if (this.registration != null) this.registration.unregister();
        };
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator.main = function() {};
        pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator.prototype.__class__ = pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser = function() {
            this.wheelSectors = [];
        };
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.__name__ = ["pBWOFExoticFarEastSlotModelGamePlugin", "WheelParser"];
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.wheelSectors = null;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.wheelPointer = null;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.isJackpotWon = null;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.jackpotPrize = null;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.isJackpotMajorWon = null;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.jackpotMajorPrize = null;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.isJackpotGrandWon = null;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.jackpotGrandPrize = null;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.wheelCashLinkWins = null;
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.parseWheelValues = function(platformResponse) {
            this.wheelSectors = null;
            this.wheelSectors = [];
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PopulationOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "WheelBonus.PopulateInit") {
                        var wheelBonus = keyValuePairOutcome[i];
                        var entry = slotmodelGamePluginCommonGle.StdHelper.getField(wheelBonus, "Entry");
                        var mapping = slotmodelGamePluginCommonGle.StdHelper.getArrayField(entry, "Cell");
                        var _g3 = 0;
                        var _g2 = mapping.length;
                        while (_g3 < _g2) {
                            var j = _g3++;
                            var text = slotmodelGamePluginCommonGle.StdHelper.getField(mapping[j], "#text");
                            if (text != null && text.indexOf("x") < 0 && text.indexOf("jackpot") < 0 && text.indexOf("P") < 0) {
                                var rc = text.split(",")[1];
                                this.wheelSectors.push(rc);
                            }
                        }
                    }
                }
            }
            return this.wheelSectors;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.parseWheelPointer = function(platformResponse) {
            this.wheelPointer = null;
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PopulationOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "WheelBonus.Populate") {
                        var wheelBonus = keyValuePairOutcome[i];
                        var entry = slotmodelGamePluginCommonGle.StdHelper.getField(wheelBonus, "Entry");
                        this.wheelPointer = slotmodelGamePluginCommonGle.StdHelper.getField(entry, "@stripIndex");
                        break;
                    }
                }
            }
            return this.wheelPointer;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.parseJackpotPrize = function(platformResponse) {
            this.isJackpotWon = false;
            this.jackpotPrize = 0.0;
            this.isJackpotMajorWon = false;
            this.jackpotMajorPrize = 0.0;
            this.isJackpotGrandWon = false;
            this.jackpotGrandPrize = 0.0;
            var keyValuePairOutcomeJackpot = slotmodelGamePluginCommonGle.StdHelper.getField(platformResponse, "JackpotOutcome");
            if (keyValuePairOutcomeJackpot != null) {
                var prize = slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcomeJackpot, "Jackpot");
                if (prize != null) {
                    var totalPay = slotmodelGamePluginCommonGle.StdHelper.getField(prize, "@value");
                    if (totalPay > 0) {
                        this.isJackpotWon = true;
                        this.jackpotPrize = totalPay;
                    }
                }
            }
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "PrizeOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "JackpotWheel.StaticJackpot") {
                        var prizeArray = slotmodelGamePluginCommonGle.StdHelper.getArrayField(keyValuePairOutcome[i], "Prize");
                        if (prizeArray != null) {
                            var _g3 = 0;
                            var _g2 = prizeArray.length;
                            while (_g3 < _g2) {
                                var j = _g3++;
                                if (slotmodelGamePluginCommonGle.StdHelper.getField(prizeArray[j], "@name") == "P2") {
                                    var totalPay1 = slotmodelGamePluginCommonGle.StdHelper.getField(prizeArray[j], "@totalPay");
                                    this.isJackpotGrandWon = true;
                                    this.jackpotGrandPrize = totalPay1;
                                }
                                if (slotmodelGamePluginCommonGle.StdHelper.getField(prizeArray[j], "@name") == "P3") {
                                    var totalPay2 = slotmodelGamePluginCommonGle.StdHelper.getField(prizeArray[j], "@totalPay");
                                    this.isJackpotMajorWon = true;
                                    this.jackpotMajorPrize = totalPay2;
                                }
                            }
                        } else {
                            var jackpotWheel = keyValuePairOutcome[i];
                            var prize1 = slotmodelGamePluginCommonGle.StdHelper.getField(jackpotWheel, "Prize");
                            var jackpotName = slotmodelGamePluginCommonGle.StdHelper.getField(prize1, "@name");
                            var totalPay3 = slotmodelGamePluginCommonGle.StdHelper.getField(prize1, "@totalPay");
                            if (totalPay3 > 0) {
                                if (jackpotName == "P3") {
                                    this.isJackpotMajorWon = true;
                                    this.jackpotMajorPrize = totalPay3;
                                } else {
                                    this.isJackpotGrandWon = true;
                                    this.jackpotGrandPrize = totalPay3;
                                }
                            }
                            break;
                        }
                    }
                }
            }
            var out = {
                isJackpotWon: this.isJackpotWon,
                jackpotPrize: this.jackpotPrize,
                isJackpotMajorWon: this.isJackpotMajorWon,
                jackpotMajorPrize: this.jackpotMajorPrize,
                isJackpotGrandWon: this.isJackpotGrandWon,
                jackpotGrandPrize: this.jackpotGrandPrize
            };
            return out;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.parseWheelCashLinkWins = function(platformResponse) {
            this.wheelCashLinkWins = [];
            var keyValuePairOutcome = slotmodelGamePluginCommonGle.StdHelper.getArrayField(platformResponse, "TriggerOutcome");
            if (keyValuePairOutcome == null) return null;
            else {
                var _g1 = 0;
                var _g = keyValuePairOutcome.length;
                while (_g1 < _g) {
                    var i = _g1++;
                    if (slotmodelGamePluginCommonGle.StdHelper.getField(keyValuePairOutcome[i], "@name") == "WheelBonus.TriggerPickerPre") {
                        var wheelBonus = keyValuePairOutcome[i];
                        var mapping = slotmodelGamePluginCommonGle.StdHelper.getArrayField(wheelBonus, "Trigger");
                        if (mapping == null) {
                            var mapping1 = slotmodelGamePluginCommonGle.StdHelper.getField(wheelBonus, "Trigger");
                            var text = slotmodelGamePluginCommonGle.StdHelper.getField(mapping1, "@name");
                            if (text == "20x" || text == "10x" || text == "5x") this.wheelCashLinkWins.push(text);
                            break;
                        }
                        var _g3 = 0;
                        var _g2 = mapping.length;
                        while (_g3 < _g2) {
                            var j = _g3++;
                            var text1 = slotmodelGamePluginCommonGle.StdHelper.getField(mapping[j], "@name");
                            if (text1 == "20x" || text1 == "10x" || text1 == "5x") this.wheelCashLinkWins.push(text1);
                        }
                        break;
                    }
                }
            }
            console.log("SALE wheelCashLinkWins ->: " + _hcmn_.Std.string(this.wheelCashLinkWins));
            return this.wheelCashLinkWins;
        };
        pBWOFExoticFarEastSlotModelGamePlugin.WheelParser.prototype.__class__ = pBWOFExoticFarEastSlotModelGamePlugin.WheelParser;
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.GAME_ID = "${package}";;
        pBWOFExoticFarEastSlotModelGamePlugin.GamePlugin.PF_RESPONSE_PARSER_ERROR_ID = 9999;;
        return {
            exports: pBWOFExoticFarEastSlotModelGamePlugin,
            activator: pBWOFExoticFarEastSlotModelGamePlugin.ModuleActivator
        };
    });
//# sourceURL=pbWofExoticFarEastSlotModelGamePlugin.js