{"version":3,"file":"static/chunks/47535.a5d5a3cfa9e15a69.js","sources":["webpack://_N_E/./src/common/components/layout/MainPageOfferButton/MainPageOfferButton.styled.ts","webpack://_N_E/./src/common/components/games/Inhouse/HiloGameButton.tsx","webpack://_N_E/./src/common/components/games/Inhouse/DiceGameButton.tsx","webpack://_N_E/./src/common/components/games/Inhouse/LimboGameButton.tsx","webpack://_N_E/./src/common/components/games/Inhouse/PlinkoGameButton.tsx","webpack://_N_E/./src/common/components/layout/MainPageOfferButton/MainPageOfferButton.tsx","webpack://_N_E/./src/common/controllers/subjectController.ts","webpack://_N_E/./src/modules/games/DiceGame/components/BetValue/betValue.constants.ts","webpack://_N_E/./src/modules/games/Game/methods/checkIsDoubleValue.ts","webpack://_N_E/./src/modules/games/Game/methods/checkIsQuadrupleValue.ts","webpack://_N_E/./src/modules/games/Game/methods/checkIsSingleValue.ts","webpack://_N_E/./src/modules/games/Game/methods/getBetValueMaxMin.ts","webpack://_N_E/./src/modules/games/Game/methods/getRuleBetValuesBetConfig.ts","webpack://_N_E/./src/modules/games/Game/methods/getWinChanceFromBetValues.ts","webpack://_N_E/./src/modules/games/Game/store/dice/dice.actions.ts","webpack://_N_E/./src/modules/games/Game/store/dice/diceInitialState.ts","webpack://_N_E/./src/modules/games/Game/store/dice/slices/betValue.slice.ts","webpack://_N_E/./src/modules/games/Game/store/dice/slices/isResultVisible.slice.ts","webpack://_N_E/./src/modules/games/Game/store/dice/slices/result.slice.ts","webpack://_N_E/./src/modules/games/Game/store/dice/slices/rule.slice.ts","webpack://_N_E/./src/LegacyApp/client/modules/app/createBetResult.ts","webpack://_N_E/./src/modules/balance/store/thunks/changeBalance.thunk.ts","webpack://_N_E/./src/modules/games/Game/store/game/thunks/sendBet.thunk.ts","webpack://_N_E/./src/modules/games/Game/store/game/game.epic.ts","webpack://_N_E/./src/modules/games/Game/store/game/thunks/placeBet.thunk.ts","webpack://_N_E/./src/modules/games/Game/store/gameAutobet/thunks/openAutobetSummary.thunk.ts","webpack://_N_E/./src/modules/games/PlinkoGame/constants.ts"],"sourceRoot":"","sourcesContent":["import styled, { css } from 'styled-components';\nimport { boxNoHeight } from '@legacyApp/client/modules/style/defaults';\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { LinkTo } from '../../default/LinkTo/LinkTo';\nimport { Image } from '../../default/Image/Image';\n\nconst SCALE = (236 / 416) * 100;\n\nconst OFFER_ELEMENT_STYLES = {\n\t[GameType.DICE]: {\n\t\tdefault: css`\n\t\t\twidth: 60% !important;\n\t\t`,\n\t\thover: css`\n\t\t\ttransform: scale(1.1) rotate(-10deg);\n\t\t`,\n\t},\n\t[GameType.LIMBO]: {\n\t\tdefault: css`\n\t\t\twidth: 85% !important;\n\t\t`,\n\t\thover: css`\n\t\t\ttransform: scale(1.05);\n\t\t`,\n\t},\n\t[GameType.HILO]: {\n\t\tdefault: css`\n\t\t\twidth: 65% !important;\n\t\t`,\n\t\thover: css`\n\t\t\ttransform: scale(1.05);\n\t\t`,\n\t},\n\t[GameType.SPORTS]: {\n\t\tdefault: css`\n\t\t\tpadding-top: 5% !important;\n\t\t\twidth: 80% !important;\n\t\t`,\n\t\thover: css`\n\t\t\ttransform: scale(1.05) translateY(-5%);\n\t\t`,\n\t},\n\t[GameType.SLOTS]: {\n\t\tdefault: css`\n\t\t\twidth: 65% !important;\n\t\t`,\n\t\thover: css`\n\t\t\ttransform: scale(1.06);\n\t\t`,\n\t},\n};\n\nexport const StyledImageElementWrapper = styled.div`\n\talign-items: center;\n\tdisplay: flex !important;\n\theight: 100%;\n\tjustify-content: center;\n\tleft: 0;\n\toverflow: visible !important;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n`;\n\nexport const OfferBackgroundStyled = styled(Image)`\n\tborder-radius: 12px;\n\tleft: 0;\n\tposition: absolute;\n\ttop: 0;\n`;\n\nexport const StyledOfferButton = styled(LinkTo)`\n\t${boxNoHeight};\n\theight: auto;\n\toverflow: hidden;\n\tpadding-bottom: ${SCALE}%;\n\tposition: relative;\n\ttext-transform: capitalize;\n\n\t${OfferBackgroundStyled} {\n\t\twidth: 100%;\n\t}\n\n\timg {\n\t\ttransition: ${(props) =>\n\t\t\tcalcStyle({\n\t\t\t\ta: 2,\n\t\t\t\tb: props.theme.layout.transition,\n\t\t\t\tmode: '*',\n\t\t\t\tsuffix: 'ms',\n\t\t\t})};\n\t}\n\n\t&:hover {\n\t\t${OfferBackgroundStyled} {\n\t\t\topacity: 0.85;\n\t\t\ttransform: scale(0.99);\n\t\t}\n\t}\n`;\nexport const StyledMainPageOfferButton = styled(StyledOfferButton)<{\n\t$offerName: GameType;\n}>`\n\tspan {\n\t\tbottom: 0;\n\t\tfont-family: ${(props) => props.theme.text.fonts.Regular};\n\t\tleft: 0;\n\t\tpadding: 15px;\n\t\tposition: absolute;\n\t}\n\n\t.offer-element {\n\t\tposition: relative;\n\t\t${(props) => OFFER_ELEMENT_STYLES[props.$offerName]?.default}\n\t}\n\n\t&:hover {\n\t\topacity: 1;\n\n\t\t.offer-element {\n\t\t\t${(props) => OFFER_ELEMENT_STYLES[props.$offerName]?.hover}\n\t\t}\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\tspan {\n\t\t\ttext-shadow: 1px 1px 1px black;\n\t\t}\n\t}\n`;\n","import { FC } from 'react';\nimport styled from 'styled-components';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport routingService from '../../../../LegacyApp/client/modules/app/routingService';\nimport { Image } from '../../default/Image/Image';\nimport { getUrl } from '../../layout/MainPageOfferButton/MainPageOfferButton';\nimport {\n\tOfferBackgroundStyled,\n\tStyledOfferButton,\n} from '../../layout/MainPageOfferButton/MainPageOfferButton.styled';\n\nconst name = GameType.HILO;\nexport const HiloGameButton: FC<{\n\tcallback: () => void;\n}> = ({ callback }) => {\n\treturn (\n\t\t<Wrapper href={routingService.to(getUrl(name), true)} onClick={callback}>\n\t\t\t<>\n\t\t\t\t<BackgroundImage />\n\t\t\t\t<CenterCardImage />\n\t\t\t\t<LeftCardImage />\n\t\t\t\t<RightCardImage />\n\t\t\t\t<NameImage />\n\t\t\t</>\n\t\t</Wrapper>\n\t);\n};\n\nexport const CenterCardImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/hilo/front.svg',\n\talt: 'Front card',\n})`\n\tposition: absolute;\n\tz-index: 2;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\ttop: -50%;\n\theight: 107%;\n`;\n\nexport const LeftCardImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/hilo/back.svg',\n\talt: 'Left card',\n})`\n\tposition: absolute;\n\ttop: -47%;\n\theight: 84%;\n\tleft: 15%;\n\ttransform: rotate(9deg);\n`;\n\nexport const RightCardImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/hilo/back.svg',\n\talt: 'Left card',\n})`\n\tposition: absolute;\n\ttop: -54%;\n\theight: 84%;\n\tright: 15%;\n`;\n\nexport const NameImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/hilo/name.svg',\n\talt: 'HILO',\n})`\n\tposition: absolute;\n\tleft: 49.6%;\n\ttransform: translateX(-50%);\n\theight: 26%;\n\tbottom: 11%;\n`;\n\nexport const BackgroundImage = styled(OfferBackgroundStyled).attrs({\n\tsrc: '/img/games/inhouse/hilo/bg.png',\n\talt: 'background',\n})``;\n\nexport const Wrapper = styled(StyledOfferButton)`\n\toverflow: hidden;\n\n\t&:hover {\n\t\t${CenterCardImage} {\n\t\t\ttransform: translateX(-50%) translateY(10%);\n\t\t}\n\n\t\t${LeftCardImage} {\n\t\t\ttransform: rotate(23deg) translate(5%, 10%);\n\t\t}\n\n\t\t${RightCardImage} {\n\t\t\ttransform: translate(-7%, 27%) rotate(-10deg);\n\t\t}\n\t}\n`;\n","import { FC } from 'react';\nimport styled from 'styled-components';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport routingService from '../../../../LegacyApp/client/modules/app/routingService';\nimport { Image } from '../../default/Image/Image';\nimport { getUrl } from '../../layout/MainPageOfferButton/MainPageOfferButton';\nimport {\n\tOfferBackgroundStyled,\n\tStyledOfferButton,\n} from '../../layout/MainPageOfferButton/MainPageOfferButton.styled';\n\nconst name = GameType.DICE;\nexport const DiceGameButton: FC<{\n\tcallback: () => void;\n}> = ({ callback }) => {\n\treturn (\n\t\t<Wrapper href={routingService.to(getUrl(name), true)} onClick={callback}>\n\t\t\t<>\n\t\t\t\t<BackgroundImage />\n\t\t\t\t<LeftDiceImage />\n\t\t\t\t<RightDiceImage />\n\t\t\t\t<NameImage />\n\t\t\t</>\n\t\t</Wrapper>\n\t);\n};\n\nexport const LeftDiceImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/dice/leftDice.png',\n\talt: 'Left dice',\n})`\n\tposition: absolute;\n\ttop: 4%;\n\theight: 39%;\n\tleft: 30%;\n`;\n\nexport const RightDiceImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/dice/rightDice.png',\n\talt: 'Right dice',\n})`\n\tposition: absolute;\n\ttop: -14%;\n\theight: 47%;\n\tright: 29%;\n`;\n\nexport const NameImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/dice/name.svg',\n\talt: 'DICE',\n})`\n\tposition: absolute;\n\tleft: 49.6%;\n\ttransform: translateX(-50%);\n\theight: 22%;\n\tbottom: 17%;\n`;\n\nexport const BackgroundImage = styled(OfferBackgroundStyled).attrs({\n\tsrc: '/img/games/inhouse/dice/bg.png',\n\talt: 'background',\n})``;\n\nexport const Wrapper = styled(StyledOfferButton)`\n\toverflow: hidden;\n\n\t&:hover {\n\t\t${LeftDiceImage} {\n\t\t\ttransform: rotate(90deg) translate(15%, -1%);\n\t\t}\n\n\t\t${RightDiceImage} {\n\t\t\ttransform: translate(12%, 15%) rotate(-122deg);\n\t\t}\n\t}\n`;\n","import { FC } from 'react';\nimport styled from 'styled-components';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport routingService from '../../../../LegacyApp/client/modules/app/routingService';\nimport { Image } from '../../default/Image/Image';\nimport { getUrl } from '../../layout/MainPageOfferButton/MainPageOfferButton';\nimport {\n\tOfferBackgroundStyled,\n\tStyledOfferButton,\n} from '../../layout/MainPageOfferButton/MainPageOfferButton.styled';\n\nconst name = GameType.LIMBO;\nexport const LimboGameButton: FC<{\n\tcallback: () => void;\n}> = ({ callback }) => {\n\treturn (\n\t\t<Wrapper href={routingService.to(getUrl(name), true)} onClick={callback}>\n\t\t\t<>\n\t\t\t\t<BackgroundImage />\n\t\t\t\t<NumbersImage />\n\t\t\t\t<NameImage />\n\t\t\t</>\n\t\t</Wrapper>\n\t);\n};\n\nexport const NumbersImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/limbo/numbers.svg',\n\talt: 'numbers',\n})`\n\tposition: absolute;\n\ttop: 8%;\n\theight: 42%;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n`;\n\nexport const NameImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/limbo/name.svg',\n\talt: 'LIMBO',\n})`\n\tposition: absolute;\n\tleft: 49.6%;\n\ttransform: translateX(-50%);\n\theight: 24%;\n\tbottom: 19%;\n`;\n\nexport const BackgroundImage = styled(OfferBackgroundStyled).attrs({\n\tsrc: '/img/games/inhouse/limbo/bg.png',\n\talt: 'background',\n})``;\n\nexport const Wrapper = styled(StyledOfferButton)`\n\toverflow: hidden;\n\n\t&:hover {\n\t\t${NumbersImage} {\n\t\t\ttransform: translateX(-50%) scale(1.1);\n\t\t}\n\t}\n`;\n","import { FC } from 'react';\nimport styled from 'styled-components';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport routingService from '../../../../LegacyApp/client/modules/app/routingService';\nimport { Image } from '../../default/Image/Image';\nimport { getUrl } from '../../layout/MainPageOfferButton/MainPageOfferButton';\nimport {\n\tOfferBackgroundStyled,\n\tStyledOfferButton,\n} from '../../layout/MainPageOfferButton/MainPageOfferButton.styled';\n\nconst name = GameType.PLINKO;\nexport const PlinkoGameButton: FC<{\n\tcallback: () => void;\n}> = ({ callback }) => {\n\treturn (\n\t\t<Wrapper href={routingService.to(getUrl(name), true)} onClick={callback}>\n\t\t\t<>\n\t\t\t\t<BackgroundImage />\n\t\t\t\t<ElImage />\n\t\t\t\t<NameImage />\n\t\t\t</>\n\t\t</Wrapper>\n\t);\n};\n\nexport const ElImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/plinko/pins.png',\n\talt: 'el',\n})`\n\tposition: absolute;\n\ttop: 48%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n`;\n\nexport const NameImage = styled(Image).attrs({\n\tsrc: '/img/games/inhouse/plinko/name.png',\n\talt: 'PLINKO',\n})`\n\tposition: absolute;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\theight: 100%;\n\tbottom: 0;\n`;\n\nexport const BackgroundImage = styled(OfferBackgroundStyled).attrs({\n\tsrc: '/img/games/inhouse/plinko/bg.png',\n\talt: 'background',\n})``;\n\nexport const Wrapper = styled(StyledOfferButton)`\n\tbackground-color: #0b3c2a;\n\tborder-radius: 13px;\n\toverflow: hidden;\n\n\t&:hover {\n\t\t${ElImage} {\n\t\t\ttransform: translate(-50%, -50%) scale(0.9);\n\t\t}\n\t}\n`;\n","import { FC } from 'react';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { SPORTSBOOK_PAGE_ID } from '@modules/sportsbook/constants/sportsbook.page.config';\nimport { isFeatureAvailable } from '@legacyApp/client/modules/app/featureService';\nimport { FEATURES_TYPE } from '@legacyApp/client/config';\nimport { Image } from '../../default/Image/Image';\nimport routingService from '../../../../LegacyApp/client/modules/app/routingService';\nimport { HiloGameButton } from '../../games/Inhouse/HiloGameButton';\nimport { DiceGameButton } from '../../games/Inhouse/DiceGameButton';\nimport { LimboGameButton } from '../../games/Inhouse/LimboGameButton';\nimport { PlinkoGameButton } from '../../games/Inhouse/PlinkoGameButton';\nimport {\n\tOfferBackgroundStyled,\n\tStyledImageElementWrapper,\n\tStyledMainPageOfferButton,\n} from './MainPageOfferButton.styled';\n\nexport const AVAILABLE_OFFER: Array<GameType> = [\n\tGameType.DICE,\n\t...(isFeatureAvailable(FEATURES_TYPE.PLINKO) ? [GameType.PLINKO] : []),\n\tGameType.LIMBO,\n\tGameType.HILO,\n];\n\nexport const ASSETS = {\n\t[GameType.DICE]: {\n\t\turi: 'casino/dice',\n\t},\n\t[GameType.LIMBO]: {\n\t\turi: 'casino/limbo',\n\t},\n\t[GameType.HILO]: {\n\t\turi: 'casino/hilo',\n\t},\n\t[GameType.PLINKO]: {\n\t\turi: 'casino/plinko',\n\t},\n\t[GameType.SPORTS]: {\n\t\turi: SPORTSBOOK_PAGE_ID.INDEX,\n\t},\n};\n\ntype OfferNameType = GameType;\n\nexport const getUrl = (offerName: OfferNameType) => {\n\treturn ASSETS[offerName]?.uri || `${offerName}?`;\n};\n\nexport const MainPageOfferButton: FC<{\n\tofferName: string;\n\tcallback?: (offerName: OfferNameType) => void;\n}> = ({ offerName, callback }) => {\n\tconst onClick = (): void => {\n\t\tconsole.log('offerCallback');\n\t\tif (callback) {\n\t\t\tcallback(offerName as GameType);\n\t\t}\n\t};\n\n\tif (offerName === GameType.HILO) {\n\t\treturn <HiloGameButton callback={onClick} />;\n\t}\n\n\tif (offerName === GameType.DICE) {\n\t\treturn <DiceGameButton callback={onClick} />;\n\t}\n\n\tif (offerName === GameType.LIMBO) {\n\t\treturn <LimboGameButton callback={onClick} />;\n\t}\n\n\tif (offerName === GameType.PLINKO) {\n\t\treturn <PlinkoGameButton callback={onClick} />;\n\t}\n\n\treturn (\n\t\t<StyledMainPageOfferButton\n\t\t\t$offerName={offerName as GameType}\n\t\t\thref={routingService.to(getUrl(offerName as GameType), true)}\n\t\t\tonClick={onClick}\n\t\t>\n\t\t\t<>\n\t\t\t\t<OfferBackgroundStyled\n\t\t\t\t\tsrc={`/img/homepage/offer/${offerName}/bg.svg`}\n\t\t\t\t\talt={offerName}\n\t\t\t\t/>\n\t\t\t\t<StyledImageElementWrapper>\n\t\t\t\t\t<Image\n\t\t\t\t\t\tclassName={'offer-element'}\n\t\t\t\t\t\tsrc={`/img/homepage/offer/${offerName}/el.svg`}\n\t\t\t\t\t\talt={offerName}\n\t\t\t\t\t/>\n\t\t\t\t</StyledImageElementWrapper>\n\t\t\t\t<span>{offerName}</span>\n\t\t\t</>\n\t\t</StyledMainPageOfferButton>\n\t);\n};\n","import { Subject } from 'rxjs';\n\nclass SubjectControllerClass {\n\tprivate subjects = {};\n\n\tconstructor() {\n\t\t// this.subject = new Subject();\n\t}\n\n\tpublic subscribe(id, callback) {\n\t\tif (!this.subjects[id]) {\n\t\t\tthis.subjects[id] = new Subject();\n\t\t}\n\n\t\treturn this.subjects[id].subscribe(callback);\n\t}\n\n\tpublic emit(id, message) {\n\t\tthis.subjects[id].next(message);\n\t}\n}\n\nexport const SubjectController = new SubjectControllerClass();\n","import { config } from '@legacyApp/client/config';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { GameType } from '../../../Game/constants/availableGames';\n\nexport const GAME = GameType.DICE;\nexport const ID = `${GAME}-value`;\nexport const roundBetValue = (value: number): number => {\n\treturn roundNumber(value, config.decimals.betValue);\n};\n","import { RollRule } from '../types/RollRule';\n\nexport const checkIsDoubleValue = (rule: RollRule): boolean => {\n\treturn [RollRule.BETWEEN, RollRule.OUTSIDE].indexOf(rule) > -1;\n};\n","import { RollRule } from '../types/RollRule';\n\nexport const checkIsQuadrupleValue = (rule: RollRule): boolean => {\n\treturn [RollRule.TWO_RANGE].indexOf(rule) > -1;\n};\n","import { RollRule } from '../types/RollRule';\n\nexport const checkIsSingleValue = (rule: RollRule): boolean => {\n\tif (!rule) {\n\t\treturn true;\n\t}\n\treturn [RollRule.UNDER, RollRule.OVER, RollRule.DIRECT].indexOf(rule) > -1;\n};\n","import { config } from '@legacyApp/client/config';\nimport { mathService } from '@legacyApp/client/modules/math/mathService';\nimport {\n\tgetMaxWinChance,\n\tgetMinWinChance,\n} from '@legacyApp/client/modules/app/validateService';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { roundBetValue } from '@modules/games/DiceGame/components/BetValue/betValue.constants';\nimport {\n\tGetBetValueMaxMin,\n\tGetBetValueMaxMinProps,\n\tGetBetValueMaxMinResult,\n} from '../types/GetBetValueMaxMin';\nimport { RollRule } from '../types/RollRule';\nimport { GameType } from '../constants/availableGames';\nimport { checkIsSingleValue } from './checkIsSingleValue';\n\nexport const MAX_WIN_CHANCE = getMaxWinChance();\nexport const MIN_WIN_CHANCE = getMinWinChance(GameType.DICE);\n\nexport const MAX_BET_RESULT = config.games.dice.maxBetResult;\nexport const MIN_BET_RESULT = config.games.dice.minBetResult;\nexport const MIN_BET_VALUE_UNIT = mathService.getMinValueByPrecision(\n\tconfig.decimals.betValue,\n);\nexport const GUARANTEED_LOST_VALUES_WIN_CHANCE = roundBetValue(\n\tMAX_BET_RESULT - config.games.maxWinChance,\n);\nexport const MAX_RANGE_VALUE = roundBetValue(\n\tMAX_BET_RESULT + MIN_BET_VALUE_UNIT,\n);\n\nexport const getPrevAndNextBetValue = (props: GetBetValueMaxMinProps) => {\n\tif (!isTrueOrZero(props.index)) {\n\t\treturn {};\n\t}\n\tconst prevBetValue = props.betValues?.[props.index - 1];\n\tconst nextBetValue = props.betValues?.[props.index + 1];\n\treturn {\n\t\tprevBetValue,\n\t\tnextBetValue,\n\t};\n};\n\nexport const getSingleBetValueMaxMin = (\n\tprops: GetBetValueMaxMinProps,\n): GetBetValueMaxMinResult => {\n\tif (props.rule === RollRule.DIRECT) {\n\t\treturn {\n\t\t\tmin: roundBetValue(MIN_BET_RESULT),\n\t\t\tmax: roundBetValue(MAX_BET_RESULT),\n\t\t};\n\t}\n\tif (props.rule === RollRule.OVER) {\n\t\treturn {\n\t\t\tmin: roundBetValue(MIN_BET_RESULT + GUARANTEED_LOST_VALUES_WIN_CHANCE),\n\t\t\tmax: roundBetValue(MAX_BET_RESULT - MIN_BET_VALUE_UNIT),\n\t\t};\n\t}\n\treturn {\n\t\tmin: roundBetValue(MIN_BET_RESULT + MIN_BET_VALUE_UNIT),\n\t\tmax: roundBetValue(MAX_BET_RESULT - GUARANTEED_LOST_VALUES_WIN_CHANCE),\n\t};\n};\n\nexport const getBetweenBetValueMaxMin = (\n\tprops: GetBetValueMaxMinProps,\n): GetBetValueMaxMinResult => {\n\tconst { prevBetValue, nextBetValue } = getPrevAndNextBetValue(props);\n\n\tlet min = MIN_BET_RESULT;\n\tlet max = MAX_RANGE_VALUE;\n\n\tif (isTrueOrZero(nextBetValue)) {\n\t\tmin = nextBetValue - (MAX_WIN_CHANCE + MIN_BET_VALUE_UNIT);\n\t\tmax = nextBetValue - (MIN_WIN_CHANCE + MIN_BET_VALUE_UNIT);\n\t}\n\n\tif (isTrueOrZero(prevBetValue)) {\n\t\tmin = MIN_WIN_CHANCE + (prevBetValue + MIN_BET_VALUE_UNIT);\n\t\tmax = MAX_WIN_CHANCE + (prevBetValue + MIN_BET_VALUE_UNIT);\n\t}\n\n\treturn {\n\t\tmin: roundBetValue(min < MIN_BET_RESULT ? MIN_BET_RESULT : min),\n\t\tmax: roundBetValue(max > MAX_RANGE_VALUE ? MAX_RANGE_VALUE : max),\n\t};\n};\n\nexport const getOutsideBetValueMaxMin = (\n\tprops: GetBetValueMaxMinProps,\n): GetBetValueMaxMinResult => {\n\tconst { prevBetValue, nextBetValue } = getPrevAndNextBetValue(props);\n\n\tlet min = MIN_BET_RESULT;\n\tlet max = MAX_BET_RESULT;\n\n\tif (isTrueOrZero(nextBetValue)) {\n\t\tmin = nextBetValue + MIN_WIN_CHANCE - MAX_BET_RESULT;\n\t\tmax = nextBetValue + MAX_WIN_CHANCE - MAX_BET_RESULT;\n\t}\n\n\tif (isTrueOrZero(prevBetValue)) {\n\t\tmin = prevBetValue - MAX_WIN_CHANCE + MAX_BET_RESULT;\n\t\tmax = prevBetValue - MIN_WIN_CHANCE + MAX_BET_RESULT;\n\t}\n\n\treturn {\n\t\tmin: roundBetValue(min < MIN_BET_RESULT ? MIN_BET_RESULT : min),\n\t\tmax: roundBetValue(max > MAX_BET_RESULT ? MAX_BET_RESULT : max),\n\t};\n};\n\nexport const getTwoRangeBetValueMaxMin = (\n\tprops: GetBetValueMaxMinProps,\n): GetBetValueMaxMinResult => {\n\tconst { index, betValues } = props;\n\n\tconst minResult = isTrueOrZero(betValues?.[index - 1])\n\t\t? betValues?.[index - 1] < MIN_BET_RESULT\n\t\t\t? MIN_BET_RESULT\n\t\t\t: betValues?.[index - 1] +\n\t\t\t  (index % 2 === 1 ? 2 * MIN_BET_VALUE_UNIT : MIN_BET_VALUE_UNIT)\n\t\t: MIN_BET_RESULT;\n\tconst maxResult = isTrueOrZero(betValues?.[index + 1])\n\t\t? betValues?.[index + 1] > MAX_RANGE_VALUE\n\t\t\t? MAX_RANGE_VALUE\n\t\t\t: betValues?.[index + 1] -\n\t\t\t  (index % 2 === 1 ? MIN_BET_VALUE_UNIT : 2 * MIN_BET_VALUE_UNIT)\n\t\t: MAX_RANGE_VALUE;\n\n\tlet min = minResult;\n\tlet max = maxResult;\n\n\tconst MIN_WIN_CHANCE_ = MIN_WIN_CHANCE + MIN_BET_VALUE_UNIT;\n\n\tif (index === 0) {\n\t\tmin =\n\t\t\tbetValues[3] +\n\t\t\tbetValues[1] -\n\t\t\tbetValues[2] -\n\t\t\t(MAX_WIN_CHANCE + 2 * MIN_BET_VALUE_UNIT);\n\t\tmax =\n\t\t\tbetValues[3] +\n\t\t\tbetValues[1] -\n\t\t\tbetValues[2] -\n\t\t\t(MIN_WIN_CHANCE_ + 2 * MIN_BET_VALUE_UNIT);\n\t}\n\n\tif (index === 1) {\n\t\tmin =\n\t\t\tMIN_WIN_CHANCE_ +\n\t\t\t2 * MIN_BET_VALUE_UNIT -\n\t\t\tbetValues[3] +\n\t\t\tbetValues[2] +\n\t\t\tbetValues[0];\n\t\tmax =\n\t\t\tMAX_WIN_CHANCE +\n\t\t\t2 * MIN_BET_VALUE_UNIT -\n\t\t\tbetValues[3] +\n\t\t\tbetValues[2] +\n\t\t\tbetValues[0];\n\t}\n\n\tif (index === 2) {\n\t\tmin =\n\t\t\tbetValues[3] +\n\t\t\tbetValues[1] -\n\t\t\tbetValues[0] -\n\t\t\t(MAX_WIN_CHANCE + 2 * MIN_BET_VALUE_UNIT);\n\t\tmax =\n\t\t\tbetValues[3] +\n\t\t\tbetValues[1] -\n\t\t\tbetValues[0] -\n\t\t\t(MIN_WIN_CHANCE_ + 2 * MIN_BET_VALUE_UNIT);\n\t}\n\n\tif (index === 3) {\n\t\tmin =\n\t\t\tMIN_WIN_CHANCE_ +\n\t\t\t2 * MIN_BET_VALUE_UNIT -\n\t\t\tbetValues[1] +\n\t\t\tbetValues[2] +\n\t\t\tbetValues[0];\n\t\tmax =\n\t\t\tMAX_WIN_CHANCE +\n\t\t\t2 * MIN_BET_VALUE_UNIT -\n\t\t\tbetValues[1] +\n\t\t\tbetValues[2] +\n\t\t\tbetValues[0];\n\t}\n\n\treturn {\n\t\tmin: roundBetValue(min < minResult ? minResult : min),\n\t\tmax: roundBetValue(max > maxResult ? maxResult : max),\n\t};\n};\n\nexport const getBetValueMaxMin: GetBetValueMaxMin = (props) => {\n\tif (checkIsSingleValue(props.rule)) {\n\t\treturn getSingleBetValueMaxMin(props);\n\t}\n\n\tif (props.rule === RollRule.BETWEEN) {\n\t\treturn getBetweenBetValueMaxMin(props);\n\t}\n\n\tif (props.rule === RollRule.OUTSIDE) {\n\t\treturn getOutsideBetValueMaxMin(props);\n\t}\n\n\tif (props.rule === RollRule.TWO_RANGE) {\n\t\treturn getTwoRangeBetValueMaxMin(props);\n\t}\n\n\treturn {\n\t\tmin: null,\n\t\tmax: null,\n\t};\n};\n","import { RootState } from '@legacyApp/client/store/configure.store';\nimport { scientificToDecimal } from '@legacyApp/methods/math/scientificToDecimal';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { RollRule } from '../types/RollRule';\nimport { checkIsSingleValue } from './checkIsSingleValue';\nimport { getWinChangeFromSingleBetValue } from './getWinChanceFromBetValues';\nimport { checkIsDoubleValue } from './checkIsDoubleValue';\nimport { checkIsQuadrupleValue } from './checkIsQuadrupleValue';\nimport { BetValuesDTO } from './mapBetValuesDTO';\n\nconst parseValue = (value: number): string => {\n\treturn scientificToDecimal(roundNumber(value, 2)).toString();\n};\n\ninterface BetValuesBetConfig extends BetValuesDTO {\n\trule?: RollRule;\n}\n\nexport const getRuleBetValuesBetConfig = (\n\trule: RollRule,\n\tbetValue: RootState['dice']['betValue'],\n): BetValuesBetConfig => {\n\tif (rule === RollRule.DIRECT) {\n\t\treturn {\n\t\t\tbet_value: parseValue(betValue.singleUnder),\n\t\t};\n\t}\n\tif (checkIsSingleValue(rule)) {\n\t\treturn {\n\t\t\tbet_value: parseValue(\n\t\t\t\tgetWinChangeFromSingleBetValue(betValue.singleUnder, rule),\n\t\t\t),\n\t\t};\n\t}\n\tif (checkIsDoubleValue(rule)) {\n\t\treturn {\n\t\t\tbet_value_first: parseValue(betValue.double[0]),\n\t\t\tbet_value_second: parseValue(betValue.double[1]),\n\t\t};\n\t}\n\tif (checkIsQuadrupleValue(rule)) {\n\t\treturn {\n\t\t\tbet_value_first: parseValue(betValue.quadruple[0]),\n\t\t\tbet_value_second: parseValue(betValue.quadruple[1]),\n\t\t\tbet_value_third: parseValue(betValue.quadruple[2]),\n\t\t\tbet_value_fourth: parseValue(betValue.quadruple[3]),\n\t\t};\n\t}\n\treturn null;\n};\n","import { getWinChanceDecimal } from '@legacyApp/client/modules/app/gameService';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { GameType } from '../constants/availableGames';\nimport { RollRule } from '../types/RollRule';\nimport { MAX_BET_RESULT, MIN_BET_VALUE_UNIT } from './getBetValueMaxMin';\n\nexport const parseSingleBetValue = (betValue: number, rule: RollRule) => {\n\tif (rule === RollRule.DIRECT) {\n\t\treturn betValue;\n\t}\n\n\treturn getWinChangeFromSingleBetValue(betValue, rule);\n};\n\nexport const getWinChangeFromSingleBetValue = (\n\tbetValue: number,\n\trule: RollRule,\n): number => {\n\tif (!isTrueOrZero(betValue)) {\n\t\treturn null;\n\t}\n\tif (rule === RollRule.OVER) {\n\t\treturn roundNumber(\n\t\t\tMAX_BET_RESULT - betValue,\n\t\t\tgetWinChanceDecimal(GameType.DICE),\n\t\t);\n\t}\n\tif (rule === RollRule.DIRECT) {\n\t\treturn roundNumber(MIN_BET_VALUE_UNIT, getWinChanceDecimal(GameType.DICE));\n\t}\n\treturn betValue;\n};\n\nexport const getWinChanceFromMultipleBetValues = (\n\tbetValue: ReadonlyArray<number>,\n\trule: RollRule,\n): number => {\n\tif (!betValue?.length) {\n\t\treturn null;\n\t}\n\tif (rule === RollRule.OUTSIDE) {\n\t\treturn roundNumber(\n\t\t\tMAX_BET_RESULT - roundNumber(betValue[1] - betValue[0]),\n\t\t\tgetWinChanceDecimal(GameType.DICE),\n\t\t);\n\t}\n\tif (rule === RollRule.BETWEEN) {\n\t\treturn roundNumber(\n\t\t\troundNumber(betValue[1] - (betValue[0] + MIN_BET_VALUE_UNIT)),\n\t\t\tgetWinChanceDecimal(GameType.DICE),\n\t\t);\n\t}\n\tif (rule === RollRule.TWO_RANGE) {\n\t\treturn roundNumber(\n\t\t\troundNumber(betValue[1] - (betValue[0] + MIN_BET_VALUE_UNIT)) +\n\t\t\t\troundNumber(betValue[3] - (betValue[2] + MIN_BET_VALUE_UNIT)),\n\t\t\tgetWinChanceDecimal(GameType.DICE),\n\t\t);\n\t}\n\treturn null;\n};\n","import { betValueSlice } from './slices/betValue.slice';\nimport { resultSlice } from './slices/result.slice';\nimport { ruleDefaultSlice, ruleSlice } from './slices/rule.slice';\nimport { isResultVisibleSlice } from './slices/isResultVisible.slice';\n\nexport const diceActions = {\n\t...betValueSlice.actions,\n\t...resultSlice.actions,\n\t...ruleDefaultSlice.actions,\n\t...ruleSlice.actions,\n\t...isResultVisibleSlice.actions,\n};\n","import { reducerInitialStateMethods } from '@common/methods/reducerInitialStateMethods';\n\nexport const diceInitialState = reducerInitialStateMethods('dice');\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nimport { config } from '@legacyApp/client/config';\nimport { diceInitialState } from '../diceInitialState';\n\nconst defaultBetValue = config.games.dice.betValue;\n\nconst NAME = 'betValue';\n\nexport type ValueType = {\n\tsingleUnder: number; // source of truth for default rule \"under\"\n\tdouble: [number, number];\n\tquadruple: [number, number, number, number];\n};\n\nconst initialState: ValueType = diceInitialState.getInitialState(NAME) || {\n\tsingleUnder: defaultBetValue,\n\tdouble: [25, 75],\n\tquadruple: [15, 40, 60, 85],\n};\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\tdiceInitialState.setInitialState(NAME, action.payload);\n\treturn action.payload;\n};\n\nconst singleValueUpdate: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType['singleUnder']>\n> = (state, action) => {\n\tstate.singleUnder = action.payload;\n\tdiceInitialState.setInitialState(NAME, state);\n\treturn state;\n};\n\nconst doubleValueUpdate: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType['double']>\n> = (state, action) => {\n\tstate.double = action.payload;\n\tdiceInitialState.setInitialState(NAME, state);\n\treturn state;\n};\n\nconst quadrupleValueUpdate: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType['quadruple']>\n> = (state, action) => {\n\tstate.quadruple = action.payload;\n\tdiceInitialState.setInitialState(NAME, state);\n\treturn state;\n};\n\nconst betValueIndexUpdate: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<{\n\t\tindex: number;\n\t\tvalue: number;\n\t}>\n> = (state, action) => {\n\tstate[action.payload.index] = action.payload.value;\n\tdiceInitialState.setInitialState(NAME, state);\n\treturn state;\n};\n\nexport const betValueSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tsingleValueUpdate,\n\t\tdoubleValueUpdate,\n\t\tquadrupleValueUpdate,\n\t\tbetValueUpdate: setAction,\n\t\tbetValueIndexUpdate,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nexport type ValueType = number;\n\nconst NAME = 'isResultVisible';\n\nconst initialState = 0;\n\nconst resultShow: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state) => {\n\treturn (state += 1);\n};\n\nconst resultHide: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state) => {\n\treturn (state -= 1);\n};\n\nexport const isResultVisibleSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tresultShow,\n\t\tresultHide,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\n\nconst NAME = 'result';\n\nexport interface ResultType {\n\tresult: boolean | number;\n\tresultValue: boolean | number;\n}\n\nconst initialState: ResultType = {\n\tresult: false,\n\tresultValue: false,\n};\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tResultType,\n\tReduxToolkit.PayloadAction<ResultType>\n> = (state, action) => {\n\treturn action.payload;\n};\n\nexport const resultSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\tresultUpdate: setAction,\n\t},\n});\n","import ReduxToolkit, { createSlice } from '@reduxjs/toolkit';\nimport { RollRule } from '../../../types/RollRule';\nimport { diceInitialState } from '../diceInitialState';\n\nconst NAME = 'rule';\nconst NAME_DEFAULT = `${NAME}Default`;\n\nexport type ValueType = RollRule;\n\nconst initialState = diceInitialState.getInitialState(NAME) || RollRule.UNDER;\n\nconst initialDefaultState =\n\tdiceInitialState.getInitialState(NAME_DEFAULT) || RollRule.UNDER;\n\nconst setAction: ReduxToolkit.CaseReducer<\n\tValueType,\n\tReduxToolkit.PayloadAction<ValueType>\n> = (state, action) => {\n\tdiceInitialState.setInitialState(NAME, action.payload);\n\treturn action.payload;\n};\n\nexport const ruleSlice = createSlice({\n\tname: NAME,\n\tinitialState,\n\treducers: {\n\t\truleUpdate: setAction,\n\t},\n});\n\nexport const ruleDefaultSlice = createSlice({\n\tname: NAME_DEFAULT,\n\tinitialState: initialDefaultState,\n\treducers: {\n\t\tdefaultRuleUpdate: setAction,\n\t},\n});\n","import { Bet } from '@modules/games/Game/store/game/@types/PlaceBetResponse';\nimport { BetResult } from '../../components/lastBets/types';\nimport { mapGameBetResult } from './gameService';\n\nexport const createBetResult = (data: Bet): BetResult => {\n\treturn {\n\t\thash: data.hash,\n\t\tresult_value: mapGameBetResult(data.game.name, data),\n\t\tstate: data.state,\n\t\tpublished_at: data.published_at,\n\t\tnonce: data.nonce,\n\t};\n};\n","import { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { UserBalance } from '../UserBalance.type';\nimport { updateBalance } from '../balance.actions';\nimport { getChangedBalanceThunk } from './getChangedBalance.thunk';\n\nexport const changeBalanceThunk = (\n\tdata: {\n\t\tcurrency: UserBalance['currency'];\n\t\tamount: UserBalance['amount'];\n\t},\n\tsource: string,\n): AppThunk => {\n\treturn (dispatch) => {\n\t\tconst payload = dispatch(getChangedBalanceThunk(data));\n\t\tdispatch(updateBalance(payload, `changeBalanceThunk_${source}`));\n\t};\n};\n","import { validBetData } from '@legacyApp/client/modules/app/gameService';\nimport { sentryError } from '@legacyApp/client/modules/app/sentryService';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { fetchApi } from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { apiConfig } from '@server/config/api.config';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport { getStrategyFromState } from '../../../methods/getStrategyFromState';\nimport { createPlaceBetUrl } from '../methods/createPlaceBetUrl';\nimport { createPlaceBetBodyThunk } from '../methods/createPlaceBetBody.thunk';\nimport { checkIsStrategyFromBetPayload } from '../methods/checkIsStrategyFromBetPayload';\nimport { PlaceBetResponse } from '../@types/PlaceBetResponse';\nimport { BetConfig } from '../@types/BetConfig';\nimport { openAutobetSummaryThunk } from '../../gameAutobet/thunks/openAutobetSummary.thunk';\n\nexport const sendBetThunk = (\n\tpayload: BetConfig,\n\tsource: string,\n): AppThunk<Promise<PlaceBetResponse>> => {\n\treturn async (dispatch, getState) => {\n\t\tconst state = getState();\n\t\tconst { game, auto, flash } = payload;\n\t\tconst isStrategy = checkIsStrategyFromBetPayload(payload);\n\n\t\t// if (state.gameAutobet.id[game]) {\n\t\t//   sentryError('Previous autobet session cannot be stopped, try again in 10min', {\n\t\t//     gameAutobet: state.gameAutobet,\n\t\t//     game: state.game,\n\t\t//     action,\n\t\t//     sessions: state.gameAutobet.id,\n\t\t//     strategy: getStrategyFromState(state, state.game, true),\n\t\t//   });\n\t\t//   return dispatch(autobetSummaryConnectionError(payload, {\n\t\t//     message: 'Previous autobet session cannot be stopped, try again in 10min',\n\t\t//   }));\n\t\t// }\n\n\t\tif (!validBetData(payload) && isStrategy) {\n\t\t\tsentryError(\n\t\t\t\tnew Error(`Invalid bet data from - ${source}`),\n\t\t\t\t{\n\t\t\t\t\tpayload: payload,\n\t\t\t\t},\n\t\t\t\tstate,\n\t\t\t);\n\t\t\tdispatch(\n\t\t\t\topenAutobetSummaryThunk({\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tstop_reason: trans({\n\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t'We are sorry, invalid bet data. Report has been sent to our developers.',\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tstrategy: getStrategyFromState(state, game, true),\n\t\t\t\t\t},\n\t\t\t\t\tgame,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tid: null,\n\t\t\t\t}),\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\treturn await dispatch(\n\t\t\tfetchApi({\n\t\t\t\turl: {\n\t\t\t\t\tapiUrl: isStrategy ? apiConfig.autobetUrl : apiConfig.diceUrl,\n\t\t\t\t\turi: createPlaceBetUrl(payload),\n\t\t\t\t},\n\t\t\t\tparameters: {\n\t\t\t\t\tAuthorization: true,\n\t\t\t\t\tbody: dispatch(createPlaceBetBodyThunk(payload)),\n\t\t\t\t},\n\t\t\t\tmethod: 'POST',\n\t\t\t\tloaderId: flash ? 'flashBet' : LOADING_IDS.PLACE_BET,\n\t\t\t\tlockByModal: true,\n\t\t\t\tdisableErrorHandler: auto,\n\t\t\t}),\n\t\t);\n\t};\n};\n","import { combineEpics } from 'redux-observable';\nimport { delay, map } from 'rxjs/operators';\nimport { from, of } from 'rxjs';\nimport { LOCATION_CHANGE } from 'connected-next-router';\nimport { updateBalance } from '@modules/balance/store/balance.actions';\nimport { UPDATE_BALANCE } from '@modules/balance/store/balance.constants';\nimport { SET_CURRENCY } from '@legacyApp/client/store/user/user.constants';\nimport { newResult } from '@legacyApp/client/store/transactions/transactions.actions';\nimport {\n\tgetBetProfit,\n\tgetGameFromUrl,\n\tgetMinBetAmount,\n\tisGameSessionActive,\n} from '@legacyApp/client/modules/app/gameService';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { capitalize } from '@legacyApp/client/modules/app/appService';\nimport { showAlert } from '@legacyApp/client/store/alerts/alerts.actions';\nimport { epic, epicOldState } from '@legacyApp/client/modules/app/epicService';\nimport { getStrategyGames } from '@legacyApp/client/modules/app/strategyV3Service';\nimport { OPEN_MODAL } from '@modules/modals/store/modal.constants';\nimport { resetModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { scientificToDecimal } from '@legacyApp/methods/math/scientificToDecimal';\nimport { OPTIONS } from '@legacyApp/client/store/options/options.constants';\nimport { REGISTRY_GAME_PACKAGE } from '@legacyApp/client/store/registry/registry.constants';\nimport { newMyBetThunk } from '@legacyApp/client/store/user/thunks/newMyBet.thunk';\nimport { Sounds } from '@common/constants/config/sounds';\nimport { getRealBalanceNative } from '@legacyApp/client/modules/app/balanceService';\nimport { createBetResult } from '@legacyApp/client/modules/app/createBetResult';\nimport { RootState } from '@legacyApp/client/store/configure.store';\nimport { BalanceElement } from '@legacyApp/types/balance/BalancesArray';\nimport { SET_VISIBLE } from '@legacyApp/client/store/app/app.constants';\n\nimport { AVAILABLE_OFFER } from '@common/components/layout/MainPageOfferButton/MainPageOfferButton';\nimport { diceActions } from '@modules/games/Game/store/dice/dice.actions';\nimport routingService from '@legacyApp/client/modules/app/routingService';\nimport audioService from '@legacyApp/client/modules/app/audioService';\nimport { AUTOBET_ROLLING } from '@modules/games/Game/store/gameAutobet/gameAutobet.constants';\nimport { autoBetRolling } from '@modules/games/Game/store/gameAutobet/gameAutobet.actions';\nimport {\n\tbetLost,\n\tbetWon,\n\tresetAutoSession,\n} from '@modules/games/Game/store/gameSession/gameSession.actions';\nimport {\n\tBetResponseAnimationProps,\n\tbetUpdateAnimated,\n\tgameUpdateAmount,\n\tgameUpdateBetAnimatedLastBalance,\n\tgameUpdatePayout,\n\tgameUpdateProfit,\n\tsetGame,\n} from '@modules/games/Game/store/game/game.actions';\nimport {\n\tBET,\n\tBET_RESPONSE_ANIMATION,\n\tBET_RESULT,\n\tGAME_BET_RESULT,\n\tSET_GAME,\n} from '@modules/games/Game/store/game/game.constants';\nimport { placeBetThunk } from '@modules/games/Game/store/game/thunks/placeBet.thunk';\nimport { Bet } from '@modules/games/Game/store/game/@types/PlaceBetResponse';\nimport { gameResolvePendingAnimatedBetsThunk } from '@modules/games/Game/store/game/thunks/gameResolvePendingAnimatedBets.thunk';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\n\nconst betEpic = epic('betEpic', {\n\tactions: (ofType) => ofType(BET),\n\tcallback: ({ action }) => {\n\t\treturn of(placeBetThunk(action.payload, action.source));\n\t},\n});\n\nconst betResponseAnimationEpic = epic('betResponseAnimationEpic', {\n\tactions: (ofType) => ofType(BET_RESPONSE_ANIMATION),\n\tcallback: ({ action }: { action: BetResponseAnimationProps }) => {\n\t\treturn of(\n\t\t\tgameUpdateBetAnimatedLastBalance({\n\t\t\t\tgame: action.payload.game,\n\t\t\t\tvalue: action.data.userBalance,\n\t\t\t}),\n\t\t\tbetUpdateAnimated({\n\t\t\t\tvalue: {\n\t\t\t\t\tid: action.data.bet.hash,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tpayload: action.payload,\n\t\t\t\t\t\tdata: action.data,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tgame: action.payload.game,\n\t\t\t}),\n\t\t);\n\t},\n});\n\nconst showResultEpic = epic('showResultEpic', {\n\tactions: (ofType) => ofType(diceActions.resultUpdate().type),\n\tcallback: () => {\n\t\treturn of([diceActions.resultShow()]);\n\t},\n});\n\nconst hideResultEpic = epic('hideResultEpic', {\n\tactions: (ofType) => ofType(diceActions.resultShow().type),\n\tcallback: () => {\n\t\treturn of([diceActions.resultHide()]).pipe(delay(5000));\n\t},\n});\n\nconst changeCurrencyEpic = epic('changeCurrencyEpic', {\n\tactions: (ofType) => ofType(UPDATE_BALANCE, SET_CURRENCY),\n\tcallback: ({ store$ }) => {\n\t\tif (\n\t\t\t!Object.keys(store$.value.balance.balances).length ||\n\t\t\t!store$.value.app.initialized\n\t\t) {\n\t\t\treturn of();\n\t\t}\n\t\tconst balance = getRealBalanceNative(\n\t\t\tstore$.value.balance.balances,\n\t\t\tstore$.value.user.activeCurrency,\n\t\t);\n\t\tconst result = [];\n\t\tif (balance === 0) {\n\t\t\tstore$.value.game.gamesList.forEach((game) => {\n\t\t\t\tif (isGameSessionActive(store$.value, game)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tresult.push(\n\t\t\t\t\tgameUpdateAmount({\n\t\t\t\t\t\tgame,\n\t\t\t\t\t\tvalue: '0.00000000',\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t});\n\t\t} else {\n\t\t\tstore$.value.game.gamesList.forEach((game) => {\n\t\t\t\tif (!store$.value.gameAutobet.active[game]) {\n\t\t\t\t\tconst amount = parseFloat(store$.value.game.betAmount[game]);\n\t\t\t\t\tconst min = getMinBetAmount({\n\t\t\t\t\t\tcurrency: store$.value.user.activeCurrency,\n\t\t\t\t\t\tgame,\n\t\t\t\t\t});\n\t\t\t\t\tconst value = amount < min ? min : amount;\n\t\t\t\t\tif (Number(value) !== Number(store$.value.game.betAmount[game])) {\n\t\t\t\t\t\tresult.push(\n\t\t\t\t\t\t\tgameUpdateAmount({\n\t\t\t\t\t\t\t\tgame,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst autobetRollingEpic = epicOldState('autobetRollingEpic', {\n\tactions: (ofType) => ofType(AUTOBET_ROLLING),\n\tcallback: ({ action, newState, oldState }) => {\n\t\tconst result = [];\n\t\tconst isVisible = newState.app.visible;\n\t\tconst isGame = newState.game.activeGame !== action.payload.game;\n\t\t// TODO: chat store usage\n\t\tconst isMobileChat = newState.app.mobile && newState?.chat?.visible;\n\t\tconst isSummaryDisabled = !newState.options[OPTIONS.AUTOBET_SUMMARY];\n\t\tconst isTurnedOff =\n\t\t\t!action.payload.value &&\n\t\t\toldState.gameAutobet.autoBetRolling[action.payload.game];\n\t\t// console.log(AUTOBET_ROLLING, {\n\t\t//   isVisible,\n\t\t//   isGame,\n\t\t//   isMobileChat,\n\t\t//   isSummaryDisabled,\n\t\t//   isTurnedOff,\n\t\t// });\n\t\tif (\n\t\t\t(!isVisible || ((isGame || isMobileChat) && isSummaryDisabled)) &&\n\t\t\tisTurnedOff\n\t\t) {\n\t\t\taudioService.play(Sounds.stop, false, 1);\n\t\t\tresult.push(\n\t\t\t\tshowAlert(\n\t\t\t\t\t'info',\n\t\t\t\t\ttrans({\n\t\t\t\t\t\tlabel: `{{game}} ${\n\t\t\t\t\t\t\tnewState.gameAutobet.active[action.payload.game] === 'flash'\n\t\t\t\t\t\t\t\t? 'flash'\n\t\t\t\t\t\t\t\t: 'auto'\n\t\t\t\t\t\t}bet stopped`,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tgame: capitalize(action.payload.game.toLowerCase()),\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tif (action.payload.value) {\n\t\t\tresult.push(resetAutoSession(action.payload.game));\n\t\t}\n\t\treturn result;\n\t},\n});\n\nconst betLoadingEpic = epic('betLoadingEpic', {\n\tactions: (ofType) => ofType(BET),\n\tcallback: ({ action, store$ }) => {\n\t\tconst result = [];\n\t\tif (\n\t\t\tstore$.value.gameAutobet.active[action.payload.game] &&\n\t\t\t!store$.value.gameAutobet.autoBetRolling[action.payload.game]\n\t\t) {\n\t\t\tresult.push(\n\t\t\t\tautoBetRolling({\n\t\t\t\t\tvalue: true,\n\t\t\t\t\tgame: action.payload.game,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst gameChangeEpic = epicOldState('gameChangeEpic', {\n\tactions: (ofType) => ofType(SET_GAME),\n\tcallback: ({ oldState, newState }) => {\n\t\tif (newState.game.activeGame === oldState.game.activeGame) {\n\t\t\treturn [];\n\t\t}\n\t\t// TODO: NEW GAME FLAG\n\t\tconst result = [];\n\t\tif (newState.game.activeGame === 'hilo') {\n\t\t\tresult.push(\n\t\t\t\tgameUpdatePayout({\n\t\t\t\t\tvalue: 1,\n\t\t\t\t\tgame: newState.game.activeGame,\n\t\t\t\t}),\n\t\t\t\tgameUpdateProfit({\n\t\t\t\t\tvalue: 0,\n\t\t\t\t\tgame: newState.game.activeGame,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\treturn result;\n\t},\n});\n\nconst betResultEpic = epic('betResultEpic', {\n\tactions: (ofType) => ofType(BET_RESULT),\n\tcallback: ({\n\t\taction,\n\t\tstore$,\n\t}: {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tauto: boolean;\n\t\t\t\tdata: {\n\t\t\t\t\tbet: Bet;\n\t\t\t\t\tuserBalance: BalanceElement;\n\t\t\t\t};\n\t\t\t\tlastBet: Bet;\n\t\t\t};\n\t\t};\n\t\tstore$: {\n\t\t\tvalue: RootState;\n\t\t};\n\t}) => {\n\t\tconst data = action.payload.data;\n\t\tconst result = [];\n\t\tif (data.bet) {\n\t\t\tconst lastBet = action.payload.lastBet;\n\t\t\tconst isWin = data.bet.state === 'win';\n\t\t\tconst bet: Bet = {\n\t\t\t\t...data.bet,\n\t\t\t\tgame:\n\t\t\t\t\tdata.bet.game && typeof data.bet.game === 'string'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tname: data.bet.game as GameType,\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: data.bet.game\n\t\t\t\t\t\t? data.bet.game\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tname: lastBet.game.name,\n\t\t\t\t\t\t  },\n\t\t\t\tcurrency: data.bet.currency || lastBet.currency,\n\t\t\t\tamount: data.bet.amount || lastBet.amount,\n\t\t\t\trule: data.bet.rule || lastBet.rule,\n\t\t\t\tmultiplier: data.bet.multiplier || lastBet.multiplier,\n\t\t\t\tbet_value: data.bet.bet_value || lastBet.bet_value,\n\t\t\t\tuser: data.bet.user || {\n\t\t\t\t\tlogin: store$.value.user.name,\n\t\t\t\t\tuuid: store$.value.user.id,\n\t\t\t\t},\n\t\t\t};\n\t\t\tresult.push({\n\t\t\t\t...action,\n\t\t\t\ttype: GAME_BET_RESULT(bet.game.name),\n\t\t\t});\n\t\t\tif (!bet.profit) {\n\t\t\t\tbet.profit = scientificToDecimal(\n\t\t\t\t\tgetBetProfit(bet.state, bet.amount, bet.multiplier),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (bet.result_value && bet.state) {\n\t\t\t\tresult.push(\n\t\t\t\t\tnewResult({\n\t\t\t\t\t\tdata: createBetResult(bet),\n\t\t\t\t\t\tgame: bet.game.name,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t\tisWin\n\t\t\t\t? result.push(\n\t\t\t\t\t\tbetWon({\n\t\t\t\t\t\t\t...bet,\n\t\t\t\t\t\t\tauto: !!store$.value.gameAutobet.autoBetRolling[bet.game.name],\n\t\t\t\t\t\t}),\n\t\t\t\t  )\n\t\t\t\t: result.push(\n\t\t\t\t\t\tbetLost({\n\t\t\t\t\t\t\t...bet,\n\t\t\t\t\t\t\tauto: !!store$.value.gameAutobet.autoBetRolling[bet.game.name],\n\t\t\t\t\t\t}),\n\t\t\t\t  );\n\t\t\t// if (store$.value.transactions.update[TABLE_ID.myBets]) {\n\t\t\tresult.push(\n\t\t\t\tnewMyBetThunk(bet, {\n\t\t\t\t\tisAutobet: !!action.payload.auto,\n\t\t\t\t}),\n\t\t\t);\n\t\t\t// }\n\t\t}\n\t\tif (data.userBalance) {\n\t\t\tresult.push(updateBalance(data.userBalance, 'placeBet'));\n\t\t}\n\t\treturn of(result);\n\t},\n});\n\nconst compatibleGamesEpic = epic('compatibleGamesEpic', {\n\tactions: (ofType) => ofType(OPEN_MODAL),\n\tcallback: ({ action }) => {\n\t\tif (\n\t\t\taction.props &&\n\t\t\taction.props.strategy &&\n\t\t\taction.name === MODAL_ID.COMPATIBLE_GAMES\n\t\t) {\n\t\t\tconst games = getStrategyGames(action.props.strategy);\n\t\t\t// console.log('compatibleGamesEpic', { games, action });\n\t\t\tif (games.length === 1) {\n\t\t\t\treturn from(\n\t\t\t\t\troutingService.dynamicRedirect(\n\t\t\t\t\t\t`casino/${games[0]}?modal=autobet`,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t),\n\t\t\t\t).pipe(\n\t\t\t\t\tmap(() => {\n\t\t\t\t\t\taction.props.callback(games[0]);\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst compatibleGamesCloseModalEpic = epic('compatibleGamesCloseModalEpic', {\n\tactions: (ofType) => ofType(OPEN_MODAL),\n\tcallback: ({ action }) => {\n\t\tif (\n\t\t\taction.props &&\n\t\t\taction.props.strategy &&\n\t\t\taction.name === MODAL_ID.COMPATIBLE_GAMES\n\t\t) {\n\t\t\tconst games = getStrategyGames(action.props.strategy);\n\t\t\tif (games.length === 1) {\n\t\t\t\treturn of(resetModal(false, OPEN_MODAL));\n\t\t\t}\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst setGamePathEpic = epic('setGamePathEpic', {\n\tactions: (ofType) => ofType(LOCATION_CHANGE, REGISTRY_GAME_PACKAGE),\n\tcallback: ({ store$ }) => {\n\t\tconst game = getGameFromUrl();\n\t\tif (game !== store$.value.game?.activeGame) {\n\t\t\treturn of(setGame(game, { id: 'setGamePathEpic' }));\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst resolveAnimatingBetsOnVisibilityChangeEpic = epic(\n\t'resolveAnimatingBetsOnVisibilityChangeEpic',\n\t{\n\t\tactions: (ofType) => ofType(SET_VISIBLE),\n\t\tcallback: ({ action }) => {\n\t\t\tif (action.bool) {\n\t\t\t\treturn of();\n\t\t\t}\n\n\t\t\tconst actions: Array<any> = [\n\t\t\t\tAVAILABLE_OFFER.map((game) =>\n\t\t\t\t\tgameResolvePendingAnimatedBetsThunk(game),\n\t\t\t\t),\n\t\t\t];\n\t\t\treturn of(actions);\n\t\t},\n\t},\n);\n\nconst gameEpic = combineEpics(\n\tsetGamePathEpic,\n\tbetResponseAnimationEpic,\n\tcompatibleGamesEpic,\n\tcompatibleGamesCloseModalEpic,\n\tbetEpic,\n\tgameChangeEpic,\n\tbetLoadingEpic,\n\tshowResultEpic,\n\thideResultEpic,\n\tchangeCurrencyEpic,\n\tautobetRollingEpic,\n\tbetResultEpic,\n\tresolveAnimatingBetsOnVisibilityChangeEpic,\n);\n\nexport default gameEpic;\n","import { sentryError } from '@legacyApp/client/modules/app/sentryService';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { OPTIONS } from '@legacyApp/client/store/options/options.constants';\nimport { game_config } from '@legacyApp/client/game_config';\nimport { changeBalanceThunk } from '@modules/balance/store/thunks/changeBalance.thunk';\nimport { config } from '@legacyApp/client/config';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { getStrategyFromState } from '@modules/games/Game/methods/getStrategyFromState';\nimport { autobetSummaryConnectionError } from '@modules/games/Game/store/gameAutobet/gameAutobet.actions';\nimport { createPlaceBetUrl } from '@modules/games/Game/store/game/methods/createPlaceBetUrl';\nimport { BetConfig } from '@modules/games/Game/store/game/@types/BetConfig';\nimport { PlaceBetResponse } from '@modules/games/Game/store/game/@types/PlaceBetResponse';\nimport { betResponseAnimation } from '@modules/games/Game/store/game/game.actions';\nimport { handleBetResponseThunk } from '@modules/games/Game/store/game/thunks/handleBetResponse.thunk';\nimport { sendBetThunk } from '@modules/games/Game/store/game/thunks/sendBet.thunk';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { SubjectController } from '@common/controllers/subjectController';\nimport { PLINKO_BET_ERROR_EVENT } from '@modules/games/PlinkoGame/constants';\n\nexport const placeBetThunk = (payload: BetConfig, source: string): AppThunk => {\n\treturn async (dispatch, getState) => {\n\t\tconst game = payload.game;\n\t\tconst data: PlaceBetResponse = await dispatch(\n\t\t\tsendBetThunk(payload, source),\n\t\t).catch((error) => {\n\t\t\tconst { gameAutobet, game: gameState } = getState();\n\t\t\tif (payload.auto) {\n\t\t\t\tconst url = createPlaceBetUrl(payload);\n\t\t\t\tsentryError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`${url} - Error on starting ${state.gameAutobet.active[game]}bet session`,\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tgameAutobet,\n\t\t\t\t\t\tgameState,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tsessions: gameAutobet.id,\n\t\t\t\t\t\tstrategy: getStrategyFromState(state, game, true),\n\t\t\t\t\t},\n\t\t\t\t\tstate,\n\t\t\t\t);\n\t\t\t\tdispatch(\n\t\t\t\t\tautobetSummaryConnectionError(payload, {\n\t\t\t\t\t\tmessage: `Connection error on starting ${state.gameAutobet.active[game]}bet session, try again in 10min`,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\t// console.log('BET_ERROR', {\n\t\t\t// \tpayload,\n\t\t\t// \tsource,\n\t\t\t// \terror,\n\t\t\t// });\n\t\t});\n\t\tconst state = getState();\n\t\tif (data.error && game === GameType.PLINKO) {\n\t\t\tSubjectController.emit(PLINKO_BET_ERROR_EVENT, data);\n\t\t}\n\n\t\tif (\n\t\t\tstate.app.visible &&\n\t\t\tdata.bet &&\n\t\t\tgame_config[payload.game].resultAnimation &&\n\t\t\t(state.gameAutobet.active[payload.game] ||\n\t\t\t\tstate.options[OPTIONS.ANIMATION])\n\t\t) {\n\t\t\tdispatch(\n\t\t\t\tchangeBalanceThunk(\n\t\t\t\t\t{\n\t\t\t\t\t\tamount: roundNumber(\n\t\t\t\t\t\t\tNumber(data.bet.amount) * -1,\n\t\t\t\t\t\t\tconfig.decimals.bet,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcurrency: data.bet.currency,\n\t\t\t\t\t},\n\t\t\t\t\t'placeBetThunk',\n\t\t\t\t),\n\t\t\t);\n\t\t\treturn dispatch(betResponseAnimation({ payload, data }));\n\t\t}\n\n\t\tawait dispatch(\n\t\t\thandleBetResponseThunk({\n\t\t\t\tdata,\n\t\t\t\tpayload,\n\t\t\t\tsource,\n\t\t\t}),\n\t\t);\n\t};\n};\n","import { openModal } from '@modules/modals/store/modal.actions';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { CurrencyType } from '@legacyApp/types/wallet/CurrencyType';\nimport { UserType } from '@legacyApp/types/user/UserType';\nimport { GameType } from '../../../constants/availableGames';\nimport { GameStrategy } from '../../../types/GameStrategy';\n\nexport const openAutobetSummaryThunk = ({\n\tgame,\n\ttype,\n\tdata,\n\tid,\n}: {\n\tgame: GameType;\n\ttype: string;\n\tid?: string;\n\tdata: {\n\t\tstop_reason: any;\n\t\tstrategy: GameStrategy;\n\t\tcurrency?: CurrencyType;\n\t\tgame?: {\n\t\t\tname: GameType;\n\t\t};\n\t\tlost?: number;\n\t\tprofit?: number;\n\t\tprofit_chart?: Array<number>;\n\t\tpublished_at?: number;\n\t\tuser?: UserType;\n\t\twagered?: number;\n\t\twon?: number;\n\t};\n}): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst { balances } = getState().balance;\n\t\tconst startAgain =\n\t\t\tNumber(balances[data.currency]) >= Number(data.strategy.betAmount);\n\t\tdispatch(\n\t\t\topenModal(MODAL_ID.SESSION, 'openAutobetSummaryThunk', {\n\t\t\t\tdata,\n\t\t\t\ttype,\n\t\t\t\tstartAgain,\n\t\t\t\tgame,\n\t\t\t\tid,\n\t\t\t}),\n\t\t);\n\t};\n};\n","import { GameType } from '@modules/games/Game/constants/availableGames';\n\nexport const PLINKO_PIN_COLLISION_EVENT = `${GameType.PLINKO}:event:pin-collision`;\nexport const PLINKO_RESULT_EVENT = `${GameType.PLINKO}:event:result`;\nexport const PLINKO_BET_ERROR_EVENT = `${GameType.PLINKO}:event:bet-error`;\n"],"names":["OFFER_ELEMENT_STYLES","GameType","default","css","hover","StyledImageElementWrapper","styled","OfferBackgroundStyled","Image","StyledOfferButton","LinkTo","boxNoHeight","props","calcStyle","a","b","theme","layout","transition","mode","suffix","StyledMainPageOfferButton","text","fonts","Regular","$offerName","media","maxWidthTablet","name","HiloGameButton","callback","Wrapper","href","routingService","getUrl","onClick","BackgroundImage","CenterCardImage","LeftCardImage","RightCardImage","NameImage","attrs","src","alt","DiceGameButton","LeftDiceImage","RightDiceImage","LimboGameButton","NumbersImage","PlinkoGameButton","ElImage","AVAILABLE_OFFER","isFeatureAvailable","FEATURES_TYPE","ASSETS","uri","SPORTSBOOK_PAGE_ID","offerName","MainPageOfferButton","className","SubjectController","SubjectControllerClass","id","this","subjects","Subject","subscribe","message","next","GAME","ID","roundBetValue","value","roundNumber","config","checkIsDoubleValue","rule","RollRule","indexOf","checkIsQuadrupleValue","checkIsSingleValue","MAX_WIN_CHANCE","getMaxWinChance","MIN_WIN_CHANCE","getMinWinChance","MAX_BET_RESULT","MIN_BET_RESULT","MIN_BET_VALUE_UNIT","mathService","GUARANTEED_LOST_VALUES_WIN_CHANCE","MAX_RANGE_VALUE","getPrevAndNextBetValue","isTrueOrZero","index","prevBetValue","betValues","nextBetValue","getBetValueMaxMin","min","max","getSingleBetValueMaxMin","getBetweenBetValueMaxMin","getOutsideBetValueMaxMin","minResult","maxResult","MIN_WIN_CHANCE_","getTwoRangeBetValueMaxMin","parseValue","scientificToDecimal","toString","getRuleBetValuesBetConfig","betValue","bet_value","singleUnder","getWinChangeFromSingleBetValue","bet_value_first","bet_value_second","quadruple","bet_value_third","bet_value_fourth","parseSingleBetValue","getWinChanceDecimal","getWinChanceFromMultipleBetValues","length","diceActions","betValueSlice","resultSlice","ruleDefaultSlice","ruleSlice","isResultVisibleSlice","diceInitialState","reducerInitialStateMethods","defaultBetValue","NAME","initialState","double","createSlice","reducers","singleValueUpdate","state","action","payload","doubleValueUpdate","quadrupleValueUpdate","betValueUpdate","betValueIndexUpdate","resultShow","resultHide","result","resultValue","resultUpdate","NAME_DEFAULT","initialDefaultState","setAction","ruleUpdate","defaultRuleUpdate","createBetResult","data","hash","result_value","mapGameBetResult","game","published_at","nonce","changeBalanceThunk","source","dispatch","getChangedBalanceThunk","updateBalance","sendBetThunk","getState","auto","flash","isStrategy","checkIsStrategyFromBetPayload","validBetData","sentryError","Error","openAutobetSummaryThunk","stop_reason","trans","label","strategy","getStrategyFromState","type","fetchApi","url","apiUrl","apiConfig","createPlaceBetUrl","parameters","Authorization","body","createPlaceBetBodyThunk","method","loaderId","LOADING_IDS","lockByModal","disableErrorHandler","betEpic","epic","actions","ofType","BET","of","error","gameAutobet","gameState","active","sessions","autobetSummaryConnectionError","PLINKO_BET_ERROR_EVENT","app","visible","bet","game_config","resultAnimation","options","OPTIONS","amount","Number","currency","betResponseAnimation","handleBetResponseThunk","betResponseAnimationEpic","BET_RESPONSE_ANIMATION","gameUpdateBetAnimatedLastBalance","userBalance","betUpdateAnimated","showResultEpic","hideResultEpic","pipe","delay","changeCurrencyEpic","UPDATE_BALANCE","SET_CURRENCY","store$","Object","keys","balance","balances","initialized","getRealBalanceNative","user","activeCurrency","gamesList","forEach","isGameSessionActive","push","gameUpdateAmount","parseFloat","betAmount","getMinBetAmount","autobetRollingEpic","epicOldState","AUTOBET_ROLLING","newState","oldState","isVisible","isGame","activeGame","isMobileChat","mobile","chat","isSummaryDisabled","isTurnedOff","autoBetRolling","audioService","Sounds","showAlert","capitalize","toLowerCase","resetAutoSession","betLoadingEpic","gameChangeEpic","SET_GAME","gameUpdatePayout","gameUpdateProfit","betResultEpic","BET_RESULT","lastBet","isWin","multiplier","login","uuid","GAME_BET_RESULT","profit","getBetProfit","newResult","betWon","betLost","newMyBetThunk","isAutobet","compatibleGamesEpic","OPEN_MODAL","MODAL_ID","games","getStrategyGames","from","map","compatibleGamesCloseModalEpic","resetModal","setGamePathEpic","LOCATION_CHANGE","REGISTRY_GAME_PACKAGE","getGameFromUrl","setGame","resolveAnimatingBetsOnVisibilityChangeEpic","SET_VISIBLE","bool","gameResolvePendingAnimatedBetsThunk","combineEpics","startAgain","openModal","PLINKO_PIN_COLLISION_EVENT","PLINKO_RESULT_EVENT"],"mappings":"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","debug_id":"79e606e2-80cc-5ade-8fa8-584a58cf3bb4"}