Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sportsAMM","type":"address"},{"indexed":false,"internalType":"address","name":"riskManager","type":"address"}],"name":"AddressesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dataUtils","type":"address"}],"name":"DataUtilsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isPaused","type":"bool"}],"name":"PauseChanged","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint16[]","name":"_typeIds","type":"uint16[]"},{"internalType":"uint24[]","name":"_playerIds","type":"uint24[]"},{"internalType":"int24[]","name":"_lines","type":"int24[]"}],"name":"areMarketsResolved","outputs":[{"internalType":"bool[]","name":"resolvedMarkets","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dataUtils","outputs":[{"internalType":"contract SportsAMMV2DataUtils","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getActiveTicketsDataPerUser","outputs":[{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2DataUtils.TicketData[]","name":"ticketsData","type":"tuple[]"},{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2DataUtils.TicketData[]","name":"freeBetsData","type":"tuple[]"},{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2DataUtils.TicketData[]","name":"stakingBettingProxyData","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getAllActiveGameIdsTypeIdsPlayerIdsLinesForGameIds","outputs":[{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct SportsAMMV2DataUtils.TicketMarketInfo[]","name":"finalTicketsInfo","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint16[]","name":"_sportIds","type":"uint16[]"},{"internalType":"uint16[]","name":"_typeIds","type":"uint16[]"},{"internalType":"uint256[]","name":"_maturities","type":"uint256[]"}],"name":"getCapsPerMarkets","outputs":[{"internalType":"uint256[]","name":"caps","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ticket","type":"address"},{"internalType":"uint256[]","name":"approvedOddsPerLeg","type":"uint256[]"},{"internalType":"bool[]","name":"isLegSettled","type":"bool[]"}],"name":"getCashoutQuoteAndPayout","outputs":[{"internalType":"uint256","name":"quote","type":"uint256"},{"internalType":"uint256","name":"payoutAfterFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address[]","name":"collateralAddresses","type":"address[]"}],"name":"getFreeBetsDataPerUser","outputs":[{"internalType":"uint256[]","name":"freeBetsAmountPerCollateral","type":"uint256[]"},{"internalType":"uint256[]","name":"freeBetsExpiryPerCollateral","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odds","type":"uint256"}],"internalType":"struct SportsAMMV2DataUtils.MarketStakeCalculationInput[]","name":"inputs","type":"tuple[]"}],"name":"getMaxStakeAndLiquidityBatch","outputs":[{"internalType":"uint256[]","name":"maxStakes","type":"uint256[]"},{"internalType":"uint256[]","name":"availableLiquidity","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getOnlyActiveGameIdsAndTicketsOf","outputs":[{"internalType":"bytes32[]","name":"activeGameIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"numOfTicketsPerGameId","type":"uint256[]"},{"internalType":"address[][]","name":"ticketsPerGameId","type":"address[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getResolvedTicketsDataPerUser","outputs":[{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2DataUtils.TicketData[]","name":"ticketsData","type":"tuple[]"},{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2DataUtils.TicketData[]","name":"freeBetsData","type":"tuple[]"},{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2DataUtils.TicketData[]","name":"stakingBettingProxyData","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint16[]","name":"_typeIds","type":"uint16[]"},{"internalType":"uint24[]","name":"_playerIds","type":"uint24[]"}],"name":"getResultsForMarkets","outputs":[{"internalType":"int24[][]","name":"resultsForMarkets","type":"int24[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"},{"internalType":"uint256[]","name":"_typeIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_playerIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_positions","type":"uint256[]"}],"name":"getRiskOnMarkets","outputs":[{"internalType":"int256[]","name":"riskAmounts","type":"int256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"_sportIds","type":"uint16[]"}],"name":"getSgpOnSportIdsEnabled","outputs":[{"internalType":"bool[]","name":"areEnabled","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_gameIds","type":"bytes32[]"}],"name":"getSpentOnGames","outputs":[{"internalType":"uint256[]","name":"spentAmounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSportsAMMParameters","outputs":[{"components":[{"internalType":"uint256","name":"minBuyInAmount","type":"uint256"},{"internalType":"uint256","name":"maxTicketSize","type":"uint256"},{"internalType":"uint256","name":"maxSupportedAmount","type":"uint256"},{"internalType":"uint256","name":"maxSupportedOdds","type":"uint256"},{"internalType":"uint256","name":"safeBoxFee","type":"uint256"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"uint256","name":"maxAllowedSystemCombinations","type":"uint256"}],"internalType":"struct SportsAMMV2Data.SportsAMMParameters","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"tickets","type":"address[]"}],"name":"getTicketLegStatesBatch","outputs":[{"components":[{"internalType":"address","name":"ticket","type":"address"},{"internalType":"bool[]","name":"resolved","type":"bool[]"},{"internalType":"bool[]","name":"voided","type":"bool[]"},{"internalType":"uint256[]","name":"marketOdds","type":"uint256[]"}],"internalType":"struct SportsAMMV2DataUtils.TicketLegState[]","name":"out","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"ticketsArray","type":"address[]"}],"name":"getTicketsData","outputs":[{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2DataUtils.TicketData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_pageSize","type":"uint256"}],"name":"getTicketsDataPerGame","outputs":[{"components":[{"internalType":"address","name":"id","type":"address"},{"components":[{"internalType":"bytes32","name":"gameId","type":"bytes32"},{"internalType":"uint16","name":"sportId","type":"uint16"},{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint256","name":"maturity","type":"uint256"},{"internalType":"int24","name":"line","type":"int24"},{"internalType":"uint24","name":"playerId","type":"uint24"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"uint256","name":"odd","type":"uint256"},{"components":[{"internalType":"uint16","name":"typeId","type":"uint16"},{"internalType":"uint8","name":"position","type":"uint8"},{"internalType":"int24","name":"line","type":"int24"}],"internalType":"struct ISportsAMMV2.CombinedPosition[]","name":"combinedPositions","type":"tuple[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketData[]","name":"marketsData","type":"tuple[]"},{"components":[{"internalType":"enum ISportsAMMV2ResultManager.MarketPositionStatus","name":"status","type":"uint8"},{"internalType":"int24[]","name":"results","type":"int24[]"}],"internalType":"struct SportsAMMV2DataUtils.MarketResult[]","name":"marketsResult","type":"tuple[]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"ticketOwner","type":"address"},{"internalType":"uint256","name":"buyInAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"uint256","name":"totalQuote","type":"uint256"},{"internalType":"uint256","name":"numOfMarkets","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"bool","name":"resolved","type":"bool"},{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"bool","name":"isLost","type":"bool"},{"internalType":"bool","name":"isUserTheWinner","type":"bool"},{"internalType":"bool","name":"isExercisable","type":"bool"},{"internalType":"uint256","name":"finalPayout","type":"uint256"},{"internalType":"bool","name":"isLive","type":"bool"},{"internalType":"bool","name":"isSystem","type":"bool"},{"internalType":"uint8","name":"systemBetDenominator","type":"uint8"},{"internalType":"bool","name":"isSGP","type":"bool"},{"internalType":"bool","name":"cashedOut","type":"bool"},{"internalType":"bool","name":"isPotentiallyCashoutable","type":"bool"}],"internalType":"struct SportsAMMV2DataUtils.TicketData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract ISportsAMMV2","name":"_sportsAMM","type":"address"},{"internalType":"contract ISportsAMMV2RiskManager","name":"_riskManager","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastPauseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"riskManager","outputs":[{"internalType":"contract ISportsAMMV2RiskManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ISportsAMMV2","name":"_sportsAMM","type":"address"},{"internalType":"contract ISportsAMMV2RiskManager","name":"_riskManager","type":"address"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract SportsAMMV2DataUtils","name":"_dataUtils","type":"address"}],"name":"setDataUtils","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sportsAMM","outputs":[{"internalType":"contract ISportsAMMV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"proxyAddress","type":"address"}],"name":"transferOwnershipAtInit","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506148b5806100206000396000f3fe608060405234801561001057600080fd5b50600436106101b05760003560e01c80638da5cb5b116100ef578063c0c53b8b11610092578063c0c53b8b14610410578063c3b83f5f14610423578063c992528814610436578063ddd576071461044e578063e211088414610470578063ec435e0314610483578063f39d03b8146104ab578063f518a5cf1461050b57600080fd5b80638da5cb5b1461035a57806390107afe1461036d57806391b4ded9146103805780639c683ebc14610397578063a597cb2d146103b7578063b60d3707146103ca578063b71a6cf9146103dd578063b7dab930146103fd57600080fd5b8063563b27c411610157578063563b27c41461028f5780635b615b2c146102af5780635c975abb146102c25780635fb1162d146102df578063604ab8b4146102ff5780636b43bc821461031f57806379ba50971461033f5780638b36b5d71461034757600080fd5b806312c9c702146101b557806313af4035146101de5780631627540c146101f357806316c38b3c1461020657806345e94eb814610219578063478426631461023b578063500ff14b1461025b57806353a47bb71461027c575b600080fd5b6101c86101c3366004612937565b61051e565b6040516101d59190612978565b60405180910390f35b6101f16101ec3660046129d3565b610643565b005b6101f16102013660046129d3565b61075f565b6101f1610214366004612a0e565b6107b2565b61022c610227366004612a2b565b610824565b6040516101d593929190612ab6565b60045461024e906001600160a01b031681565b6040516101d59190612b93565b61026e610269366004612ba7565b610949565b6040516101d5929190612c1c565b60015461024e906001600160a01b031681565b6102a261029d366004612937565b6109ff565b6040516101d59190612fb4565b61026e6102bd366004612fc7565b610aba565b6003546102cf9060ff1681565b60405190151581526020016101d5565b6102f26102ed36600461301b565b610bd7565b6040516101d591906130de565b61031261030d366004612a2b565b610d4d565b6040516101d59190613116565b61033261032d3660046133fe565b610e67565b6040516101d59190613485565b6101f1611068565b60055461024e906001600160a01b031681565b60005461024e906001600160a01b031681565b6101f161037b3660046134e7565b611140565b61038960025481565b6040519081526020016101d5565b6103aa6103a5366004612937565b6111c5565b6040516101d59190613552565b6101f16103c53660046129d3565b611267565b6102a26103d8366004613631565b6112ba565b6103f06103eb366004612937565b6114f2565b6040516101d5919061365d565b6103f061040b36600461301b565b6115f9565b6101f161041e366004613670565b6117a1565b6101f16104313660046129d3565b6118f0565b60035461024e9061010090046001600160a01b031681565b61046161045c3660046136bb565b6119e0565b6040516101d5939291906136f0565b61046161047e3660046136bb565b611d3c565b610496610491366004613733565b611f2a565b604080519283526020830191909152016101d5565b6104b3612120565b6040516101d59190600060e082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151151560a083015260c083015160c083015292915050565b6101c86105193660046137cf565b6124d5565b6060816001600160401b0381111561053857610538613179565b604051908082528060200260200182016040528015610561578160200160208202803683370190505b50905060005b8281101561063c576004546001600160a01b031663035478d2858584818110610592576105926138d7565b90506020020160208101906105a791906138ed565b6040516001600160e01b031960e084901b16815261ffff9091166004820152602401602060405180830381865afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190613915565b82828151811061061c5761061c6138d7565b9115156020928302919091019091015261063581613932565b9050610567565b5092915050565b6001600160a01b03811661069a5760405162461bcd60e51b815260206004820152601960248201527804f776e657220616464726573732063616e6e6f74206265203603c1b60448201526064015b60405180910390fd5b600154600160a01b900460ff16156107065760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610691565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b0383166001600160a01b031990911617815560405160008051602061486083398151915291610754918490613959565b60405180910390a150565b6107676127ba565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610754908390612b93565b6107ba6127ba565b60035460ff16151581151514610821576003805460ff191682151590811790915560ff16156107e857426002555b60035460405160ff909116151581527f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec590602001610754565b50565b600554606090819081906001600160a01b03166108535760405162461bcd60e51b815260040161069190613973565b6005546003546040805163481c6a7560e01b815290516001600160a01b039384169363042ea2f0936101009004169163481c6a759160048083019260209291908290030181865afa1580156108ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d0919061399e565b898989896040518663ffffffff1660e01b81526004016108f49594939291906139ed565b600060405180830381865afa158015610911573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109399190810190613b6f565b9250925092509450945094915050565b60055460609081906001600160a01b03166109765760405162461bcd60e51b815260040161069190613973565b60055460048054604051639c27e08360e01b81526001600160a01b0393841693639c27e083936109ae93909116918991899101613c5e565b600060405180830381865afa1580156109cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109f39190810190613d4a565b915091505b9250929050565b6005546060906001600160a01b0316610a2a5760405162461bcd60e51b815260040161069190613973565b600554600354600480546040516317a6e46f60e21b81526001600160a01b0394851694635e9b91bc94610a6e94610100909104821693909116918991899101613deb565b600060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ab3919081019061415b565b9392505050565b60055460609081906001600160a01b0316610ae75760405162461bcd60e51b815260040161069190613973565b6005546003546040805163ce18a83760e01b815290516001600160a01b039384169363a2396855936101009004169163ce18a8379160048083019260209291908290030181865afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b64919061399e565b8787876040518563ffffffff1660e01b8152600401610b869493929190613deb565b600060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bcb9190810190613d4a565b91509150935093915050565b6060876001600160401b03811115610bf157610bf1613179565b604051908082528060200260200182016040528015610c1a578160200160208202803683370190505b50905060005b88811015610d40576004546001600160a01b031663ca9ef2e68b8b84818110610c4b57610c4b6138d7565b905060200201358a8a85818110610c6457610c646138d7565b90506020020135898986818110610c7d57610c7d6138d7565b90506020020135888887818110610c9657610c966138d7565b905060200201356040518563ffffffff1660e01b8152600401610cd2949392919093845260208401929092526040830152606082015260800190565b602060405180830381865afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1391906143c6565b828281518110610d2557610d256138d7565b6020908102919091010152610d3981613932565b9050610c20565b5098975050505050505050565b6005546060906001600160a01b0316610d785760405162461bcd60e51b815260040161069190613973565b6005546003546040805163481c6a7560e01b815290516001600160a01b03938416936377804b80936101009004169163481c6a759160048083019260209291908290030181865afa158015610dd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df5919061399e565b878787876040518663ffffffff1660e01b8152600401610e199594939291906139ed565b600060405180830381865afa158015610e36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e5e91908101906143df565b95945050505050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee2919061399e565b905083518551148015610ef6575082518451145b156110605784516001600160401b03811115610f1457610f14613179565b604051908082528060200260200182016040528015610f4757816020015b6060815260200190600190039081610f325790505b50915060005b855181101561105e57816001600160a01b031663514b7563878381518110610f7757610f776138d7565b6020026020010151878481518110610f9157610f916138d7565b6020026020010151878581518110610fab57610fab6138d7565b60200260200101516040518463ffffffff1660e01b8152600401610feb9392919092835261ffff91909116602083015262ffffff16604082015260600190565b600060405180830381865afa158015611008573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261103091908101906144b9565b838281518110611042576110426138d7565b60200260200101819052508061105790613932565b9050610f4d565b505b509392505050565b6001546001600160a01b031633146110e05760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610691565b60005460015460405160008051602061486083398151915292611111926001600160a01b0391821692911690613959565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6111486127ba565b60038054610100600160a81b0319166101006001600160a01b038581169190910291909117909155600480546001600160a01b0319169183169190911790556040517fc651c70f44278e4b6b346230d2fcc09308ad801d6dc8b9c055f45581b3609075906111b99084908490613959565b60405180910390a15050565b6005546060906001600160a01b03166111f05760405162461bcd60e51b815260040161069190613973565b60055460405163271a0faf60e21b81526001600160a01b0390911690639c683ebc9061122290869086906004016144f5565b600060405180830381865afa15801561123f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ab3919081019061456d565b61126f6127ba565b600580546001600160a01b0319166001600160a01b0383161790556040517fdd6652770ae79532ea23bee492c97311681a09e6e2d92d1b4c5785af1593e35d90610754908390612b93565b6005546060906001600160a01b03166112e55760405162461bcd60e51b815260040161069190613973565b6000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa15801561133a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135e919061399e565b604051635c3aa11b60e01b8152600481018790529091506000906001600160a01b03831690635c3aa11b90602401602060405180830381865afa1580156113a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cd91906143c6565b90508084116113dc57836113de565b805b604051633a30376f60e11b81526004810187905260248101829052604481018890529094506000906001600160a01b038416906374606ede90606401600060405180830381865afa158015611437573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261145f91908101906146a5565b600554600354600480546040516317a6e46f60e21b81529495506001600160a01b0393841694635e9b91bc946114a29461010090048116939216918791016146d9565b600060405180830381865afa1580156114bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114e7919081019061415b565b979650505050505050565b6060816001600160401b0381111561150c5761150c613179565b604051908082528060200260200182016040528015611535578160200160208202803683370190505b50905060005b8281101561063c576004546001600160a01b03166305954ad4858584818110611566576115666138d7565b905060200201356040518263ffffffff1660e01b815260040161158b91815260200190565b602060405180830381865afa1580156115a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cc91906143c6565b8282815181106115de576115de6138d7565b60209081029190910101526115f281613932565b905061153b565b6060876001600160401b0381111561161357611613613179565b60405190808252806020026020018201604052801561163c578160200160208202803683370190505b50905060005b88811015610d40576004546001600160a01b03166359dc82578b8b8481811061166d5761166d6138d7565b905060200201358a8a85818110611686576116866138d7565b905060200201602081019061169b91906138ed565b8989868181106116ad576116ad6138d7565b90506020020160208101906116c291906138ed565b6000808a8a898181106116d7576116d76138d7565b60405160e08a901b6001600160e01b0319168152600481019890985261ffff968716602489015294909516604487015262ffffff92909216606486015260020b60848501526020909102013560a483015250600060c482015260e401602060405180830381865afa158015611750573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177491906143c6565b828281518110611786576117866138d7565b602090810291909101015261179a81613932565b9050611642565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156117e65750825b90506000826001600160401b031660011480156118025750303b155b905081158015611810575080155b1561182e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561185857845460ff60401b1916600160401b1785555b61186188610643565b60038054610100600160a81b0319166101006001600160a01b038a81169190910291909117909155600480546001600160a01b03191691881691909117905583156118e657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b6118f86127ba565b6001600160a01b0381166119405760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610691565b600154600160a81b900460ff16156119905760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610691565b600080546001600160a01b0383166001600160a01b031990911681179091556001805460ff60a81b1916600160a81b17905560405160008051602061486083398151915291610754918490613959565b600554606090819081906001600160a01b0316611a0f5760405162461bcd60e51b815260040161069190613973565b6000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a88919061399e565b6001600160a01b031663485b23bf87878a6040518463ffffffff1660e01b8152600401611ab79392919061472d565b600060405180830381865afa158015611ad4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611afc91908101906146a5565b90506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b77919061399e565b6001600160a01b031663485b23bf88888b6040518463ffffffff1660e01b8152600401611ba69392919061472d565b600060405180830381865afa158015611bc3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611beb91908101906146a5565b600554600354600480546040516317a6e46f60e21b81529495506001600160a01b0393841694635e9b91bc94611c2e9461010090048116939216918791016146d9565b600060405180830381865afa158015611c4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c73919081019061415b565b600554600354600480546040516317a6e46f60e21b81529499506001600160a01b0393841694635e9b91bc94611cb69461010090048116939216918891016146d9565b600060405180830381865afa158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb919081019061415b565b60408051600080825260208201909252919550611d2e565b611d1b61282e565b815260200190600190039081611d135790505b509250505093509350939050565b600554606090819081906001600160a01b0316611d6b5760405162461bcd60e51b815260040161069190613973565b6000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de4919061399e565b6001600160a01b031663dd37861d87878a6040518463ffffffff1660e01b8152600401611e139392919061472d565b600060405180830381865afa158015611e30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e5891908101906146a5565b90506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed3919061399e565b6001600160a01b031663dd37861d88888b6040518463ffffffff1660e01b8152600401611ba69392919061472d565b611f0a61282e565b815260200190600190039081611f02579050509250505093509350939050565b6000806000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa6919061399e565b604051634a322f0d60e01b81529091506001600160a01b03821690634a322f0d90611fd5908b90600401612b93565b602060405180830381865afa158015611ff2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120169190613915565b158061208c5750604051631f939b2d60e01b81526001600160a01b03821690631f939b2d90612049908b90600401612b93565b602060405180830381865afa158015612066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208a9190613915565b155b1561209e576000809250925050612116565b604051630789477d60e21b81526001600160a01b03891690631e251df4906120d0908a908a908a908a9060040161474c565b6040805180830381865afa1580156120ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612110919061479d565b92509250505b9550959350505050565b6121626040518060e001604052806000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b6040518060e00160405280600460009054906101000a90046001600160a01b03166001600160a01b031663c6334f9f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e491906143c6565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166341dcd5fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561223c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226091906143c6565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b031663422f96bf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122dc91906143c6565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e88698bf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612334573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235891906143c6565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b03166338ea71036040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d491906143c6565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561242c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124509190613915565b15158152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e20222136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ce91906143c6565b9052919050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612550919061399e565b604080516000808252602082019092529192509081612597565b604080516060810182526000808252602080830182905292820152825260001990920191018161256a5790505b509050855187511480156125ac575084518651145b156127b05786516001600160401b038111156125ca576125ca613179565b6040519080825280602002602001820160405280156125f3578160200160208202803683370190505b50925060005b87518110156127ae576000836001600160a01b031663914008bc898481518110612625576126256138d7565b60200260200101516040518263ffffffff1660e01b8152600401612653919061ffff91909116815260200190565b602060405180830381865afa158015612670573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269491906147c1565b905060ff811660031461279d57836001600160a01b031663397f78238a84815181106126c2576126c26138d7565b60200260200101518a85815181106126dc576126dc6138d7565b60200260200101518a86815181106126f6576126f66138d7565b60200260200101518a8781518110612710576127106138d7565b6020026020010151886040518663ffffffff1660e01b81526004016127399594939291906147de565b602060405180830381865afa158015612756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277a9190613915565b85838151811061278c5761278c6138d7565b911515602092830291909101909101525b506127a781613932565b90506125f9565b505b5050949350505050565b6000546001600160a01b0316331461282c5760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610691565b565b604080516103008101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081018290526102408101829052610260810182905261028081018290526102a081018290526102c081018290526102e081019190915290565b60008083601f84011261290557600080fd5b5081356001600160401b0381111561291c57600080fd5b6020830191508360208260051b85010111156109f857600080fd5b6000806020838503121561294a57600080fd5b82356001600160401b0381111561296057600080fd5b61296c858286016128f3565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156129b2578351151583529284019291840191600101612994565b50909695505050505050565b6001600160a01b038116811461082157600080fd5b6000602082840312156129e557600080fd5b8135610ab3816129be565b801515811461082157600080fd5b8035612a09816129f0565b919050565b600060208284031215612a2057600080fd5b8135610ab3816129f0565b60008060008060608587031215612a4157600080fd5b84356001600160401b03811115612a5757600080fd5b612a63878288016128f3565b90989097506020870135966040013595509350505050565b600081518084526020808501945080840160005b83811015612aab57815187529582019590820190600101612a8f565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b82811015612aef57815184529284019290840190600101612ad3565b50505083810382850152612b038187612a7b565b905083810360408501528085518083528383019150838160051b84010184880160005b83811015612b8357858303601f1901855281518051808552908801908885019060005b81811015612b6e5783516001600160a01b03168352928a0192918a0191600101612b49565b50509588019593505090860190600101612b26565b50909a9950505050505050505050565b6001600160a01b0391909116815260200190565b60008060208385031215612bba57600080fd5b82356001600160401b0380821115612bd157600080fd5b818501915085601f830112612be557600080fd5b813581811115612bf457600080fd5b86602061012083028501011115612c0a57600080fd5b60209290920196919550909350505050565b604081526000612c2f6040830185612a7b565b8281036020840152610e5e8185612a7b565b600081518084526020808501945080840160005b83811015612aab578151805161ffff16885260208082015160ff169089015260409081015160020b9088015260608701965090820190600101612c55565b600081518084526020808501808196508360051b8101915082860160005b85811015612d5357828403895281516101208151865286820151612cda8888018261ffff169052565b5060408281015161ffff16908701526060808301519087015260808083015160020b9087015260a08083015162ffffff169087015260c08083015160ff169087015260e0808301519087015261010091820151918601819052612d3f81870183612c41565b9a87019a9550505090840190600101612cb1565b5091979650505050505050565b600081518084526020808501945080840160005b83811015612aab57815160020b87529582019590820190600101612d74565b600081518084526020808501808196508360051b810191508286016000805b86811015612e0f578385038a528251604081516004808210612de157634e487b7160e01b865260218152602486fd5b5087529087015187870182905290612dfb81880183612d60565b9b88019b9650505091850191600101612db2565b509298975050505050505050565b600081518084526020808501808196508360051b8101915082860160005b85811015612d53578284038952815180516001600160a01b03168552610300868201518188880152612e6f82880182612c93565b91505060408083015187830382890152612e898382612d93565b92505050606080830151612ea7828901826001600160a01b03169052565b50506080828101516001600160a01b03169087015260a0808301519087015260c0808301519087015260e0808301519087015261010080830151908701526101208083015190870152610140808301519087015261016080830151151590870152610180808301511515908701526101a0808301511515908701526101c0808301511515908701526101e08083015115159087015261020080830151151590870152610220808301519087015261024080830151151590870152610260808301511515908701526102808083015160ff16908701526102a0808301511515908701526102c0808301511515908701526102e091820151151591909501529784019790840190600101612e3b565b602081526000610ab36020830184612e1d565b600080600060408486031215612fdc57600080fd5b8335612fe7816129be565b925060208401356001600160401b0381111561300257600080fd5b61300e868287016128f3565b9497909650939450505050565b6000806000806000806000806080898b03121561303757600080fd5b88356001600160401b038082111561304e57600080fd5b61305a8c838d016128f3565b909a50985060208b013591508082111561307357600080fd5b61307f8c838d016128f3565b909850965060408b013591508082111561309857600080fd5b6130a48c838d016128f3565b909650945060608b01359150808211156130bd57600080fd5b506130ca8b828c016128f3565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b818110156129b2578351835292840192918401916001016130fa565b602080825282518282018190526000919060409081850190868401855b82811015612d53578151805185528681015161ffff16878601528581015162ffffff168686015260609081015160020b9085015260809093019290850190600101613133565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156131b1576131b1613179565b60405290565b60405161012081016001600160401b03811182821017156131b1576131b1613179565b604080519081016001600160401b03811182821017156131b1576131b1613179565b60405161030081016001600160401b03811182821017156131b1576131b1613179565b604051608081016001600160401b03811182821017156131b1576131b1613179565b604051601f8201601f191681016001600160401b038111828210171561326957613269613179565b604052919050565b60006001600160401b0382111561328a5761328a613179565b5060051b60200190565b600082601f8301126132a557600080fd5b813560206132ba6132b583613271565b613241565b82815260059290921b840181019181810190868411156132d957600080fd5b8286015b848110156132f457803583529183019183016132dd565b509695505050505050565b61ffff8116811461082157600080fd5b8035612a09816132ff565b600082601f83011261332b57600080fd5b8135602061333b6132b583613271565b82815260059290921b8401810191818101908684111561335a57600080fd5b8286015b848110156132f4578035613371816132ff565b835291830191830161335e565b62ffffff8116811461082157600080fd5b8035612a098161337e565b600082601f8301126133ab57600080fd5b813560206133bb6132b583613271565b82815260059290921b840181019181810190868411156133da57600080fd5b8286015b848110156132f45780356133f18161337e565b83529183019183016133de565b60008060006060848603121561341357600080fd5b83356001600160401b038082111561342a57600080fd5b61343687838801613294565b9450602086013591508082111561344c57600080fd5b6134588783880161331a565b9350604086013591508082111561346e57600080fd5b5061347b8682870161339a565b9150509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156134da57603f198886030184526134c8858351612d60565b945092850192908501906001016134ac565b5092979650505050505050565b600080604083850312156134fa57600080fd5b8235613505816129be565b91506020830135613515816129be565b809150509250929050565b600081518084526020808501945080840160005b83811015612aab578151151587529582019590820190600101613534565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561362257898403603f19018652825180516001600160a01b031685528881015160808a8701819052906135b382880182613520565b915050888201518682038a8801526135cb8282613520565b606093840151888203948901949094528351808252938c0193869350908c0191505b8083101561360d5783518252928b019260019290920191908b01906135ed565b50978a0197955050509187019160010161357a565b50919998505050505050505050565b60008060006060848603121561364657600080fd5b505081359360208301359350604090920135919050565b602081526000610ab36020830184612a7b565b60008060006060848603121561368557600080fd5b8335613690816129be565b925060208401356136a0816129be565b915060408401356136b0816129be565b809150509250925092565b6000806000606084860312156136d057600080fd5b83356136db816129be565b95602085013595506040909401359392505050565b6060815260006137036060830186612e1d565b82810360208401526137158186612e1d565b905082810360408401526137298185612e1d565b9695505050505050565b60008060008060006060868803121561374b57600080fd5b8535613756816129be565b945060208601356001600160401b038082111561377257600080fd5b61377e89838a016128f3565b9096509450604088013591508082111561379757600080fd5b506137a4888289016128f3565b969995985093965092949392505050565b8060020b811461082157600080fd5b8035612a09816137b5565b600080600080608085870312156137e557600080fd5b84356001600160401b03808211156137fc57600080fd5b61380888838901613294565b955060209150818701358181111561381f57600080fd5b61382b89828a0161331a565b95505060408701358181111561384057600080fd5b61384c89828a0161339a565b94505060608701358181111561386157600080fd5b87019050601f8101881361387457600080fd5b80356138826132b582613271565b81815260059190911b8201830190838101908a8311156138a157600080fd5b928401925b828410156138c85783356138b9816137b5565b825292840192908401906138a6565b979a9699509497505050505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156138ff57600080fd5b8135610ab3816132ff565b8051612a09816129f0565b60006020828403121561392757600080fd5b8151610ab3816129f0565b60006001820161395257634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b0392831681529116602082015260400190565b60208082526011908201527011185d18555d1a5b1cc81b9bdd081cd95d607a1b604082015260600190565b6000602082840312156139b057600080fd5b8151610ab3816129be565b81835260006001600160fb1b038311156139d457600080fd5b8260051b80836020870137939093016020019392505050565b6001600160a01b0386168152608060208201819052600090613a1290830186886139bb565b604083019490945250606001529392505050565b600082601f830112613a3757600080fd5b81516020613a476132b583613271565b82815260059290921b84018101918181019086841115613a6657600080fd5b8286015b848110156132f45780518352918301918301613a6a565b8051612a09816129be565b600082601f830112613a9d57600080fd5b81516020613aad6132b583613271565b82815260059290921b84018101918181019086841115613acc57600080fd5b8286015b848110156132f4578051613ae3816129be565b8352918301918301613ad0565b600082601f830112613b0157600080fd5b81516020613b116132b583613271565b82815260059290921b84018101918181019086841115613b3057600080fd5b8286015b848110156132f45780516001600160401b03811115613b535760008081fd5b613b618986838b0101613a8c565b845250918301918301613b34565b600080600060608486031215613b8457600080fd5b83516001600160401b0380821115613b9b57600080fd5b818601915086601f830112613baf57600080fd5b81516020613bbf6132b583613271565b82815260059290921b8401810191818101908a841115613bde57600080fd5b948201945b83861015613bfc57855182529482019490820190613be3565b91890151919750909350505080821115613c1557600080fd5b613c2187838801613a26565b93506040860151915080821115613c3757600080fd5b5061347b86828701613af0565b60ff8116811461082157600080fd5b8035612a0981613c44565b6001600160a01b0384168152604060208083018290528282018490526000919060609081850187855b88811015613d3b578135835283820135613ca0816132ff565b61ffff1683850152613cb382870161330f565b61ffff1686840152613cc682860161338f565b62ffffff16858401526080613cdc8382016137c4565b613cea8286018260020b9052565b505060a0828101359084015260c0613d038184016129fe565b15159084015260e0613d16838201613c53565b60ff169084015261010082810135908401526101209283019290910190600101613c87565b50909998505050505050505050565b60008060408385031215613d5d57600080fd5b82516001600160401b0380821115613d7457600080fd5b613d8086838701613a26565b93506020850151915080821115613d9657600080fd5b50613da385828601613a26565b9150509250929050565b8183526000602080850194508260005b85811015612aab578135613dd0816129be565b6001600160a01b031687529582019590820190600101613dbd565b6001600160a01b038581168252841660208201526060604082018190526000906137299083018486613dad565b8051612a09816132ff565b8051612a09816137b5565b8051612a098161337e565b8051612a0981613c44565b600082601f830112613e5557600080fd5b81516020613e656132b583613271565b82815260609283028501820192828201919087851115613e8457600080fd5b8387015b85811015613ee65781818a031215613ea05760008081fd5b613ea861318f565b8151613eb3816132ff565b815281860151613ec281613c44565b81870152604082810151613ed5816137b5565b908201528452928401928101613e88565b5090979650505050505050565b600082601f830112613f0457600080fd5b81516020613f146132b583613271565b82815260059290921b84018101918181019086841115613f3357600080fd5b8286015b848110156132f45780516001600160401b0380821115613f575760008081fd5b90880190610120828b03601f1901811315613f725760008081fd5b613f7a6131b7565b8784015181526040613f8d818601613e18565b898301526060613f9e818701613e18565b828401526080915081860151818401525060a0613fbc818701613e23565b8284015260c09150613fcf828701613e2e565b9083015260e0613fe0868201613e39565b828401526101009150818601518184015250828501519250838311156140065760008081fd5b6140148d8a85880101613e44565b908201528652505050918301918301613f37565b600082601f83011261403957600080fd5b815160206140496132b583613271565b82815260059290921b8401810191818101908684111561406857600080fd5b8286015b848110156132f457805161407f816137b5565b835291830191830161406c565b600082601f83011261409d57600080fd5b815160206140ad6132b583613271565b82815260059290921b840181019181810190868411156140cc57600080fd5b8286015b848110156132f45780516001600160401b03808211156140f05760008081fd5b908801906040828b03601f190181131561410a5760008081fd5b6141126131da565b87840151600481106141245760008081fd5b81529083015190828211156141395760008081fd5b6141478c8984870101614028565b8189015286525050509183019183016140d0565b6000602080838503121561416e57600080fd5b82516001600160401b038082111561418557600080fd5b818501915085601f83011261419957600080fd5b81516141a76132b582613271565b81815260059190911b830184019084810190888311156141c657600080fd5b8585015b83811015610d40578051858111156141e157600080fd5b8601610300818c03601f19018113156141f957600080fd5b6142016131fc565b61420c8a8401613a81565b81526040830151888111156142215760008081fd5b61422f8e8c83870101613ef3565b8b83015250606080840151898111156142485760008081fd5b6142568f8d8388010161408c565b6040840152506080614269818601613a81565b8284015260a0915061427c828601613a81565b818401525060c0808501518284015260e0915081850151818401525061010080850151828401526101209150818501518184015250610140808501518284015261016091508185015181840152506101806142d881860161390a565b828401526101a091506142ec82860161390a565b908301526101c06142fe85820161390a565b828401526101e0915061431282860161390a565b9083015261020061432485820161390a565b82840152610220915061433882860161390a565b81840152506102408085015182840152610260915061435882860161390a565b9083015261028061436a85820161390a565b828401526102a0915061437e828601613e39565b908301526102c061439085820161390a565b828401526102e091506143a482860161390a565b908301526143b384840161390a565b90820152855250509186019186016141ca565b6000602082840312156143d857600080fd5b5051919050565b600060208083850312156143f257600080fd5b82516001600160401b0381111561440857600080fd5b8301601f8101851361441957600080fd5b80516144276132b582613271565b81815260079190911b8201830190838101908783111561444657600080fd5b928401925b828410156114e757608084890312156144645760008081fd5b61446c61321f565b845181528585015161447d816132ff565b818701526040858101516144908161337e565b908201526060858101516144a3816137b5565b908201528252608093909301929084019061444b565b6000602082840312156144cb57600080fd5b81516001600160401b038111156144e157600080fd5b6144ed84828501614028565b949350505050565b6020815260006144ed602083018486613dad565b600082601f83011261451a57600080fd5b8151602061452a6132b583613271565b82815260059290921b8401810191818101908684111561454957600080fd5b8286015b848110156132f4578051614560816129f0565b835291830191830161454d565b6000602080838503121561458057600080fd5b82516001600160401b038082111561459757600080fd5b818501915085601f8301126145ab57600080fd5b81516145b96132b582613271565b81815260059190911b830184019084810190888311156145d857600080fd5b8585015b83811015610d40578051858111156145f357600080fd5b86016080818c03601f1901121561460a5760008081fd5b61461261321f565b8882015161461f816129be565b8152604082810151888111156146355760008081fd5b6146438e8c83870101614509565b8b840152506060808401518981111561465c5760008081fd5b61466a8f8d83880101614509565b838501525060808401519150888211156146845760008081fd5b6146928e8c84870101613a26565b90830152508452509186019186016145dc565b6000602082840312156146b757600080fd5b81516001600160401b038111156146cd57600080fd5b6144ed84828501613a8c565b60006060820160018060a01b03808716845260208187168186015260606040860152828651808552608087019150828801945060005b81811015613d3b57855185168352948301949183019160010161470f565b92835260208301919091526001600160a01b0316604082015260600190565b6040815260006147606040830186886139bb565b8281036020848101919091528482528591810160005b86811015610d40578335614789816129f0565b151582529282019290820190600101614776565b600080604083850312156147b057600080fd5b505080516020909101519092909150565b6000602082840312156147d357600080fd5b8151610ab381613c44565b600060a08201878352602061ffff88168185015262ffffff871660408501528560020b606085015260a0608085015281855180845260c086019150828701935060005b81811015612b83578451805161ffff16845260208082015160ff169085015260409081015160020b908401526060830194840194925060010161482156feb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159ca26469706673582212203b9400f870881023845320d57a8762ea97b7be888f91634b7418d4aa9b7269fc64736f6c63430008140033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101b05760003560e01c80638da5cb5b116100ef578063c0c53b8b11610092578063c0c53b8b14610410578063c3b83f5f14610423578063c992528814610436578063ddd576071461044e578063e211088414610470578063ec435e0314610483578063f39d03b8146104ab578063f518a5cf1461050b57600080fd5b80638da5cb5b1461035a57806390107afe1461036d57806391b4ded9146103805780639c683ebc14610397578063a597cb2d146103b7578063b60d3707146103ca578063b71a6cf9146103dd578063b7dab930146103fd57600080fd5b8063563b27c411610157578063563b27c41461028f5780635b615b2c146102af5780635c975abb146102c25780635fb1162d146102df578063604ab8b4146102ff5780636b43bc821461031f57806379ba50971461033f5780638b36b5d71461034757600080fd5b806312c9c702146101b557806313af4035146101de5780631627540c146101f357806316c38b3c1461020657806345e94eb814610219578063478426631461023b578063500ff14b1461025b57806353a47bb71461027c575b600080fd5b6101c86101c3366004612937565b61051e565b6040516101d59190612978565b60405180910390f35b6101f16101ec3660046129d3565b610643565b005b6101f16102013660046129d3565b61075f565b6101f1610214366004612a0e565b6107b2565b61022c610227366004612a2b565b610824565b6040516101d593929190612ab6565b60045461024e906001600160a01b031681565b6040516101d59190612b93565b61026e610269366004612ba7565b610949565b6040516101d5929190612c1c565b60015461024e906001600160a01b031681565b6102a261029d366004612937565b6109ff565b6040516101d59190612fb4565b61026e6102bd366004612fc7565b610aba565b6003546102cf9060ff1681565b60405190151581526020016101d5565b6102f26102ed36600461301b565b610bd7565b6040516101d591906130de565b61031261030d366004612a2b565b610d4d565b6040516101d59190613116565b61033261032d3660046133fe565b610e67565b6040516101d59190613485565b6101f1611068565b60055461024e906001600160a01b031681565b60005461024e906001600160a01b031681565b6101f161037b3660046134e7565b611140565b61038960025481565b6040519081526020016101d5565b6103aa6103a5366004612937565b6111c5565b6040516101d59190613552565b6101f16103c53660046129d3565b611267565b6102a26103d8366004613631565b6112ba565b6103f06103eb366004612937565b6114f2565b6040516101d5919061365d565b6103f061040b36600461301b565b6115f9565b6101f161041e366004613670565b6117a1565b6101f16104313660046129d3565b6118f0565b60035461024e9061010090046001600160a01b031681565b61046161045c3660046136bb565b6119e0565b6040516101d5939291906136f0565b61046161047e3660046136bb565b611d3c565b610496610491366004613733565b611f2a565b604080519283526020830191909152016101d5565b6104b3612120565b6040516101d59190600060e082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151151560a083015260c083015160c083015292915050565b6101c86105193660046137cf565b6124d5565b6060816001600160401b0381111561053857610538613179565b604051908082528060200260200182016040528015610561578160200160208202803683370190505b50905060005b8281101561063c576004546001600160a01b031663035478d2858584818110610592576105926138d7565b90506020020160208101906105a791906138ed565b6040516001600160e01b031960e084901b16815261ffff9091166004820152602401602060405180830381865afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190613915565b82828151811061061c5761061c6138d7565b9115156020928302919091019091015261063581613932565b9050610567565b5092915050565b6001600160a01b03811661069a5760405162461bcd60e51b815260206004820152601960248201527804f776e657220616464726573732063616e6e6f74206265203603c1b60448201526064015b60405180910390fd5b600154600160a01b900460ff16156107065760405162461bcd60e51b815260206004820152602960248201527f416c726561647920696e697469616c697a65642c20757365206e6f6d696e617460448201526832a732bba7bbb732b960b91b6064820152608401610691565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b0383166001600160a01b031990911617815560405160008051602061486083398151915291610754918490613959565b60405180910390a150565b6107676127ba565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610754908390612b93565b6107ba6127ba565b60035460ff16151581151514610821576003805460ff191682151590811790915560ff16156107e857426002555b60035460405160ff909116151581527f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec590602001610754565b50565b600554606090819081906001600160a01b03166108535760405162461bcd60e51b815260040161069190613973565b6005546003546040805163481c6a7560e01b815290516001600160a01b039384169363042ea2f0936101009004169163481c6a759160048083019260209291908290030181865afa1580156108ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d0919061399e565b898989896040518663ffffffff1660e01b81526004016108f49594939291906139ed565b600060405180830381865afa158015610911573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109399190810190613b6f565b9250925092509450945094915050565b60055460609081906001600160a01b03166109765760405162461bcd60e51b815260040161069190613973565b60055460048054604051639c27e08360e01b81526001600160a01b0393841693639c27e083936109ae93909116918991899101613c5e565b600060405180830381865afa1580156109cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109f39190810190613d4a565b915091505b9250929050565b6005546060906001600160a01b0316610a2a5760405162461bcd60e51b815260040161069190613973565b600554600354600480546040516317a6e46f60e21b81526001600160a01b0394851694635e9b91bc94610a6e94610100909104821693909116918991899101613deb565b600060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ab3919081019061415b565b9392505050565b60055460609081906001600160a01b0316610ae75760405162461bcd60e51b815260040161069190613973565b6005546003546040805163ce18a83760e01b815290516001600160a01b039384169363a2396855936101009004169163ce18a8379160048083019260209291908290030181865afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b64919061399e565b8787876040518563ffffffff1660e01b8152600401610b869493929190613deb565b600060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bcb9190810190613d4a565b91509150935093915050565b6060876001600160401b03811115610bf157610bf1613179565b604051908082528060200260200182016040528015610c1a578160200160208202803683370190505b50905060005b88811015610d40576004546001600160a01b031663ca9ef2e68b8b84818110610c4b57610c4b6138d7565b905060200201358a8a85818110610c6457610c646138d7565b90506020020135898986818110610c7d57610c7d6138d7565b90506020020135888887818110610c9657610c966138d7565b905060200201356040518563ffffffff1660e01b8152600401610cd2949392919093845260208401929092526040830152606082015260800190565b602060405180830381865afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1391906143c6565b828281518110610d2557610d256138d7565b6020908102919091010152610d3981613932565b9050610c20565b5098975050505050505050565b6005546060906001600160a01b0316610d785760405162461bcd60e51b815260040161069190613973565b6005546003546040805163481c6a7560e01b815290516001600160a01b03938416936377804b80936101009004169163481c6a759160048083019260209291908290030181865afa158015610dd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df5919061399e565b878787876040518663ffffffff1660e01b8152600401610e199594939291906139ed565b600060405180830381865afa158015610e36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e5e91908101906143df565b95945050505050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee2919061399e565b905083518551148015610ef6575082518451145b156110605784516001600160401b03811115610f1457610f14613179565b604051908082528060200260200182016040528015610f4757816020015b6060815260200190600190039081610f325790505b50915060005b855181101561105e57816001600160a01b031663514b7563878381518110610f7757610f776138d7565b6020026020010151878481518110610f9157610f916138d7565b6020026020010151878581518110610fab57610fab6138d7565b60200260200101516040518463ffffffff1660e01b8152600401610feb9392919092835261ffff91909116602083015262ffffff16604082015260600190565b600060405180830381865afa158015611008573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261103091908101906144b9565b838281518110611042576110426138d7565b60200260200101819052508061105790613932565b9050610f4d565b505b509392505050565b6001546001600160a01b031633146110e05760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610691565b60005460015460405160008051602061486083398151915292611111926001600160a01b0391821692911690613959565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6111486127ba565b60038054610100600160a81b0319166101006001600160a01b038581169190910291909117909155600480546001600160a01b0319169183169190911790556040517fc651c70f44278e4b6b346230d2fcc09308ad801d6dc8b9c055f45581b3609075906111b99084908490613959565b60405180910390a15050565b6005546060906001600160a01b03166111f05760405162461bcd60e51b815260040161069190613973565b60055460405163271a0faf60e21b81526001600160a01b0390911690639c683ebc9061122290869086906004016144f5565b600060405180830381865afa15801561123f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ab3919081019061456d565b61126f6127ba565b600580546001600160a01b0319166001600160a01b0383161790556040517fdd6652770ae79532ea23bee492c97311681a09e6e2d92d1b4c5785af1593e35d90610754908390612b93565b6005546060906001600160a01b03166112e55760405162461bcd60e51b815260040161069190613973565b6000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa15801561133a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135e919061399e565b604051635c3aa11b60e01b8152600481018790529091506000906001600160a01b03831690635c3aa11b90602401602060405180830381865afa1580156113a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cd91906143c6565b90508084116113dc57836113de565b805b604051633a30376f60e11b81526004810187905260248101829052604481018890529094506000906001600160a01b038416906374606ede90606401600060405180830381865afa158015611437573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261145f91908101906146a5565b600554600354600480546040516317a6e46f60e21b81529495506001600160a01b0393841694635e9b91bc946114a29461010090048116939216918791016146d9565b600060405180830381865afa1580156114bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114e7919081019061415b565b979650505050505050565b6060816001600160401b0381111561150c5761150c613179565b604051908082528060200260200182016040528015611535578160200160208202803683370190505b50905060005b8281101561063c576004546001600160a01b03166305954ad4858584818110611566576115666138d7565b905060200201356040518263ffffffff1660e01b815260040161158b91815260200190565b602060405180830381865afa1580156115a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cc91906143c6565b8282815181106115de576115de6138d7565b60209081029190910101526115f281613932565b905061153b565b6060876001600160401b0381111561161357611613613179565b60405190808252806020026020018201604052801561163c578160200160208202803683370190505b50905060005b88811015610d40576004546001600160a01b03166359dc82578b8b8481811061166d5761166d6138d7565b905060200201358a8a85818110611686576116866138d7565b905060200201602081019061169b91906138ed565b8989868181106116ad576116ad6138d7565b90506020020160208101906116c291906138ed565b6000808a8a898181106116d7576116d76138d7565b60405160e08a901b6001600160e01b0319168152600481019890985261ffff968716602489015294909516604487015262ffffff92909216606486015260020b60848501526020909102013560a483015250600060c482015260e401602060405180830381865afa158015611750573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177491906143c6565b828281518110611786576117866138d7565b602090810291909101015261179a81613932565b9050611642565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156117e65750825b90506000826001600160401b031660011480156118025750303b155b905081158015611810575080155b1561182e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561185857845460ff60401b1916600160401b1785555b61186188610643565b60038054610100600160a81b0319166101006001600160a01b038a81169190910291909117909155600480546001600160a01b03191691881691909117905583156118e657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b6118f86127ba565b6001600160a01b0381166119405760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610691565b600154600160a81b900460ff16156119905760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481d1c985b9cd9995c9c9959606a1b6044820152606401610691565b600080546001600160a01b0383166001600160a01b031990911681179091556001805460ff60a81b1916600160a81b17905560405160008051602061486083398151915291610754918490613959565b600554606090819081906001600160a01b0316611a0f5760405162461bcd60e51b815260040161069190613973565b6000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a88919061399e565b6001600160a01b031663485b23bf87878a6040518463ffffffff1660e01b8152600401611ab79392919061472d565b600060405180830381865afa158015611ad4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611afc91908101906146a5565b90506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b77919061399e565b6001600160a01b031663485b23bf88888b6040518463ffffffff1660e01b8152600401611ba69392919061472d565b600060405180830381865afa158015611bc3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611beb91908101906146a5565b600554600354600480546040516317a6e46f60e21b81529495506001600160a01b0393841694635e9b91bc94611c2e9461010090048116939216918791016146d9565b600060405180830381865afa158015611c4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c73919081019061415b565b600554600354600480546040516317a6e46f60e21b81529499506001600160a01b0393841694635e9b91bc94611cb69461010090048116939216918891016146d9565b600060405180830381865afa158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb919081019061415b565b60408051600080825260208201909252919550611d2e565b611d1b61282e565b815260200190600190039081611d135790505b509250505093509350939050565b600554606090819081906001600160a01b0316611d6b5760405162461bcd60e51b815260040161069190613973565b6000600360019054906101000a90046001600160a01b03166001600160a01b031663ce18a8376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de4919061399e565b6001600160a01b031663dd37861d87878a6040518463ffffffff1660e01b8152600401611e139392919061472d565b600060405180830381865afa158015611e30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e5891908101906146a5565b90506000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed3919061399e565b6001600160a01b031663dd37861d88888b6040518463ffffffff1660e01b8152600401611ba69392919061472d565b611f0a61282e565b815260200190600190039081611f02579050509250505093509350939050565b6000806000600360019054906101000a90046001600160a01b03166001600160a01b031663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa6919061399e565b604051634a322f0d60e01b81529091506001600160a01b03821690634a322f0d90611fd5908b90600401612b93565b602060405180830381865afa158015611ff2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120169190613915565b158061208c5750604051631f939b2d60e01b81526001600160a01b03821690631f939b2d90612049908b90600401612b93565b602060405180830381865afa158015612066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208a9190613915565b155b1561209e576000809250925050612116565b604051630789477d60e21b81526001600160a01b03891690631e251df4906120d0908a908a908a908a9060040161474c565b6040805180830381865afa1580156120ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612110919061479d565b92509250505b9550959350505050565b6121626040518060e001604052806000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b6040518060e00160405280600460009054906101000a90046001600160a01b03166001600160a01b031663c6334f9f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e491906143c6565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166341dcd5fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561223c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226091906143c6565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b031663422f96bf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122dc91906143c6565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e88698bf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612334573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235891906143c6565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b03166338ea71036040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d491906143c6565b8152602001600360019054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561242c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124509190613915565b15158152602001600460009054906101000a90046001600160a01b03166001600160a01b031663e20222136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ce91906143c6565b9052919050565b60606000600360019054906101000a90046001600160a01b03166001600160a01b0316638ff9d5cf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612550919061399e565b604080516000808252602082019092529192509081612597565b604080516060810182526000808252602080830182905292820152825260001990920191018161256a5790505b509050855187511480156125ac575084518651145b156127b05786516001600160401b038111156125ca576125ca613179565b6040519080825280602002602001820160405280156125f3578160200160208202803683370190505b50925060005b87518110156127ae576000836001600160a01b031663914008bc898481518110612625576126256138d7565b60200260200101516040518263ffffffff1660e01b8152600401612653919061ffff91909116815260200190565b602060405180830381865afa158015612670573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269491906147c1565b905060ff811660031461279d57836001600160a01b031663397f78238a84815181106126c2576126c26138d7565b60200260200101518a85815181106126dc576126dc6138d7565b60200260200101518a86815181106126f6576126f66138d7565b60200260200101518a8781518110612710576127106138d7565b6020026020010151886040518663ffffffff1660e01b81526004016127399594939291906147de565b602060405180830381865afa158015612756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277a9190613915565b85838151811061278c5761278c6138d7565b911515602092830291909101909101525b506127a781613932565b90506125f9565b505b5050949350505050565b6000546001600160a01b0316331461282c5760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610691565b565b604080516103008101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081018290526102408101829052610260810182905261028081018290526102a081018290526102c081018290526102e081019190915290565b60008083601f84011261290557600080fd5b5081356001600160401b0381111561291c57600080fd5b6020830191508360208260051b85010111156109f857600080fd5b6000806020838503121561294a57600080fd5b82356001600160401b0381111561296057600080fd5b61296c858286016128f3565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156129b2578351151583529284019291840191600101612994565b50909695505050505050565b6001600160a01b038116811461082157600080fd5b6000602082840312156129e557600080fd5b8135610ab3816129be565b801515811461082157600080fd5b8035612a09816129f0565b919050565b600060208284031215612a2057600080fd5b8135610ab3816129f0565b60008060008060608587031215612a4157600080fd5b84356001600160401b03811115612a5757600080fd5b612a63878288016128f3565b90989097506020870135966040013595509350505050565b600081518084526020808501945080840160005b83811015612aab57815187529582019590820190600101612a8f565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b82811015612aef57815184529284019290840190600101612ad3565b50505083810382850152612b038187612a7b565b905083810360408501528085518083528383019150838160051b84010184880160005b83811015612b8357858303601f1901855281518051808552908801908885019060005b81811015612b6e5783516001600160a01b03168352928a0192918a0191600101612b49565b50509588019593505090860190600101612b26565b50909a9950505050505050505050565b6001600160a01b0391909116815260200190565b60008060208385031215612bba57600080fd5b82356001600160401b0380821115612bd157600080fd5b818501915085601f830112612be557600080fd5b813581811115612bf457600080fd5b86602061012083028501011115612c0a57600080fd5b60209290920196919550909350505050565b604081526000612c2f6040830185612a7b565b8281036020840152610e5e8185612a7b565b600081518084526020808501945080840160005b83811015612aab578151805161ffff16885260208082015160ff169089015260409081015160020b9088015260608701965090820190600101612c55565b600081518084526020808501808196508360051b8101915082860160005b85811015612d5357828403895281516101208151865286820151612cda8888018261ffff169052565b5060408281015161ffff16908701526060808301519087015260808083015160020b9087015260a08083015162ffffff169087015260c08083015160ff169087015260e0808301519087015261010091820151918601819052612d3f81870183612c41565b9a87019a9550505090840190600101612cb1565b5091979650505050505050565b600081518084526020808501945080840160005b83811015612aab57815160020b87529582019590820190600101612d74565b600081518084526020808501808196508360051b810191508286016000805b86811015612e0f578385038a528251604081516004808210612de157634e487b7160e01b865260218152602486fd5b5087529087015187870182905290612dfb81880183612d60565b9b88019b9650505091850191600101612db2565b509298975050505050505050565b600081518084526020808501808196508360051b8101915082860160005b85811015612d53578284038952815180516001600160a01b03168552610300868201518188880152612e6f82880182612c93565b91505060408083015187830382890152612e898382612d93565b92505050606080830151612ea7828901826001600160a01b03169052565b50506080828101516001600160a01b03169087015260a0808301519087015260c0808301519087015260e0808301519087015261010080830151908701526101208083015190870152610140808301519087015261016080830151151590870152610180808301511515908701526101a0808301511515908701526101c0808301511515908701526101e08083015115159087015261020080830151151590870152610220808301519087015261024080830151151590870152610260808301511515908701526102808083015160ff16908701526102a0808301511515908701526102c0808301511515908701526102e091820151151591909501529784019790840190600101612e3b565b602081526000610ab36020830184612e1d565b600080600060408486031215612fdc57600080fd5b8335612fe7816129be565b925060208401356001600160401b0381111561300257600080fd5b61300e868287016128f3565b9497909650939450505050565b6000806000806000806000806080898b03121561303757600080fd5b88356001600160401b038082111561304e57600080fd5b61305a8c838d016128f3565b909a50985060208b013591508082111561307357600080fd5b61307f8c838d016128f3565b909850965060408b013591508082111561309857600080fd5b6130a48c838d016128f3565b909650945060608b01359150808211156130bd57600080fd5b506130ca8b828c016128f3565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b818110156129b2578351835292840192918401916001016130fa565b602080825282518282018190526000919060409081850190868401855b82811015612d53578151805185528681015161ffff16878601528581015162ffffff168686015260609081015160020b9085015260809093019290850190600101613133565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156131b1576131b1613179565b60405290565b60405161012081016001600160401b03811182821017156131b1576131b1613179565b604080519081016001600160401b03811182821017156131b1576131b1613179565b60405161030081016001600160401b03811182821017156131b1576131b1613179565b604051608081016001600160401b03811182821017156131b1576131b1613179565b604051601f8201601f191681016001600160401b038111828210171561326957613269613179565b604052919050565b60006001600160401b0382111561328a5761328a613179565b5060051b60200190565b600082601f8301126132a557600080fd5b813560206132ba6132b583613271565b613241565b82815260059290921b840181019181810190868411156132d957600080fd5b8286015b848110156132f457803583529183019183016132dd565b509695505050505050565b61ffff8116811461082157600080fd5b8035612a09816132ff565b600082601f83011261332b57600080fd5b8135602061333b6132b583613271565b82815260059290921b8401810191818101908684111561335a57600080fd5b8286015b848110156132f4578035613371816132ff565b835291830191830161335e565b62ffffff8116811461082157600080fd5b8035612a098161337e565b600082601f8301126133ab57600080fd5b813560206133bb6132b583613271565b82815260059290921b840181019181810190868411156133da57600080fd5b8286015b848110156132f45780356133f18161337e565b83529183019183016133de565b60008060006060848603121561341357600080fd5b83356001600160401b038082111561342a57600080fd5b61343687838801613294565b9450602086013591508082111561344c57600080fd5b6134588783880161331a565b9350604086013591508082111561346e57600080fd5b5061347b8682870161339a565b9150509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156134da57603f198886030184526134c8858351612d60565b945092850192908501906001016134ac565b5092979650505050505050565b600080604083850312156134fa57600080fd5b8235613505816129be565b91506020830135613515816129be565b809150509250929050565b600081518084526020808501945080840160005b83811015612aab578151151587529582019590820190600101613534565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561362257898403603f19018652825180516001600160a01b031685528881015160808a8701819052906135b382880182613520565b915050888201518682038a8801526135cb8282613520565b606093840151888203948901949094528351808252938c0193869350908c0191505b8083101561360d5783518252928b019260019290920191908b01906135ed565b50978a0197955050509187019160010161357a565b50919998505050505050505050565b60008060006060848603121561364657600080fd5b505081359360208301359350604090920135919050565b602081526000610ab36020830184612a7b565b60008060006060848603121561368557600080fd5b8335613690816129be565b925060208401356136a0816129be565b915060408401356136b0816129be565b809150509250925092565b6000806000606084860312156136d057600080fd5b83356136db816129be565b95602085013595506040909401359392505050565b6060815260006137036060830186612e1d565b82810360208401526137158186612e1d565b905082810360408401526137298185612e1d565b9695505050505050565b60008060008060006060868803121561374b57600080fd5b8535613756816129be565b945060208601356001600160401b038082111561377257600080fd5b61377e89838a016128f3565b9096509450604088013591508082111561379757600080fd5b506137a4888289016128f3565b969995985093965092949392505050565b8060020b811461082157600080fd5b8035612a09816137b5565b600080600080608085870312156137e557600080fd5b84356001600160401b03808211156137fc57600080fd5b61380888838901613294565b955060209150818701358181111561381f57600080fd5b61382b89828a0161331a565b95505060408701358181111561384057600080fd5b61384c89828a0161339a565b94505060608701358181111561386157600080fd5b87019050601f8101881361387457600080fd5b80356138826132b582613271565b81815260059190911b8201830190838101908a8311156138a157600080fd5b928401925b828410156138c85783356138b9816137b5565b825292840192908401906138a6565b979a9699509497505050505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156138ff57600080fd5b8135610ab3816132ff565b8051612a09816129f0565b60006020828403121561392757600080fd5b8151610ab3816129f0565b60006001820161395257634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b0392831681529116602082015260400190565b60208082526011908201527011185d18555d1a5b1cc81b9bdd081cd95d607a1b604082015260600190565b6000602082840312156139b057600080fd5b8151610ab3816129be565b81835260006001600160fb1b038311156139d457600080fd5b8260051b80836020870137939093016020019392505050565b6001600160a01b0386168152608060208201819052600090613a1290830186886139bb565b604083019490945250606001529392505050565b600082601f830112613a3757600080fd5b81516020613a476132b583613271565b82815260059290921b84018101918181019086841115613a6657600080fd5b8286015b848110156132f45780518352918301918301613a6a565b8051612a09816129be565b600082601f830112613a9d57600080fd5b81516020613aad6132b583613271565b82815260059290921b84018101918181019086841115613acc57600080fd5b8286015b848110156132f4578051613ae3816129be565b8352918301918301613ad0565b600082601f830112613b0157600080fd5b81516020613b116132b583613271565b82815260059290921b84018101918181019086841115613b3057600080fd5b8286015b848110156132f45780516001600160401b03811115613b535760008081fd5b613b618986838b0101613a8c565b845250918301918301613b34565b600080600060608486031215613b8457600080fd5b83516001600160401b0380821115613b9b57600080fd5b818601915086601f830112613baf57600080fd5b81516020613bbf6132b583613271565b82815260059290921b8401810191818101908a841115613bde57600080fd5b948201945b83861015613bfc57855182529482019490820190613be3565b91890151919750909350505080821115613c1557600080fd5b613c2187838801613a26565b93506040860151915080821115613c3757600080fd5b5061347b86828701613af0565b60ff8116811461082157600080fd5b8035612a0981613c44565b6001600160a01b0384168152604060208083018290528282018490526000919060609081850187855b88811015613d3b578135835283820135613ca0816132ff565b61ffff1683850152613cb382870161330f565b61ffff1686840152613cc682860161338f565b62ffffff16858401526080613cdc8382016137c4565b613cea8286018260020b9052565b505060a0828101359084015260c0613d038184016129fe565b15159084015260e0613d16838201613c53565b60ff169084015261010082810135908401526101209283019290910190600101613c87565b50909998505050505050505050565b60008060408385031215613d5d57600080fd5b82516001600160401b0380821115613d7457600080fd5b613d8086838701613a26565b93506020850151915080821115613d9657600080fd5b50613da385828601613a26565b9150509250929050565b8183526000602080850194508260005b85811015612aab578135613dd0816129be565b6001600160a01b031687529582019590820190600101613dbd565b6001600160a01b038581168252841660208201526060604082018190526000906137299083018486613dad565b8051612a09816132ff565b8051612a09816137b5565b8051612a098161337e565b8051612a0981613c44565b600082601f830112613e5557600080fd5b81516020613e656132b583613271565b82815260609283028501820192828201919087851115613e8457600080fd5b8387015b85811015613ee65781818a031215613ea05760008081fd5b613ea861318f565b8151613eb3816132ff565b815281860151613ec281613c44565b81870152604082810151613ed5816137b5565b908201528452928401928101613e88565b5090979650505050505050565b600082601f830112613f0457600080fd5b81516020613f146132b583613271565b82815260059290921b84018101918181019086841115613f3357600080fd5b8286015b848110156132f45780516001600160401b0380821115613f575760008081fd5b90880190610120828b03601f1901811315613f725760008081fd5b613f7a6131b7565b8784015181526040613f8d818601613e18565b898301526060613f9e818701613e18565b828401526080915081860151818401525060a0613fbc818701613e23565b8284015260c09150613fcf828701613e2e565b9083015260e0613fe0868201613e39565b828401526101009150818601518184015250828501519250838311156140065760008081fd5b6140148d8a85880101613e44565b908201528652505050918301918301613f37565b600082601f83011261403957600080fd5b815160206140496132b583613271565b82815260059290921b8401810191818101908684111561406857600080fd5b8286015b848110156132f457805161407f816137b5565b835291830191830161406c565b600082601f83011261409d57600080fd5b815160206140ad6132b583613271565b82815260059290921b840181019181810190868411156140cc57600080fd5b8286015b848110156132f45780516001600160401b03808211156140f05760008081fd5b908801906040828b03601f190181131561410a5760008081fd5b6141126131da565b87840151600481106141245760008081fd5b81529083015190828211156141395760008081fd5b6141478c8984870101614028565b8189015286525050509183019183016140d0565b6000602080838503121561416e57600080fd5b82516001600160401b038082111561418557600080fd5b818501915085601f83011261419957600080fd5b81516141a76132b582613271565b81815260059190911b830184019084810190888311156141c657600080fd5b8585015b83811015610d40578051858111156141e157600080fd5b8601610300818c03601f19018113156141f957600080fd5b6142016131fc565b61420c8a8401613a81565b81526040830151888111156142215760008081fd5b61422f8e8c83870101613ef3565b8b83015250606080840151898111156142485760008081fd5b6142568f8d8388010161408c565b6040840152506080614269818601613a81565b8284015260a0915061427c828601613a81565b818401525060c0808501518284015260e0915081850151818401525061010080850151828401526101209150818501518184015250610140808501518284015261016091508185015181840152506101806142d881860161390a565b828401526101a091506142ec82860161390a565b908301526101c06142fe85820161390a565b828401526101e0915061431282860161390a565b9083015261020061432485820161390a565b82840152610220915061433882860161390a565b81840152506102408085015182840152610260915061435882860161390a565b9083015261028061436a85820161390a565b828401526102a0915061437e828601613e39565b908301526102c061439085820161390a565b828401526102e091506143a482860161390a565b908301526143b384840161390a565b90820152855250509186019186016141ca565b6000602082840312156143d857600080fd5b5051919050565b600060208083850312156143f257600080fd5b82516001600160401b0381111561440857600080fd5b8301601f8101851361441957600080fd5b80516144276132b582613271565b81815260079190911b8201830190838101908783111561444657600080fd5b928401925b828410156114e757608084890312156144645760008081fd5b61446c61321f565b845181528585015161447d816132ff565b818701526040858101516144908161337e565b908201526060858101516144a3816137b5565b908201528252608093909301929084019061444b565b6000602082840312156144cb57600080fd5b81516001600160401b038111156144e157600080fd5b6144ed84828501614028565b949350505050565b6020815260006144ed602083018486613dad565b600082601f83011261451a57600080fd5b8151602061452a6132b583613271565b82815260059290921b8401810191818101908684111561454957600080fd5b8286015b848110156132f4578051614560816129f0565b835291830191830161454d565b6000602080838503121561458057600080fd5b82516001600160401b038082111561459757600080fd5b818501915085601f8301126145ab57600080fd5b81516145b96132b582613271565b81815260059190911b830184019084810190888311156145d857600080fd5b8585015b83811015610d40578051858111156145f357600080fd5b86016080818c03601f1901121561460a5760008081fd5b61461261321f565b8882015161461f816129be565b8152604082810151888111156146355760008081fd5b6146438e8c83870101614509565b8b840152506060808401518981111561465c5760008081fd5b61466a8f8d83880101614509565b838501525060808401519150888211156146845760008081fd5b6146928e8c84870101613a26565b90830152508452509186019186016145dc565b6000602082840312156146b757600080fd5b81516001600160401b038111156146cd57600080fd5b6144ed84828501613a8c565b60006060820160018060a01b03808716845260208187168186015260606040860152828651808552608087019150828801945060005b81811015613d3b57855185168352948301949183019160010161470f565b92835260208301919091526001600160a01b0316604082015260600190565b6040815260006147606040830186886139bb565b8281036020848101919091528482528591810160005b86811015610d40578335614789816129f0565b151582529282019290820190600101614776565b600080604083850312156147b057600080fd5b505080516020909101519092909150565b6000602082840312156147d357600080fd5b8151610ab381613c44565b600060a08201878352602061ffff88168185015262ffffff871660408501528560020b606085015260a0608085015281855180845260c086019150828701935060005b81811015612b83578451805161ffff16845260208082015160ff169085015260409081015160020b908401526060830194840194925060010161482156feb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159ca26469706673582212203b9400f870881023845320d57a8762ea97b7be888f91634b7418d4aa9b7269fc64736f6c63430008140033
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 30 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

