{"version":3,"file":"js/5799.40fe13fdedbb5152.js","mappings":"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","sources":["webpack://@sazka/web/./js/app/golden-wheel/api/gw-player-data-api.ts","webpack://@sazka/web/./js/app/golden-wheel/composables/use-gw-player-data.ts","webpack://@sazka/web/./js/app/golden-wheel/pages/landing-page/components/_gw-lp-ctl-event.ts","webpack://@sazka/web/./js/app/golden-wheel/utils/gw-datalayer.ts","webpack://@sazka/web/./js/app/shared/http-clients/player-data-http-client.ts"],"sourcesContent":["import { playerDataHttpClient } from \"@/shared/http-clients/player-data-http-client\";\r\nimport { GwPropositionDto } from \"./models/gw-proposition-dto\";\r\nimport { GwPlayerHistoryDto } from \"./models/gw-player-history-dto\";\r\nimport { GwRulesResponse } from \"./models/gw-rules-response\";\r\nimport { GwTaskDto } from \"./models/gw-tasks-dto\";\r\nimport { GwAwardsDto } from \"./models/gw-awards-dto\";\r\nimport { GwSpinResultDto } from \"./models/gw-spin-result-dto\";\r\nimport { BwPlayerHistoryDto } from \"./models/bw-player-history-dto\";\r\nimport { BwSpinResultDto } from \"./models/bw-spin-result-dto\";\r\nimport { BwWheelData } from \"./models/bw-wheel-data\";\r\n\r\nexport namespace GwPlayerDataApi {\r\n    async function callGwPlayerDataApi<T>(playerId: string, apiName: string) {\r\n        const response = await playerDataHttpClient.get<T>(`players/${playerId}/golden-wheel${apiName}`);\r\n\r\n        return response.data;\r\n    }\r\n\r\n    export async function fethProposition(playerId: string): Promise<GwPropositionDto> {\r\n        return await callGwPlayerDataApi<GwPropositionDto>(playerId, \"\");\r\n    }\r\n\r\n    export async function fetchPlayerHistory(playerId: string): Promise<GwPlayerHistoryDto[]> {\r\n        return await callGwPlayerDataApi<GwPlayerHistoryDto[]>(playerId, \"/history\");\r\n    }\r\n\r\n    export async function fetchRulesUrl(playerId: string): Promise<string> {\r\n        return (await callGwPlayerDataApi<GwRulesResponse>(playerId, \"/rules\"))?.url;\r\n    }\r\n\r\n    export async function fetchTasks(playerId: string): Promise<GwTaskDto[]> {\r\n        return await callGwPlayerDataApi<GwTaskDto[]>(playerId, \"/tasks\");\r\n    }\r\n\r\n    export async function fetchAwards(playerId: string): Promise<GwAwardsDto> {\r\n        return await callGwPlayerDataApi<GwAwardsDto>(playerId, \"/wheel\");\r\n    }\r\n\r\n    export async function callGwSpin(playerId: string): Promise<GwSpinResultDto> {\r\n        const response = await playerDataHttpClient.post<GwSpinResultDto>(\r\n            `players/${playerId}/golden-wheel/wheel/spin`\r\n        );\r\n        return response.data;\r\n    }\r\n\r\n    export async function fetchPlayerBw(playerId: string): Promise<BwWheelData> {\r\n        return await callGwPlayerDataApi<BwWheelData>(playerId, \"/bonus-wheel\");\r\n    }\r\n\r\n    export async function fetchPlayerBwHistory(playerId: string): Promise<BwPlayerHistoryDto[]> {\r\n        return await callGwPlayerDataApi<BwPlayerHistoryDto[]>(playerId, \"/bonus-wheel/history\");\r\n    }\r\n\r\n    export async function callBwSpin(playerId: string): Promise<BwSpinResultDto> {\r\n        const response = await playerDataHttpClient.post<BwSpinResultDto>(\r\n            `players/${playerId}/golden-wheel/bonus-wheel/spin`\r\n        );\r\n        return response.data;\r\n    }\r\n}\r\n","import { useNgSession } from \"@sazka/ng/ng-session\";\r\nimport { computed, ref, readonly, watch } from \"vue\";\r\nimport { GwPlayerDataApi } from \"../api/gw-player-data-api\";\r\nimport { ngFrameworkLoaded } from \"@sazka/ng/ng-integration\";\r\nimport { GwPropositionDto } from \"../api/models/gw-proposition-dto\";\r\n\r\nconst { session, isLoggedIn } = useNgSession();\r\nconst playerId = computed(() => session.value?.PlayerID);\r\n\r\nconst maxGwPoints = 10;\r\n\r\nconst gwPlayerData = ref<GwPropositionDto>({\r\n    points: 0,\r\n    access: null,\r\n    lastPointsChange: 0,\r\n    hasBonusWheel: false,\r\n    receivedCampaignPoints: false,\r\n});\r\nconst hasMaxPoints = computed(() => gwPlayerData.value?.points === maxGwPoints);\r\n\r\nconst isGwPlayerDataLoaded = ref(false);\r\nconst gwPlayerDataHasError = ref(false);\r\n\r\nasync function loadGwPlayerData() {\r\n    try {\r\n        const prevPointsCache = gwPlayerData.value.points;\r\n\r\n        gwPlayerData.value = await GwPlayerDataApi.fethProposition(playerId.value);\r\n        gwPlayerData.value.lastPointsChange = gwPlayerData.value.points - prevPointsCache;\r\n    } catch (err) {\r\n        gwPlayerDataHasError.value = true;\r\n        console.error(err);\r\n    } finally {\r\n        isGwPlayerDataLoaded.value = true;\r\n    }\r\n}\r\n\r\nasync function initGoldenWheelPlayerStatus() {\r\n    await ngFrameworkLoaded();\r\n\r\n    watch(\r\n        isLoggedIn,\r\n        async (loggedIn) => {\r\n            if (loggedIn) {\r\n                await loadGwPlayerData();\r\n            }\r\n        },\r\n        { immediate: true }\r\n    );\r\n}\r\n\r\nfunction updateGwPoints(newPoints: number) {\r\n    gwPlayerData.value.lastPointsChange = newPoints - gwPlayerData.value.points;\r\n    gwPlayerData.value.points = newPoints;\r\n}\r\n\r\nlet enableInit = true;\r\nexport function useGwPlayerData(withoutInit = false) {\r\n    // init data if its nessessary -> not in import file phase\r\n    if (enableInit && !withoutInit) {\r\n        enableInit = false;\r\n        initGoldenWheelPlayerStatus();\r\n    }\r\n\r\n    return {\r\n        isGwPlayerDataLoaded: readonly(isGwPlayerDataLoaded),\r\n        gwPlayerData,\r\n        hasMaxPoints,\r\n        maxGwPoints,\r\n\r\n        loadGwPlayerData,\r\n        updateGwPoints,\r\n    };\r\n}\r\n","import { GwAnalytics } from \"@/golden-wheel/utils/gw-datalayer\";\r\nimport { useGwPlayerData } from \"@/golden-wheel/composables/use-gw-player-data\";\r\nimport { watch } from \"vue\";\r\n\r\nconst { gwPlayerData, isGwPlayerDataLoaded } = useGwPlayerData();\r\n\r\nfunction runDataLayerFunctions() {\r\n    const functions = document.querySelectorAll(\"[data-a-function]\");\r\n\r\n    functions.forEach((element) => {\r\n        const actionName = element.getAttribute(\"data-a-function\");\r\n        const buttonPosition = element.getAttribute(\"data-a-button-position\");\r\n        const vertical = element.getAttribute(\"data-a-vertical\");\r\n\r\n        switch (actionName) {\r\n            case \"pushWheelDepositClick\":\r\n                element.addEventListener(\"click\", () => {\r\n                    GwAnalytics.pushWheelDepositClick(buttonPosition, gwPlayerData.value.points.toString(), false);\r\n                });\r\n                break;\r\n            case \"pushBetPageLoad\":\r\n                element.addEventListener(\"click\", () => {\r\n                    GwAnalytics.pushBetPageLoad(buttonPosition, gwPlayerData.value.points.toString(), vertical, false);\r\n                });\r\n                break;\r\n            default:\r\n                console.error(`Unknown data-a-function: ${actionName}`);\r\n                break;\r\n        }\r\n    });\r\n}\r\n\r\ndocument.ready(async () => {\r\n    watch(\r\n        isGwPlayerDataLoaded,\r\n        (newIsPlayerDataLoaded) => {\r\n            if (newIsPlayerDataLoaded) {\r\n                runDataLayerFunctions();\r\n            }\r\n        },\r\n        { immediate: true }\r\n    );\r\n});\r\n","export namespace GwAnalytics {\r\n    export function pushPageReady() {\r\n        dataLayer.push({\r\n            event: \"pageReady\",\r\n        });\r\n    }\r\n\r\n    // 2.10 Main page of Zlate Kolo\r\n    export function pushMainPageShow() {\r\n        dataLayer.push({\r\n            page: {\r\n                type: \"game\",\r\n                kind: \"game\",\r\n                gameCode: \"zlatekolo\",\r\n                gameCodeStrict: \"zlatekolo\",\r\n                verticalCode: \"loterie\",\r\n                verticalCodeStrict: \"loterie\",\r\n            },\r\n        });\r\n    }\r\n\r\n    // 2.20 How To Play – Main page of Zlate Kolo\r\n    export function pushHowToPlayShow() {\r\n        dataLayer.push({\r\n            page: {\r\n                type: \"game.howToPlay\",\r\n                kind: \"game.howToPlay\",\r\n                gameCode: \"zlatekolo\",\r\n                gameCodeStrict: \"zlatekolo\",\r\n                verticalCode: \"loterie\",\r\n                verticalCodeStrict: \"loterie\",\r\n            },\r\n        });\r\n    }\r\n\r\n    // 2.30 Game Detail - Zlate Kolo\r\n    export function pushGoldenWheelShow() {\r\n        dataLayer.push({\r\n            page: {\r\n                type: \"game.detail\",\r\n                kind: \"game.detail\",\r\n                gameCode: \"zlatekolo\",\r\n                gameCodeStrict: \"zlatekolo\",\r\n                verticalCode: \"loterie\",\r\n                verticalCodeStrict: \"loterie\",\r\n            },\r\n        });\r\n\r\n        dataLayer.push({\r\n            event: \"pageReady\",\r\n        });\r\n    }\r\n\r\n    // 2.35 Impress Coins – Zlate Kolo\r\n    export function pushGoldenWheelImpressCoins(coins: string) {\r\n        dataLayer.push({\r\n            event: \"action.impressCoins.zlateKolo\",\r\n            action: {\r\n                impressCoins: {\r\n                    label: coins,\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 2.40 Game Error\r\n    export function pushGoldenWheelGameError(errorCode: string) {\r\n        let errorMessage;\r\n        switch (errorCode) {\r\n            case \"SZLS:GW101\":\r\n                errorMessage = \"Segment has no active Wheel\";\r\n                break;\r\n            case \"SZLS:GW201\":\r\n                errorMessage = \"Player has no Player Data (Redis)\";\r\n                break;\r\n            case \"SZLS:GW202\":\r\n                errorMessage = \"Player has no Bonus Wallet (Redis)\";\r\n                break;\r\n            case \"SZLS:GW301\":\r\n                errorMessage = \"Wheel does not exists\";\r\n                break;\r\n            case \"SZLS:GW302\":\r\n                errorMessage = \"Wheel has invalid Bonus tasks\";\r\n                break;\r\n            case \"SZLS:GW303 \":\r\n                errorMessage = \"Wheel has invalid Awards\";\r\n                break;\r\n        }\r\n\r\n        dataLayer.push({\r\n            page: {\r\n                type: \"game.error\",\r\n                kind: \"game.error\",\r\n                gameCode: \"zlatekolo\",\r\n                gameCodeStrict: \"zlatekolo\",\r\n                verticalCode: \"loterie\",\r\n                verticalCodeStrict: \"loterie\",\r\n                error: {\r\n                    type: errorCode, // error code\r\n                    message: errorMessage, // error message from corresponding error code\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 2.50 - 2.80 errors\r\n    export function pushGoldenWheelError(error: string) {\r\n        let type;\r\n        switch (error) {\r\n            case \"Něco se nepovedlo, už na tom pracujeme\":\r\n                type = \"game.wheelStopped\";\r\n                break;\r\n            case \"Jen pro přihlášené\":\r\n                type = \"game.notLoggedIn\";\r\n                break;\r\n            case \"Jejda, něco se nepovedlo\":\r\n                type = \"game.userExluded\";\r\n                break;\r\n            case \"Dokončete registraci a vytočte si výhru\":\r\n                type = \"game.notRegistered\";\r\n                break;\r\n        }\r\n\r\n        dataLayer.push({\r\n            page: {\r\n                type: type,\r\n                kind: type,\r\n                gameCode: \"zlatekolo\",\r\n                gameCodeStrict: \"zlatekolo\",\r\n                verticalCode: \"loterie\",\r\n                verticalCodeStrict: \"loterie\",\r\n            },\r\n        });\r\n    }\r\n\r\n    // 2.60 Game Not Logged In\r\n    export function pushGameNotLoggedIn() {\r\n        dataLayer.push({\r\n            page: {\r\n                type: \"game.notLoggedIn\",\r\n                kind: \"game.notLoggedIn\",\r\n                gameCode: \"zlatekolo\",\r\n                gameCodeStrict: \"zlatekolo\",\r\n                verticalCode: \"loterie\",\r\n                verticalCodeStrict: \"loterie\",\r\n            },\r\n        });\r\n\r\n        dataLayer.push({\r\n            event: \"pageReady\",\r\n        });\r\n    }\r\n\r\n    // 3.10 action.spinSuccess.zlatekolo–Successful spin\r\n    export function pushWheelStartSuccess() {\r\n        dataLayer.push({ event: \"action.spinSuccess.zlatekolo\" });\r\n    }\r\n\r\n    // 3.20 action.spinError.zlatekolo–Spin error\r\n    export function pushWheelStartError(errorMessage: string) {\r\n        dataLayer.push({\r\n            event: \"action.spinError.zlatekolo\",\r\n            action: {\r\n                spinError: {\r\n                    label: errorMessage, // Error message\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    /* Manual stopping is not used in current version */\r\n    // 3.30 action.stopSuccess.zlatekolo–Successful stopping of the spin\r\n    // export function pushWheelStopSuccess() {\r\n    //  dataLayer.push({ event: \"action.stopSuccess.zlatekolo\" });\r\n    // }\r\n\r\n    // 3.40 action.stopError.zlatekolo – Stop error\r\n    // export function pushWheelStopError(errorMessage: string) {\r\n    //     dataLayer.push({\r\n    //         event: \"action.stopError.zlatekolo\",\r\n    //         action: {\r\n    //             stopError: {\r\n    //                 label: errorMessage, // Error message\r\n    //             },\r\n    //         },\r\n    //     });\r\n    // }\r\n\r\n    // 3.50 action.win.zlatekolo – Win Prize on Zlatekolo\r\n    export function pushWheelWinPrice(prize: string) {\r\n        dataLayer.push({\r\n            event: \"action.win.zlatekolo\",\r\n            action: {\r\n                win: {\r\n                    label: prize, // Prize winned\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 3.60 action.task.zlateKolo - Deposit button click on Golden Wheel\r\n    export function pushWheelDepositClick(buttonPosition: string, currentPoints: string, hasBadge: boolean) {\r\n        dataLayer.push({\r\n            event: \"action.task.zlateKolo\",\r\n            action: {\r\n                task: {\r\n                    label: hasBadge ? \"novinka\" : null,\r\n                    eventProperty1: buttonPosition, // position of the button\r\n                    eventProperty2: \"deposit\", // task identifier\r\n                    eventProperty3: currentPoints, // current number of golden coins out of 10;\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 3.65 action.task.zlateKolo - When user opens a lottery page\r\n    export function pushBetPageLoad(\r\n        buttonPosition: string,\r\n        currentPoints: string,\r\n        vertical: string,\r\n        hasBadge: boolean\r\n    ) {\r\n        dataLayer.push({\r\n            event: \"action.task.zlateKolo\",\r\n            action: {\r\n                task: {\r\n                    label: hasBadge ? \"novinka\" : null,\r\n                    eventProperty1: buttonPosition, // position of the button; for this case 3 or 4\r\n                    eventProperty2: \"bet\", // task identifier\r\n                    eventProperty3: currentPoints, // current number of golden coins out of 10;\r\n                    eventProperty4: vertical, // vertical, could be either lottery or escratches\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 4.10  Zlate kolo impression\r\n    export function pushPromotionsBannerShow(currentPoints: number) {\r\n        dataLayer.push({\r\n            event: \"action.impress.promos\",\r\n            action: {\r\n                impress: {\r\n                    promos: [\r\n                        {\r\n                            id: \"zlateKolo.popup\",\r\n                            name: \"zlateKolo.popup\",\r\n                            creative: \"Zlaté kolo\",\r\n                            position: \"popup.bottom\",\r\n                            eventProperty1: currentPoints, // current number of golden coins out of 10;\r\n                        },\r\n                    ],\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 4.20 Clicking on Zlate kolo banner\r\n    export function pushPromotionsBannerPopupClick(currentPoints: number) {\r\n        dataLayer.push({\r\n            event: \"action.show.promos\",\r\n            action: {\r\n                show: {\r\n                    promos: [\r\n                        {\r\n                            id: \"zlateKolo.popup\",\r\n                            name: \"zlateKolo.popup\",\r\n                            creative: \"Zlaté kolo\",\r\n                            position: \"popup.bottom\",\r\n                            eventProperty1: currentPoints, // current number of golden coins out of 10;\r\n                        },\r\n                    ],\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    export function pushPromotionBannerPopupClose(currentPoints: number) {\r\n        dataLayer.push({\r\n            event: \"action.show.promos\",\r\n            action: {\r\n                show: {\r\n                    promos: [\r\n                        {\r\n                            id: \"zlateKolo.popup.close\",\r\n                            name: \"zlateKolo.popup\",\r\n                            creative: \"Zlaté kolo\",\r\n                            position: \"popup.bottom\",\r\n                            eventProperty: currentPoints, // current number of golden coins out of 10;\r\n                        },\r\n                    ],\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 5.10\r\n    export function pushPromotionsBannerSiteImpression(bannerId: string, imgUrl: string) {\r\n        dataLayer.push({\r\n            event: \"action.impress.promos\",\r\n            action: {\r\n                impress: {\r\n                    promos: [\r\n                        {\r\n                            id: bannerId,\r\n                            name: \"zlateKolo.site.banner\",\r\n                            creative: imgUrl,\r\n                            position: \"zlateKolo.site.banner\",\r\n                        },\r\n                    ],\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 5.20 Clicking on banner\r\n    export function pushPromotionsBannerSiteClick(bannerId: string, imgUrl: string) {\r\n        dataLayer.push({\r\n            event: \"action.show.promos\",\r\n            action: {\r\n                show: {\r\n                    promos: [\r\n                        {\r\n                            id: bannerId,\r\n                            name: \"zlateKolo.site.banner\",\r\n                            creative: imgUrl,\r\n                            position: \"zlateKolo.site.banner\",\r\n                        },\r\n                    ],\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 5.20 Bonus banner impression\r\n    export function pushBonusBannerImpression(bannerText: string) {\r\n        dataLayer.push({\r\n            event: \"action.impress.promos\",\r\n            action: {\r\n                impress: {\r\n                    promos: [\r\n                        {\r\n                            id: \"zlateKolo.bonusBanner\",\r\n                            name: \"zlateKolo.bonusBanner\",\r\n                            creative: bannerText,\r\n                            position: \"middle\",\r\n                        },\r\n                    ],\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 5.25 When user clicks to claim the bonus\r\n    export function pushBonusBannerClick(bannerText: string) {\r\n        dataLayer.push({\r\n            event: \"action.show.promos\",\r\n            action: {\r\n                show: {\r\n                    promos: [\r\n                        {\r\n                            id: \"zlateKolo.bonusBanner\",\r\n                            name: \"zlateKolo.bonusBanner\",\r\n                            creative: bannerText,\r\n                            position: \"middle\",\r\n                        },\r\n                    ],\r\n                },\r\n            },\r\n        });\r\n    }\r\n\r\n    // 5.35 Bonus banner close\r\n    export function pushBonusBannerClose(bannerText: string) {\r\n        dataLayer.push({\r\n            event: \"action.show.promos\",\r\n            action: {\r\n                show: {\r\n                    promos: [\r\n                        {\r\n                            id: \"zlateKolo.bonusBanner.close\",\r\n                            name: \"zlateKolo.bonusBanner\",\r\n                            creative: bannerText,\r\n                            position: \"middle\",\r\n                        },\r\n                    ],\r\n                },\r\n            },\r\n        });\r\n    }\r\n}\r\n","import axios, { AxiosRequestConfig } from \"axios\";\r\nimport { addSagAuthInterceptor } from \"@sazka/utils/http-clients/sag-auth-interceptor\";\r\nimport { addSessionTokenInterceptor } from \"@sazka/utils/http-clients/session-token-interceptor\";\r\nimport { useSagOptions } from \"@sazka/utils/http-clients/use-sag-options\";\r\n\r\nconst { getSagApiUrl } = useSagOptions();\r\n\r\n/**\r\n * Axios basic configuration\r\n * Some general configuration can be added like timeout, headers, params etc. More details can be found on https://github.com/axios/axios\r\n * */\r\nconst config: AxiosRequestConfig = {\r\n    baseURL: appSettings[\"Integrations:Loyalty:PlayerData:LocalDev\"] ?? getSagApiUrl(\"ls-player-data-public\"),\r\n};\r\n\r\nconst playerDataHttpClient = axios.create(config);\r\n\r\n/** Adding the request interceptors */\r\naddSagAuthInterceptor(playerDataHttpClient);\r\naddSessionTokenInterceptor(playerDataHttpClient);\r\n\r\nexport { playerDataHttpClient };\r\n"],"names":["GwPlayerDataApi","async","callGwPlayerDataApi","playerId","apiName","response","playerDataHttpClient","get","data","fethProposition","fetchPlayerHistory","fetchRulesUrl","_await$callGwPlayerDa","url","fetchTasks","fetchAwards","callGwSpin","post","fetchPlayerBw","fetchPlayerBwHistory","callBwSpin","session","isLoggedIn","useNgSession","computed","_session$value","value","PlayerID","maxGwPoints","gwPlayerData","ref","points","access","lastPointsChange","hasBonusWheel","receivedCampaignPoints","hasMaxPoints","_gwPlayerData$value","isGwPlayerDataLoaded","gwPlayerDataHasError","loadGwPlayerData","prevPointsCache","err","console","error","initGoldenWheelPlayerStatus","ngFrameworkLoaded","watch","loggedIn","immediate","updateGwPoints","newPoints","enableInit","useGwPlayerData","withoutInit","readonly","runDataLayerFunctions","functions","document","querySelectorAll","forEach","element","actionName","getAttribute","buttonPosition","vertical","addEventListener","GwAnalytics","pushWheelDepositClick","toString","pushBetPageLoad","ready","newIsPlayerDataLoaded","pushPageReady","dataLayer","push","event","pushMainPageShow","page","type","kind","gameCode","gameCodeStrict","verticalCode","verticalCodeStrict","pushHowToPlayShow","pushGoldenWheelShow","pushGoldenWheelImpressCoins","coins","action","impressCoins","label","pushGoldenWheelGameError","errorCode","errorMessage","message","pushGoldenWheelError","pushGameNotLoggedIn","pushWheelStartSuccess","pushWheelStartError","spinError","pushWheelWinPrice","prize","win","currentPoints","hasBadge","task","eventProperty1","eventProperty2","eventProperty3","eventProperty4","pushPromotionsBannerShow","impress","promos","id","name","creative","position","pushPromotionsBannerPopupClick","show","pushPromotionBannerPopupClose","eventProperty","pushPromotionsBannerSiteImpression","bannerId","imgUrl","pushPromotionsBannerSiteClick","pushBonusBannerImpression","bannerText","pushBonusBannerClick","pushBonusBannerClose","getSagApiUrl","useSagOptions","config","baseURL","_appSettings$Integrat","appSettings","axios","create","addSagAuthInterceptor","addSessionTokenInterceptor"],"sourceRoot":""}