{"version":3,"file":"static/chunks/75077.e9f227717b1a0e1f.js","sources":["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/checkIsSingleValue.ts","webpack://_N_E/./src/modules/games/Game/methods/getBetValueMaxMin.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/dice.epic.ts","webpack://_N_E/./src/modules/games/DiceGame/methods/getDiceWinChance.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/modules/games/Game/types/RollRule.ts"],"sourceRoot":"","sourcesContent":["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 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 { 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 { of } from 'rxjs';\nimport { combineEpics } from 'redux-observable';\nimport { epic } from '@legacyApp/client/modules/app/epicService';\nimport { RootState } from '@legacyApp/client/store/configure.store';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport { REGISTRY_GAME_PACKAGE } from '@legacyApp/client/store/registry/registry.constants';\nimport {\n\tgameUpdatePayout,\n\tgameUpdateProfit,\n\tgameUpdateWinChance,\n} from '@modules/games/Game/store/game/game.actions';\nimport {\n\tgetPayout,\n\tgetProfit,\n} from '@legacyApp/client/modules/app/gameService';\n\nimport { getDiceWinChance } from '@modules/games/DiceGame/methods/getDiceWinChance';\nimport { AUTOBET_SET_DEFAULTS } from '../gameAutobet/gameAutobet.constants';\nimport { GameType } from '../../constants/availableGames';\nimport { GAME_BET_RESULT } from '../game/game.constants';\nimport { diceActions } from './dice.actions';\n\nconst betResultEpic = epic('betResultEpic', {\n\tactions: (ofType) => ofType(GAME_BET_RESULT(GameType.DICE)),\n\tcallback: ({\n\t\taction,\n\t\tstore$,\n\t}: {\n\t\taction: {\n\t\t\tpayload: any;\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\tif (!store$.value.gameAutobet.autoBetRolling[GameType.DICE]) {\n\t\t\tif (data.bet.result_value && data.bet.state) {\n\t\t\t\treturn of(\n\t\t\t\t\tdiceActions.resultUpdate({\n\t\t\t\t\t\tresultValue: data.bet.result_value,\n\t\t\t\t\t\tresult: data.bet.state,\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 setDefaultsEpic = epic('setDefaultsEpic', {\n\tactions: (ofType) => ofType(AUTOBET_SET_DEFAULTS),\n\tcallback: ({ action, store$ }) => {\n\t\tconst game = action.payload;\n\t\tif (game === GameType.DICE) {\n\t\t\tlsSet(\n\t\t\t\tLocalStorageKeys.DICE_BET_VALUE_DEFAULT,\n\t\t\t\tstore$.value.dice.betValue,\n\t\t\t);\n\t\t\tif (\n\t\t\t\tstore$.value.dice.rollDefaultDirection !==\n\t\t\t\tstore$.value.dice.rollDirection\n\t\t\t) {\n\t\t\t\treturn of(\n\t\t\t\t\tdiceActions.defaultRuleUpdate(store$.value.dice.rollDirection),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst initEpic = epic('initEpic', {\n\tactions: (ofType) => ofType(REGISTRY_GAME_PACKAGE),\n\tcallback: ({ store$ }) => {\n\t\tconst game = GameType.DICE;\n\t\tconst { rollDirection, betValue } = store$.value.dice;\n\t\tconst winChance = getDiceWinChance(rollDirection, betValue);\n\t\tconst payout = getPayout(winChance, game);\n\n\t\treturn of(\n\t\t\tgameUpdateWinChance({\n\t\t\t\tvalue: winChance,\n\t\t\t\tgame,\n\t\t\t}),\n\t\t\tgameUpdatePayout({\n\t\t\t\tvalue: payout,\n\t\t\t\tgame,\n\t\t\t}),\n\t\t\tgameUpdateProfit({\n\t\t\t\tvalue: getProfit(store$.value.game.betAmount[game], payout),\n\t\t\t\tgame,\n\t\t\t}),\n\t\t);\n\t},\n});\n\nconst diceEpic = combineEpics(betResultEpic, setDefaultsEpic, initEpic);\n\nexport default diceEpic;\n","import { checkIsSingleValue } from '@modules/games/Game/methods/checkIsSingleValue';\nimport {\n\tgetWinChanceFromMultipleBetValues,\n\tgetWinChangeFromSingleBetValue,\n} from '@modules/games/Game/methods/getWinChanceFromBetValues';\nimport { checkIsDoubleValue } from '@modules/games/Game/methods/checkIsDoubleValue';\nimport { RollRule } from '@modules/games/Game/types/RollRule';\nimport { ValueType } from '@modules/games/Game/store/dice/slices/betValue.slice';\n\nexport const getDiceWinChance = (rule: RollRule, betValue: ValueType) => {\n\tif (checkIsSingleValue(rule)) {\n\t\treturn getWinChangeFromSingleBetValue(betValue.singleUnder, rule);\n\t}\n\n\treturn getWinChanceFromMultipleBetValues(\n\t\tcheckIsDoubleValue(rule) ? betValue.double : betValue.quadruple,\n\t\trule,\n\t);\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","export enum RollRule {\n\tDIRECT = 'direct',\n\tUNDER = 'under',\n\tOVER = 'over',\n\tBETWEEN = 'between',\n\tOUTSIDE = 'outside',\n\tTWO_RANGE = 'two_ranges',\n}\n"],"names":["GAME","GameType","ID","roundBetValue","value","roundNumber","config","checkIsDoubleValue","rule","RollRule","indexOf","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","props","isTrueOrZero","index","prevBetValue","betValues","nextBetValue","getBetValueMaxMin","min","max","getSingleBetValueMaxMin","getBetweenBetValueMaxMin","getOutsideBetValueMaxMin","minResult","maxResult","MIN_WIN_CHANCE_","getTwoRangeBetValueMaxMin","parseSingleBetValue","betValue","getWinChangeFromSingleBetValue","getWinChanceDecimal","getWinChanceFromMultipleBetValues","length","diceActions","betValueSlice","resultSlice","ruleDefaultSlice","ruleSlice","isResultVisibleSlice","betResultEpic","epic","actions","ofType","GAME_BET_RESULT","callback","action","store$","data","payload","gameAutobet","autoBetRolling","bet","result_value","state","of","resultValue","result","setDefaultsEpic","AUTOBET_SET_DEFAULTS","lsSet","LocalStorageKeys","dice","rollDefaultDirection","rollDirection","initEpic","REGISTRY_GAME_PACKAGE","game","winChance","singleUnder","quadruple","getDiceWinChance","payout","getPayout","gameUpdateWinChance","gameUpdatePayout","gameUpdateProfit","getProfit","betAmount","combineEpics","diceInitialState","reducerInitialStateMethods","defaultBetValue","NAME","initialState","double","createSlice","name","reducers","singleValueUpdate","doubleValueUpdate","quadrupleValueUpdate","betValueUpdate","betValueIndexUpdate","resultShow","resultHide","resultUpdate","NAME_DEFAULT","initialDefaultState","setAction","ruleUpdate","defaultRuleUpdate"],"mappings":"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","debug_id":"6b9c9cdd-50a9-509b-93f0-3bde258b0d46"}