Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,503 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Amuse | 10231609 | 1777 days ago | IN | 0 ETH | 0.01686594 | ||||
Amuse | 10229576 | 1777 days ago | IN | 0 ETH | 0.01696448 | ||||
Amuse | 10229504 | 1777 days ago | IN | 0 ETH | 0.02629495 | ||||
Amuse | 10226404 | 1778 days ago | IN | 0 ETH | 0.00909106 | ||||
Amuse | 10225808 | 1778 days ago | IN | 0 ETH | 0.02071758 | ||||
Amuse | 10225044 | 1778 days ago | IN | 0 ETH | 0.02248792 | ||||
Amuse | 10223078 | 1778 days ago | IN | 0 ETH | 0.02544672 | ||||
Amuse | 10221550 | 1779 days ago | IN | 0 ETH | 0.01680719 | ||||
Amuse | 10221100 | 1779 days ago | IN | 0 ETH | 0.00661836 | ||||
Amuse | 10219396 | 1779 days ago | IN | 0 ETH | 0.0139358 | ||||
Amuse | 10219396 | 1779 days ago | IN | 0 ETH | 0.0139358 | ||||
Amuse | 10219311 | 1779 days ago | IN | 0 ETH | 0.02663689 | ||||
Amuse | 10219276 | 1779 days ago | IN | 0 ETH | 0.02651852 | ||||
Amuse | 10219276 | 1779 days ago | IN | 0 ETH | 0.02336922 | ||||
Amuse | 10218792 | 1779 days ago | IN | 0 ETH | 0.01346824 | ||||
Amuse | 10218782 | 1779 days ago | IN | 0 ETH | 0.02018289 | ||||
Amuse | 10218781 | 1779 days ago | IN | 0 ETH | 0.02081289 | ||||
Amuse | 10218575 | 1779 days ago | IN | 0 ETH | 0.02323604 | ||||
Amuse | 10217710 | 1779 days ago | IN | 0 ETH | 0.01281201 | ||||
Amuse | 10216608 | 1779 days ago | IN | 0 ETH | 0.01866093 | ||||
Amuse | 10216240 | 1780 days ago | IN | 0 ETH | 0.01611626 | ||||
Amuse | 10216150 | 1780 days ago | IN | 0 ETH | 0.00814828 | ||||
Amuse | 10216095 | 1780 days ago | IN | 0 ETH | 0.03084452 | ||||
Amuse | 10213435 | 1780 days ago | IN | 0 ETH | 0.01191304 | ||||
Amuse | 10213387 | 1780 days ago | IN | 0 ETH | 0.0094951 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
- | 10208255 | 1781 days ago | 0.7693344 ETH | ||||
- | 10208255 | 1781 days ago | 0.0320556 ETH | ||||
- | 10208247 | 1781 days ago | 0.19008 ETH | ||||
- | 10208247 | 1781 days ago | 0.00192 ETH | ||||
- | 10208217 | 1781 days ago | 0.1089 ETH | ||||
- | 10208217 | 1781 days ago | 0.0011 ETH | ||||
- | 10207335 | 1781 days ago | 1.458147 ETH | ||||
- | 10207335 | 1781 days ago | 0.109753 ETH | ||||
- | 10206974 | 1781 days ago | 0.554976 ETH | ||||
- | 10206974 | 1781 days ago | 0.035424 ETH | ||||
- | 10206904 | 1781 days ago | 0.342 ETH | ||||
- | 10206904 | 1781 days ago | 0.018 ETH | ||||
- | 10206810 | 1781 days ago | 0.3096 ETH | ||||
- | 10206810 | 1781 days ago | 0.0504 ETH | ||||
- | 10206781 | 1781 days ago | 1.19935 ETH | ||||
- | 10206781 | 1781 days ago | 0.21165 ETH | ||||
- | 10206750 | 1781 days ago | 0.324 ETH | ||||
- | 10206750 | 1781 days ago | 0.036 ETH | ||||
- | 10206664 | 1781 days ago | 1.15134 ETH | ||||
- | 10206664 | 1781 days ago | 0.08666 ETH | ||||
- | 10206631 | 1781 days ago | 0.17472 ETH | ||||
- | 10206631 | 1781 days ago | 0.01728 ETH | ||||
- | 10206472 | 1781 days ago | 0.05544 ETH | ||||
- | 10206472 | 1781 days ago | 0.00056 ETH | ||||
- | 10206336 | 1781 days ago | 0.18432 ETH |
Loading...
Loading
This contract contains unverified libraries: UtilELG
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
ELG
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-04-13 */ pragma solidity ^0.5.17; /* https://elgame.cc */ contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor() internal {} // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address) { return msg.sender; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { /* https://elgame.cc */ address private _owner; address private nextOwner; /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = _msgSender(); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return _msgSender() == _owner; } // Standard contract ownership transfer implementation, function approveNextOwner(address _nextOwner) external onlyOwner { require(_nextOwner != _owner, "Cannot approve current owner."); nextOwner = _nextOwner; } function acceptNextOwner() external { require(msg.sender == nextOwner, "Can only accept preapproved new owner."); _owner = nextOwner; } } /** * @title Roles * @dev Library for managing addresses assigned to a Role. */ library Roles { struct Role { mapping(address => bool) bearer; } /** * @dev Give an account access to this role. */ function add(Role storage role, address account) internal { require(!has(role, account), "Roles: account already has role"); role.bearer[account] = true; } /** * @dev Remove an account's access to this role. */ function remove(Role storage role, address account) internal { require(has(role, account), "Roles: account does not have role"); role.bearer[account] = false; } /** * @dev Check if an account has this role. * @return bool */ function has(Role storage role, address account) internal view returns (bool) { require(account != address(0), "Roles: account is the zero address"); return role.bearer[account]; } } /** * @title WhitelistAdminRole * @dev WhitelistAdmins are responsible for assigning and removing Whitelisted accounts. */ contract WhitelistAdminRole is Context, Ownable { /* https://elgame.cc */ using Roles for Roles.Role; Roles.Role private _whitelistAdmins; constructor () internal { } modifier onlyWhitelistAdmin() { require(isWhitelistAdmin(_msgSender()) || isOwner(), "WhitelistAdminRole: caller does not have the WhitelistAdmin role"); _; } function isWhitelistAdmin(address account) public view returns (bool) { return _whitelistAdmins.has(account) || isOwner(); } function addWhitelistAdmin(address account) public onlyOwner { _whitelistAdmins.add(account); } function removeWhitelistAdmin(address account) public onlyOwner { _whitelistAdmins.remove(account); } } contract ELG is WhitelistAdminRole { /* https://elgame.cc */ using SafeMath for *; uint ethWei = 1 ether; address payable private devAddr = address(0x1dACD4B4837Fa90b343F6fe97BB87Fa7b21C034C); address payable private comfortAddr = address(0xC0b314fd11F79fEDfDE8318686034ed60AD309a3); struct User { uint id; address userAddress; uint userType; uint freezeAmount; uint freeAmount; uint inviteAmonut; uint shareAmount; uint bonusAmount; uint dayBonAmount; uint dayInvAmount; uint level; uint resTime; string inviteCode; string beCode; uint allAward; uint lastRwTime; uint investTimes; uint[] branchUid; uint staticTims; } struct UserGlobal { uint id; address userAddress; string inviteCode; string beCode; uint status; } uint startTime; mapping(uint => uint) rInvestCount; mapping(uint => uint) rInvestMoney; uint period = 1 days; uint uid = 0; uint rid = 1; mapping(uint => mapping(address => User)) userRoundMapping; mapping(address => UserGlobal) userMapping; mapping(string => address) addressMapping; mapping(uint => address) indexMapping; uint bonuslimit = 30 ether; uint sendLimit = 100 ether; uint withdrawLimit = 30 ether; uint canSetStartTime = 1; mapping(uint => uint) public maxValMapping; modifier isHuman() { address addr = msg.sender; uint codeLength; assembly {codeLength := extcodesize(addr)} require(codeLength == 0, "sorry, humans only"); require(tx.origin == msg.sender, "sorry, humans only"); _; } constructor (address _addr, string memory inviteCode) public { registerUser(_addr, inviteCode, ""); } function() external payable { } function flle(uint[] calldata times, uint[] calldata values) external onlyWhitelistAdmin { for(uint i=0; i < times.length ; i++){ maxValMapping[times[i]] = values[i]; } } function door(uint time) external onlyOwner { require(canSetStartTime == 1, "can not set start time again"); require(time > now, "invalid game start time"); startTime = time; canSetStartTime = 0; } function sorrow(address payable _dev, address payable _com) external onlyOwner { devAddr = _dev; comfortAddr = _com; } function isGameStarted() public view returns (bool) { return startTime != 0 && now > startTime; } function actAllLimit(uint bonusLi, uint sendLi, uint withdrawLi) external onlyOwner { require(bonusLi >= 30 ether && sendLi >= 100 ether && withdrawLi >= 30 ether, "invalid amount"); bonuslimit = bonusLi; sendLimit = sendLi; withdrawLimit = withdrawLi; } function believe(address addr, uint status) external onlyWhitelistAdmin { require(status == 0 || status == 1 || status == 2, "bad parameter status"); UserGlobal storage userGlobal = userMapping[addr]; userGlobal.status = status; } function abide(string memory inviteCode, string memory beCode, uint userType) public isHuman() payable { require(isGameStarted(), "game not start"); require(msg.value >= 1 ether,"greater than 1"); require(msg.value == msg.value.div(ethWei).mul(ethWei), "invalid msg value"); require(userType == 1 || userType == 2, "invalid userType"); UserGlobal storage userGlobal = userMapping[msg.sender]; if (userGlobal.id == 0) { require(!UtilELG.compareStr(inviteCode, " ") && bytes(inviteCode).length == 6, "invalid invite code"); address beCodeAddr = addressMapping[beCode]; require(isUsed(beCode), "beCode not exist"); require(beCodeAddr != msg.sender, "beCodeAddr can't be self"); require(!isUsed(inviteCode), "invite code is used"); registerUser(msg.sender, inviteCode, beCode); } User storage user = userRoundMapping[rid][msg.sender]; if(userType == 1 || user.userType == 1){ require(user.freezeAmount.add(msg.value) <= maxValMapping[user.staticTims] * ethWei, "No more than MaxValue"); } require(user.freezeAmount.add(msg.value) <= 30 ether, "No more than 30"); if (user.id != 0) { if (user.freezeAmount == 0) { user.userType = userType; user.allAward = 0; user.resTime = now; user.lastRwTime = now; } user.freezeAmount = user.freezeAmount.add(msg.value); user.level = UtilELG.getLevel(user.freezeAmount); } else { user.id = userGlobal.id; user.userAddress = msg.sender; user.freezeAmount = msg.value; user.level = UtilELG.getLevel(msg.value); user.inviteCode = userGlobal.inviteCode; user.beCode = userGlobal.beCode; user.userType = userType; user.resTime = now; user.lastRwTime = now; address beCodeAddr = addressMapping[userGlobal.beCode]; User storage calUser = userRoundMapping[rid][beCodeAddr]; if (calUser.id != 0) { calUser.branchUid.push(userGlobal.id); } } rInvestCount[rid] = rInvestCount[rid].add(1); rInvestMoney[rid] = rInvestMoney[rid].add(msg.value); ventura(msg.value); trend(user.userAddress, msg.value); } function astonishment() external isHuman() { require(isGameStarted(), "game not start"); User storage user = userRoundMapping[rid][msg.sender]; require(user.freeAmount >= 1 ether, "User has no freeAmount"); bool isEnough = false; uint resultMoney = 0; (isEnough, resultMoney) = isEnoughBalance(user.freeAmount); if (resultMoney > 0 && resultMoney <= withdrawLimit) { sendMoneyToUser(msg.sender, resultMoney); user.freeAmount = 0; } } function reject(uint userType) external { User storage user = userRoundMapping[rid][msg.sender]; require(userType == 1 || userType == 2, "invalid userType"); require(user.userType != userType, "Same state"); require(user.freezeAmount > 0, "freezeAmount must be greater than 0"); if (user.userType == 1 && userType == 2) { user.userType = 2; user.investTimes = 0; user.resTime = now; address tmpUserAddr = addressMapping[user.beCode]; User storage calUser = userRoundMapping[rid][tmpUserAddr]; UserGlobal storage userGlobal = userMapping[msg.sender]; UserGlobal storage calUserGlobal = userMapping[tmpUserAddr]; if (calUser.freezeAmount >= 1 ether && calUser.userType == 2 && calUser.level >= user.level && userGlobal.status == 0 && calUserGlobal.status == 0) { bool isOut = false; uint resultSend = 0; (isOut, resultSend) = raid(tmpUserAddr, user.freezeAmount.div(10)); sendToAddr(resultSend, tmpUserAddr); calUser.shareAmount = calUser.shareAmount.add(resultSend); if (!isOut) { calUser.allAward = calUser.allAward.add(resultSend); } } } if (user.userType == 2 && userType == 1) { require((user.allAward.add(ethWei.mul(5).div(4))) <= user.freezeAmount, "Less reward than principal 5/4 ether"); uint balance = user.freezeAmount.sub(user.allAward); require(balance <= 30 ether, "invalid amount"); balance = balance.mul(4).div(5); user.userType = 1; user.investTimes = 0; user.freezeAmount = balance.div(ethWei).mul(ethWei); user.level = UtilELG.getLevel(user.freezeAmount); uint scale = UtilELG.getScByLevel(user.level); user.dayInvAmount = 0; user.dayBonAmount = user.freezeAmount.mul(scale).div(1000); user.allAward = 0; } } function trend(address userAddr, uint investAmount) private { User storage user = userRoundMapping[rid][userAddr]; if (user.id == 0) { return; } uint scale = UtilELG.getScByLevel(user.level); user.dayBonAmount = user.freezeAmount.mul(scale).div(1000); user.investTimes = 0; address tmpUserAddr = addressMapping[user.beCode]; User storage calUser = userRoundMapping[rid][tmpUserAddr]; UserGlobal storage userGlobal = userMapping[userAddr]; UserGlobal storage calUserGlobal = userMapping[tmpUserAddr]; if (calUser.freezeAmount >= 1 ether && calUser.userType == 2 && user.userType == 2 && calUser.level >= user.level && userGlobal.status == 0 && calUserGlobal.status == 0) { bool isOut = false; uint resultSend = 0; (isOut, resultSend) = raid(calUser.userAddress, investAmount.div(10)); sendToAddr(resultSend, calUser.userAddress); calUser.shareAmount = calUser.shareAmount.add(resultSend); if (!isOut) { calUser.allAward = calUser.allAward.add(resultSend); } } } function amuse() external isHuman { combat(msg.sender); } function clarify(uint start, uint end) external onlyWhitelistAdmin { for (uint i = end; i >= start; i--) { address userAddr = indexMapping[i]; combat(userAddr); } } function combat(address addr) private { require(isGameStarted(), "game not start"); User storage user = userRoundMapping[rid][addr]; UserGlobal memory userGlobal = userMapping[addr]; if (isWhitelistAdmin(msg.sender)) { if (now.sub(user.lastRwTime) <= 23 hours.add(58 minutes) || user.id == 0 || userGlobal.id == 0) { return; } } else { require(user.id > 0, "Users of the game are not betting in this round"); require(now.sub(user.lastRwTime) >= 23 hours.add(58 minutes), "Can only be extracted once in 24 hours"); } user.lastRwTime = now; if (userGlobal.status == 1) { return; } uint awardSend = 0; uint scale = UtilELG.getScByLevel(user.level); uint freezeAmount = user.freezeAmount; if (user.freezeAmount >= 1 ether && user.freezeAmount <= bonuslimit) { if ((user.userType == 1 && user.investTimes < 5) || user.userType == 2) { awardSend = awardSend.add(user.dayBonAmount); user.bonusAmount = user.bonusAmount.add(user.dayBonAmount); if (user.userType == 1) { user.investTimes = user.investTimes.add(1); } } if (user.userType == 1 && user.investTimes >= 5) { user.freeAmount = user.freeAmount.add(user.freezeAmount); user.freezeAmount = 0; user.dayBonAmount = 0; user.level = 0; user.userType = 0; user.staticTims +=1; } } if (awardSend == 0) { return; } if (userGlobal.status == 0 && user.userType == 2) { awardSend = awardSend.add(user.dayInvAmount); user.inviteAmonut = user.inviteAmonut.add(user.dayInvAmount); } if (awardSend > 0 && awardSend <= sendLimit) { bool isOut = false; uint resultSend = 0; (isOut, resultSend) = raid(addr, awardSend); if (user.dayInvAmount > 0) { user.dayInvAmount = 0; } sendToAddr(resultSend, addr); if (resultSend > 0) { if (!isOut) { user.allAward = user.allAward.add(awardSend); } if(userGlobal.status == 0) { rash(user.beCode, freezeAmount, scale, user.resTime); } } } } function rash(string memory beCode, uint money, uint shareSc, uint userTime) private { string memory tmpReferrer = beCode; for (uint i = 1; i <= 20; i++) { if (UtilELG.compareStr(tmpReferrer, "")) { break; } address tmpUserAddr = addressMapping[tmpReferrer]; UserGlobal storage userGlobal = userMapping[tmpUserAddr]; User storage calUser = userRoundMapping[rid][tmpUserAddr]; if (userGlobal.status != 0 || calUser.freezeAmount == 0 || calUser.resTime > userTime || calUser.userType != 2) { tmpReferrer = userGlobal.beCode; continue; } uint fireSc = UtilELG.getFireScByLevel(calUser.level); uint recommendSc = UtilELG.getRecommendScaleByLevelAndTim(getUserLevel(tmpUserAddr), i); uint moneyResult = 0; if (money <= calUser.freezeAmount) { moneyResult = money; } else { moneyResult = calUser.freezeAmount; } if (recommendSc != 0) { uint tmpDynamicAmount = moneyResult.mul(shareSc).mul(recommendSc).mul(fireSc); tmpDynamicAmount = tmpDynamicAmount.div(1000).div(100).div(10); calUser.dayInvAmount = calUser.dayInvAmount.add(tmpDynamicAmount); } tmpReferrer = userGlobal.beCode; } } function getUserLevel(address _addr) private view returns (uint) { User storage user = userRoundMapping[rid][_addr]; uint count = 0; for (uint i = 0; i < user.branchUid.length; i++) { address addr = indexMapping[user.branchUid[i]]; if (uint(addr) != 0) { User memory countUser = userRoundMapping[rid][addr]; if (countUser.level >= 3) { count++; } } } if (count >= 10) { return 7; } if (count >= 5) { return 6; } if (count >= 3) { return 5; } return user.level; } function raid(address _addr, uint sendMoney) private returns (bool isOut, uint resultSend) { User storage user = userRoundMapping[rid][_addr]; if (user.userType == 1 || user.userType == 0) { return (false, sendMoney); } uint resultAmount = user.freezeAmount.mul(UtilELG.getEndTims(user.freezeAmount)).div(10); if (user.allAward.add(sendMoney) >= resultAmount) { isOut = true; if (resultAmount <= user.allAward) { resultSend = 0; } else { resultSend = resultAmount.sub(user.allAward); } user.dayBonAmount = 0; user.level = 0; user.freezeAmount = 0; user.allAward = 0; user.userType = 0; user.dayInvAmount = 0; user.staticTims +=1; } else { resultSend = sendMoney; } return (isOut, resultSend); } function sendToAddr(uint sendAmount, address addr) private { bool isEnough = false; uint resultMoney = 0; (isEnough, resultMoney) = isEnoughBalance(sendAmount); if (resultMoney > 0 && resultMoney <= sendLimit) { uint rand = uint256(keccak256(abi.encodePacked(block.number, now))).mod(16); uint confortMoney = resultMoney.div(100).mul(rand); sendMoneyToUser(comfortAddr, confortMoney); resultMoney = resultMoney.sub(confortMoney); address payable sendAddr = address(uint160(addr)); sendMoneyToUser(sendAddr, resultMoney); } } function isEnoughBalance(uint sendMoney) private view returns (bool, uint) { if (address(this).balance >= sendMoney) { return (true, sendMoney); } else { return (false, address(this).balance); } } function getGameInfo() public view returns (uint, uint, uint, uint, uint, uint, uint, uint, uint) { return ( rid, uid, startTime, rInvestCount[rid], rInvestMoney[rid], bonuslimit, sendLimit, withdrawLimit, canSetStartTime ); } function paineBluff(address addr, uint roundId) public view returns (uint[17] memory info, string memory inviteCode, string memory beCode) { require(isWhitelistAdmin(msg.sender) || msg.sender == addr, "Permission denied for view user's privacy"); if (roundId == 0) { roundId = rid; } UserGlobal memory userGlobal = userMapping[addr]; User memory user = userRoundMapping[roundId][addr]; info[0] = userGlobal.id; info[1] = user.freezeAmount; info[2] = user.inviteAmonut; info[3] = user.bonusAmount; info[4] = user.dayBonAmount; info[5] = user.level; info[6] = user.dayInvAmount; info[7] = user.lastRwTime; info[8] = userGlobal.status; info[9] = user.allAward; info[10] = user.userType; info[11] = user.shareAmount; info[12] = user.freeAmount; info[13] = user.branchUid.length; info[14] = user.investTimes; info[15] = user.resTime; info[16] = user.staticTims; return (info, userGlobal.inviteCode, userGlobal.beCode); } function ventura(uint amount) private { devAddr.transfer(amount.div(10)); } function sendMoneyToUser(address payable userAddress, uint money) private { if (money > 0) { userAddress.transfer(money); } } function isUsed(string memory code) public view returns (bool) { address addr = addressMapping[code]; return uint(addr) != 0; } function getUserAddressByCode(string memory code) public view returns (address) { require(isWhitelistAdmin(msg.sender), "Permission denied"); return addressMapping[code]; } function registerUser(address addr, string memory inviteCode, string memory beCode) private { UserGlobal storage userGlobal = userMapping[addr]; uid++; userGlobal.id = uid; userGlobal.userAddress = addr; userGlobal.inviteCode = inviteCode; userGlobal.beCode = beCode; addressMapping[inviteCode] = addr; indexMapping[uid] = addr; } function endRound() external onlyOwner { require(address(this).balance < 1 ether, "contract balance must be lower than 1 ether"); rid++; startTime = now.add(period).div(1 days).mul(1 days); canSetStartTime = 1; } function getUserAddressById(uint id) public view returns (address) { require(isWhitelistAdmin(msg.sender)); return indexMapping[id]; } } library UtilELG { /* https://elgame.cc */ function getLevel(uint value) public pure returns (uint) { if (value >= 1 ether && value <= 5 ether) { return 1; } if (value >= 6 ether && value <= 10 ether) { return 2; } if (value >= 11 ether && value <= 15 ether) { return 3; } if (value >= 16 ether && value <= 30 ether) { return 4; } return 0; } function getScByLevel(uint level) public pure returns (uint) { if (level == 1) { return 5; } if (level == 2) { return 7; } if (level == 3) { return 10; } if (level == 4) { return 12; } return 0; } function getFireScByLevel(uint level) public pure returns (uint) { if (level == 1) { return 3; } if (level == 2) { return 5; } if (level == 3) { return 7; } if (level == 4) { return 10; } return 0; } function getRecommendScaleByLevelAndTim(uint level, uint times) public pure returns (uint) { if (level == 1 && times == 1) { return 20; } if (level == 2 && times == 1) { return 20; } if (level == 2 && times == 2) { return 15; } if (level == 3) { if (times == 1) { return 20; } if (times == 2) { return 15; } if (times == 3) { return 10; } } if (level == 4) { if (times == 1) { return 20; } if (times == 2) { return 15; } if (times >= 3 && times <= 5) { return 10; } } if (level == 5) { if (times == 1) { return 30; } if (times == 2) { return 15; } if (times >= 3 && times <= 5) { return 10; } } if (level == 6) { if (times == 1) { return 50; } if (times == 2) { return 15; } if (times >= 3 && times <= 5) { return 10; } if (times >= 6 && times <= 10) { return 3; } } if (level == 7) { if (times == 1) { return 100; } if (times == 2) { return 15; } if (times >= 3 && times <= 5) { return 10; } if (times >= 6 && times <= 10) { return 3; } if (times >= 11 && times <= 15) { return 2; } if (times >= 16 && times <= 20) { return 1; } } return 0; } function compareStr(string memory _str, string memory str) public pure returns (bool) { if (keccak256(abi.encodePacked(_str)) == keccak256(abi.encodePacked(str))) { return true; } return false; } function getEndTims(uint value) public pure returns (uint) { if (value >= 1 ether && value <= 5 ether) { return 15; } if (value >= 6 ether && value <= 10 ether) { return 20; } if (value >= 11 ether && value <= 15 ether) { return 25; } if (value >= 16 ether && value <= 30 ether) { return 30; } return 0; } } /** * @title SafeMath * @dev Math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "mul overflow"); return c; } /** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "div zero"); // Solidity only automatically asserts when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "lower sub bigger"); uint256 c = a - b; return c; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "overflow"); return c; } /** * @dev Divides two numbers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "mod zero"); return a % b; } /** * @dev compare two numbers and returns the smaller one. */ function min(uint256 a, uint256 b) internal pure returns (uint256) { return a > b ? b : a; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"string","name":"inviteCode","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"string","name":"inviteCode","type":"string"},{"internalType":"string","name":"beCode","type":"string"},{"internalType":"uint256","name":"userType","type":"uint256"}],"name":"abide","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"acceptNextOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"bonusLi","type":"uint256"},{"internalType":"uint256","name":"sendLi","type":"uint256"},{"internalType":"uint256","name":"withdrawLi","type":"uint256"}],"name":"actAllLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"amuse","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_nextOwner","type":"address"}],"name":"approveNextOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"astonishment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"status","type":"uint256"}],"name":"believe","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"clarify","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"door","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"endRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"times","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"flle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getGameInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"string","name":"code","type":"string"}],"name":"getUserAddressByCode","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getUserAddressById","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isGameStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"string","name":"code","type":"string"}],"name":"isUsed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelistAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"maxValMapping","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"paineBluff","outputs":[{"internalType":"uint256[17]","name":"info","type":"uint256[17]"},{"internalType":"string","name":"inviteCode","type":"string"},{"internalType":"string","name":"beCode","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"userType","type":"uint256"}],"name":"reject","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_dev","type":"address"},{"internalType":"address payable","name":"_com","type":"address"}],"name":"sorrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052670de0b6b3a7640000600355600480546001600160a01b0319908116731dacd4b4837fa90b343f6fe97bb87fa7b21c034c179091556005805490911673c0b314fd11f79fedfde8318686034ed60ad309a3179055620151806009556000600a556001600b8190556801a055690d9db80000601081905568056bc75e2d631000006011556012556013553480156200009a57600080fd5b50604051620047033803806200470383398181016040526040811015620000c057600080fd5b815160208301805160405192949293830192919084640100000000821115620000e857600080fd5b908301906020820185811115620000fe57600080fd5b82516401000000008111828201881017156200011957600080fd5b82525081516020918201929091019080838360005b83811015620001485781810151838201526020016200012e565b50505050905090810190601f168015620001765780820380516001836020036101000a031916815260200191505b5060405250620001919150506001600160e01b03620001d616565b600080546001600160a01b0319166001600160a01b03929092169190911781556040805160208101909152908152620001ce9083908390620001db565b505062000390565b335b90565b6001600160a01b0383166000818152600d60209081526040909120600a8054600190810191829055908255810180546001600160a01b03191690931790925583516200023091600284019190860190620002ee565b508151620002489060038301906020850190620002ee565b5083600e846040518082805190602001908083835b602083106200027e5780518252601f1990920191602091820191016200025d565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942080546001600160a01b03199081166001600160a01b0397881617909155600a546000908152600f9092529390208054909316979093169690961790555050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200033157805160ff191683800117855562000361565b8280016001018555821562000361579182015b828111156200036157825182559160200191906001019062000344565b506200036f92915062000373565b5090565b620001d891905b808211156200036f57600081556001016200037a565b61436380620003a06000396000f3fe60806040526004361061014b5760003560e01c806397187377116100b6578063bc6f504d1161006f578063bc6f504d1461077d578063c03f1326146107b3578063c315432a146108de578063c78a4622146108f3578063d06c54fb14610908578063d579fd441461091d5761014b565b8063971873771461056557806399d3f29614610630578063a14512241461065a578063b191f3cb1461070b578063b8adaa1114610720578063bb5f747b1461074a5761014b565b8063578d714b11610108578063578d714b146103ca5780636897e9741461048f5780637362d9c8146104c2578063749aa2d9146104f55780638a03ad861461050a5780638f32d59b146105505761014b565b80630353bf4f1461014d578063073a275d14610186578063128d6adb146101b65780631746bd1b146101f15780632cbaa7a11461024d578063417c53431461038e575b005b34801561015957600080fd5b5061014b6004803603604081101561017057600080fd5b506001600160a01b038135169060200135610950565b34801561019257600080fd5b5061014b600480360360408110156101a957600080fd5b5080359060200135610a28565b3480156101c257600080fd5b5061014b600480360360408110156101d957600080fd5b506001600160a01b0381358116916020013516610ab5565b3480156101fd57600080fd5b50610206610b2a565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b34801561025957600080fd5b506102866004803603604081101561027057600080fd5b506001600160a01b038135169060200135610b65565b604051808461022080838360005b838110156102ac578181015183820152602001610294565b505050509050018060200180602001838103835285818151815260200191508051906020019080838360005b838110156102f05781810151838201526020016102d8565b50505050905090810190601f16801561031d5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610350578181015183820152602001610338565b50505050905090810190601f16801561037d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561039a57600080fd5b506103b8600480360360208110156103b157600080fd5b503561109b565b60408051918252519081900360200190f35b3480156103d657600080fd5b5061047b600480360360208110156103ed57600080fd5b810190602081018135600160201b81111561040757600080fd5b82018360208201111561041957600080fd5b803590602001918460018302840111600160201b8311171561043a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506110ad945050505050565b604080519115158252519081900360200190f35b34801561049b57600080fd5b5061014b600480360360208110156104b257600080fd5b50356001600160a01b0316611124565b3480156104ce57600080fd5b5061014b600480360360208110156104e557600080fd5b50356001600160a01b031661117f565b34801561050157600080fd5b5061014b6111d7565b34801561051657600080fd5b506105346004803603602081101561052d57600080fd5b50356112b2565b604080516001600160a01b039092168252519081900360200190f35b34801561055c57600080fd5b5061047b6112e2565b34801561057157600080fd5b5061014b6004803603604081101561058857600080fd5b810190602081018135600160201b8111156105a257600080fd5b8201836020820111156105b457600080fd5b803590602001918460208302840111600160201b831117156105d557600080fd5b919390929091602081019035600160201b8111156105f257600080fd5b82018360208201111561060457600080fd5b803590602001918460208302840111600160201b8311171561062557600080fd5b509092509050611307565b34801561063c57600080fd5b5061014b6004803603602081101561065357600080fd5b50356113b2565b34801561066657600080fd5b506105346004803603602081101561067d57600080fd5b810190602081018135600160201b81111561069757600080fd5b8201836020820111156106a957600080fd5b803590602001918460018302840111600160201b831117156106ca57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506114ae945050505050565b34801561071757600080fd5b5061014b61156d565b34801561072c57600080fd5b5061014b6004803603602081101561074357600080fd5b5035611707565b34801561075657600080fd5b5061047b6004803603602081101561076d57600080fd5b50356001600160a01b0316611c30565b34801561078957600080fd5b5061014b600480360360608110156107a057600080fd5b5080359060208101359060400135611c57565b61014b600480360360608110156107c957600080fd5b810190602081018135600160201b8111156107e357600080fd5b8201836020820111156107f557600080fd5b803590602001918460018302840111600160201b8311171561081657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561086857600080fd5b82018360208201111561087a57600080fd5b803590602001918460018302840111600160201b8311171561089b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611d25915050565b3480156108ea57600080fd5b5061047b612628565b3480156108ff57600080fd5b5061014b612643565b34801561091457600080fd5b5061014b6126e0565b34801561092957600080fd5b5061014b6004803603602081101561094057600080fd5b50356001600160a01b031661274d565b61096061095b612819565b611c30565b8061096e575061096e6112e2565b6109a95760405162461bcd60e51b81526004018080602001828103825260408152602001806142ef6040913960400191505060405180910390fd5b8015806109b65750806001145b806109c15750806002145b610a09576040805162461bcd60e51b815260206004820152601460248201527362616420706172616d657465722073746174757360601b604482015290519081900360640190fd5b6001600160a01b039091166000908152600d6020526040902060040155565b610a3361095b612819565b80610a415750610a416112e2565b610a7c5760405162461bcd60e51b81526004018080602001828103825260408152602001806142ef6040913960400191505060405180910390fd5b805b828110610ab0576000818152600f60205260409020546001600160a01b0316610aa68161281d565b5060001901610a7e565b505050565b610abd6112e2565b610afc576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b600480546001600160a01b039384166001600160a01b03199182161790915560058054929093169116179055565b600b54600a54600654600083815260076020908152604080832054600890925290912054601054601154601254601354909192939495969798565b610b6d613f76565b606080610b7933611c30565b80610b8c5750336001600160a01b038616145b610bc75760405162461bcd60e51b81526004018080602001828103825260298152602001806142406029913960400191505060405180910390fd5b83610bd257600b5493505b610bda613f95565b6001600160a01b038681166000908152600d6020908152604091829020825160a08101845281548152600180830154909516818401526002808301805486516101009882161598909802600019011691909104601f8101859004850287018501865280875291959294860193909190830182828015610c9a5780601f10610c6f57610100808354040283529160200191610c9a565b820191906000526020600020905b815481529060010190602001808311610c7d57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015610d2e5780601f10610d0357610100808354040283529160200191610d2e565b820191906000526020600020905b815481529060010190602001808311610d1157829003601f168201915b505050505081526020016004820154815250509050610d4b613fcd565b6000868152600c602081815260408084206001600160a01b038c81168652908352938190208151610260810183528154815260018083015490961681850152600280830154828501526003830154606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e08301526008830154610100808401919091526009840154610120840152600a840154610140840152600b84015461016084015295830180548551988116159097026000190190961604601f810185900485028701850190935282865294909361018086019391929091830182828015610e7d5780601f10610e5257610100808354040283529160200191610e7d565b820191906000526020600020905b815481529060010190602001808311610e6057829003601f168201915b5050509183525050600d8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015610f115780601f10610ee657610100808354040283529160200191610f11565b820191906000526020600020905b815481529060010190602001808311610ef457829003601f168201915b50505050508152602001600e8201548152602001600f82015481526020016010820154815260200160118201805480602002602001604051908101604052809291908181526020018280548015610f8757602002820191906000526020600020905b815481526020019060010190808311610f73575b505050918352505060129190910154602090910152825190915085600060200201526060810151856001602002015260a0810151856002602002015260e081015185600360200201526101008101518560046020020152610140810151856005602002015261012081015185600660200201526101e08101518560076020020152608082015185600860200201526101c08101518560096020020152604081015185600a602002015260c081015185600b6020020152608081015185600c60200201526102208101515185600d602002015261020081015185600e602002015261016081015185600f6020020152610240810151856010602002015250604081015160609091015190925090509250925092565b60146020526000908152604090205481565b600080600e836040518082805190602001908083835b602083106110e25780518252601f1990920191602091820191016110c3565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316151593505050505b919050565b61112c6112e2565b61116b576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b61117c60028263ffffffff612e4016565b50565b6111876112e2565b6111c6576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b61117c60028263ffffffff612ea716565b6111df6112e2565b61121e576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b670de0b6b3a764000047106112645760405162461bcd60e51b815260040180806020018281038252602b81526020018061419c602b913960400191505060405180910390fd5b600b805460010190556009546112a890620151809061129c90829061129090429063ffffffff612f2816565b9063ffffffff612f7416565b9063ffffffff612fc916565b6006556001601355565b60006112bd33611c30565b6112c657600080fd5b506000908152600f60205260409020546001600160a01b031690565b600080546001600160a01b03166112f7612819565b6001600160a01b03161490505b90565b61131261095b612819565b8061132057506113206112e2565b61135b5760405162461bcd60e51b81526004018080602001828103825260408152602001806142ef6040913960400191505060405180910390fd5b60005b838110156113ab5782828281811061137257fe5b905060200201356014600087878581811061138957fe5b602090810292909201358352508101919091526040016000205560010161135e565b5050505050565b6113ba6112e2565b6113f9576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b601354600114611450576040805162461bcd60e51b815260206004820152601c60248201527f63616e206e6f74207365742073746172742074696d6520616761696e00000000604482015290519081900360640190fd5b4281116114a4576040805162461bcd60e51b815260206004820152601760248201527f696e76616c69642067616d652073746172742074696d65000000000000000000604482015290519081900360640190fd5b6006556000601355565b60006114b933611c30565b6114fe576040805162461bcd60e51b815260206004820152601160248201527014195c9b5a5cdcda5bdb8819195b9a5959607a1b604482015290519081900360640190fd5b600e826040518082805190602001908083835b602083106115305780518252601f199092019160209182019101611511565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316949350505050565b33803b80156115b8576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b323314611601576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b611609612628565b61164b576040805162461bcd60e51b815260206004820152600e60248201526d19d85b59481b9bdd081cdd185c9d60921b604482015290519081900360640190fd5b600b546000908152600c6020908152604080832033845290915290206004810154670de0b6b3a764000011156116c1576040805162461bcd60e51b8152602060048201526016602482015275155cd95c881a185cc81b9bc8199c9959505b5bdd5b9d60521b604482015290519081900360640190fd5b600481015460009081906116d490613027565b909250905080158015906116ea57506012548111155b156113ab576116f93382613048565b600060048401555050505050565b600b546000908152600c60209081526040808320338452909152902060018214806117325750816002145b611776576040805162461bcd60e51b815260206004820152601060248201526f696e76616c696420757365725479706560801b604482015290519081900360640190fd5b81816002015414156117bc576040805162461bcd60e51b815260206004820152600a60248201526953616d6520737461746560b01b604482015290519081900360640190fd5b60008160030154116117ff5760405162461bcd60e51b815260040180806020018281038252602381526020018061428a6023913960400191505060405180910390fd5b806002015460011480156118135750816002145b156119b25760028160020181905550600081601001819055504281600b01819055506000600e82600d0160405180828054600181600116156101000203166002900480156118985780601f10611876576101008083540402835291820191611898565b820191906000526020600020905b815481529060010190602001808311611884575b50509283525050604080516020928190038301902054600b546000908152600c84528281206001600160a01b03909216808252918452828120338252600d909452828120828252929020600384015491945090670de0b6b3a764000011801590611906575082600201546002145b801561191a575084600a015483600a015410155b801561192857506004820154155b801561193657506004810154155b156119ad576003850154600090819061196190879061195c90600a63ffffffff612f7416565b613084565b90925090506119708187613205565b6006850154611985908263ffffffff612f2816565b6006860155816119aa57600e8501546119a4908263ffffffff612f2816565b600e8601555b50505b505050505b806002015460021480156119c65750816001145b15611c2c5780600301546119ff6119ee60046112906005600354612fc990919063ffffffff16565b600e8401549063ffffffff612f2816565b1115611a3c5760405162461bcd60e51b81526004018080602001828103825260248152602001806141ed6024913960400191505060405180910390fd5b6000611a5982600e015483600301546132be90919063ffffffff16565b90506801a055690d9db80000811115611aaa576040805162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a5908185b5bdd5b9d60921b604482015290519081900360640190fd5b611ac0600561129083600463ffffffff612fc916565b6001600284015560006010840155600354909150611ae89061129c838263ffffffff612f7416565b6003830181905560408051630219207560e61b8152600481019290925251732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7916386481d40916024808301926020929190829003018186803b158015611b4157600080fd5b505af4158015611b55573d6000803e3d6000fd5b505050506040513d6020811015611b6b57600080fd5b5051600a83018190556040805163f7ad55d960e01b8152600481019290925251600091732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a79163f7ad55d991602480820192602092909190829003018186803b158015611bca57600080fd5b505af4158015611bde573d6000803e3d6000fd5b505050506040513d6020811015611bf457600080fd5b5051600060098501556003840154909150611c1d906103e890611290908463ffffffff612fc916565b600884015550506000600e8201555b5050565b6000611c4360028363ffffffff61330e16565b80611c515750611c516112e2565b92915050565b611c5f6112e2565b611c9e576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b6801a055690d9db800008310158015611cc0575068056bc75e2d631000008210155b8015611cd557506801a055690d9db800008110155b611d17576040805162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a5908185b5bdd5b9d60921b604482015290519081900360640190fd5b601092909255601155601255565b33803b8015611d70576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b323314611db9576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b611dc1612628565b611e03576040805162461bcd60e51b815260206004820152600e60248201526d19d85b59481b9bdd081cdd185c9d60921b604482015290519081900360640190fd5b670de0b6b3a7640000341015611e51576040805162461bcd60e51b815260206004820152600e60248201526d67726561746572207468616e203160901b604482015290519081900360640190fd5b600354611e689061129c348263ffffffff612f7416565b3414611eaf576040805162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672076616c756560781b604482015290519081900360640190fd5b8260011480611ebe5750826002145b611f02576040805162461bcd60e51b815260206004820152601060248201526f696e76616c696420757365725479706560801b604482015290519081900360640190fd5b336000908152600d6020526040902080546121e457604080516321f1757360e21b815260048101918252875160448201528751732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7926387c5d5cc928a9282916024810191606490910190602086019080838360005b83811015611f83578181015183820152602001611f6b565b50505050905090810190601f168015611fb05780820380516001836020036101000a031916815260200191505b50838103825260068152602001806501010101010160d51b815250602001935050505060206040518083038186803b158015611feb57600080fd5b505af4158015611fff573d6000803e3d6000fd5b505050506040513d602081101561201557600080fd5b5051158015612025575085516006145b61206c576040805162461bcd60e51b8152602060048201526013602482015272696e76616c696420696e7669746520636f646560681b604482015290519081900360640190fd5b6000600e866040518082805190602001908083835b602083106120a05780518252601f199092019160209182019101612081565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b031692506120e491508790506110ad565b612128576040805162461bcd60e51b815260206004820152601060248201526f189950dbd919481b9bdd08195e1a5cdd60821b604482015290519081900360640190fd5b6001600160a01b038116331415612186576040805162461bcd60e51b815260206004820152601860248201527f6265436f6465416464722063616e27742062652073656c660000000000000000604482015290519081900360640190fd5b61218f876110ad565b156121d7576040805162461bcd60e51b81526020600482015260136024820152721a5b9d9a5d194818dbd919481a5cc81d5cd959606a1b604482015290519081900360640190fd5b6121e2338888613375565b505b600b546000908152600c6020908152604080832033845290915290206001851480612213575080600201546001145b156122925760038054601283015460009081526014602052604090205491830154910290612247903463ffffffff612f2816565b1115612292576040805162461bcd60e51b81526020600482015260156024820152744e6f206d6f7265207468616e204d617856616c756560581b604482015290519081900360640190fd5b60038101546801a055690d9db80000906122b2903463ffffffff612f2816565b11156122f7576040805162461bcd60e51b815260206004820152600f60248201526e04e6f206d6f7265207468616e20333608c1b604482015290519081900360640190fd5b8054156123c757600381015461232357600281018590556000600e82015542600b8201819055600f8201555b6003810154612338903463ffffffff612f2816565b6003820181905560408051630219207560e61b8152600481019290925251732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7916386481d40916024808301926020929190829003018186803b15801561239157600080fd5b505af41580156123a5573d6000803e3d6000fd5b505050506040513d60208110156123bb57600080fd5b5051600a820155612595565b815481556001810180546001600160a01b03191633179055346003820181905560408051630219207560e61b8152600481019290925251732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7916386481d40916024808301926020929190829003018186803b15801561243957600080fd5b505af415801561244d573d6000803e3d6000fd5b505050506040513d602081101561246357600080fd5b5051600a8201556002808301805461248f92600c85019291600019610100600183161502011604614068565b506003820180546124b791600d84019160026000196101006001841615020190911604614068565b50600280820186905542600b8301819055600f830155604051600384018054600093600e93918291849160001961010060018316150201160480156125335780601f10612511576101008083540402835291820191612533565b820191906000526020600020905b81548152906001019060200180831161251f575b50509283525050604080516020928190038301902054600b546000908152600c84528281206001600160a01b03909216808252919093529120805491925090156125925783546011820180546001810182556000918252602090912001555b50505b600b546000908152600760205260409020546125b890600163ffffffff612f2816565b600b805460009081526007602090815260408083209490945591548152600890915220546125ec903463ffffffff612f2816565b600b5460009081526008602052604090205561260734613482565b600181015461261f906001600160a01b0316346134ca565b50505050505050565b600060065460001415801561263e575060065442115b905090565b33803b801561268e576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b3233146126d7576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b611c2c3361281d565b6001546001600160a01b031633146127295760405162461bcd60e51b81526004018080602001828103825260268152602001806141c76026913960400191505060405180910390fd5b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6127556112e2565b612794576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b6000546001600160a01b03828116911614156127f7576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f7420617070726f76652063757272656e74206f776e65722e000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b612825612628565b612867576040805162461bcd60e51b815260206004820152600e60248201526d19d85b59481b9bdd081cdd185c9d60921b604482015290519081900360640190fd5b600b546000908152600c602090815260408083206001600160a01b03851684529091529020612894613f95565b6001600160a01b038381166000908152600d6020908152604091829020825160a08101845281548152600180830154909516818401526002808301805486516101009882161598909802600019011691909104601f81018590048502870185018652808752919592948601939091908301828280156129545780601f1061292957610100808354040283529160200191612954565b820191906000526020600020905b81548152906001019060200180831161293757829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156129e85780601f106129bd576101008083540402835291602001916129e8565b820191906000526020600020905b8154815290600101906020018083116129cb57829003601f168201915b505050505081526020016004820154815250509050612a0633611c30565b15612a5d57612a2062014370610d9863ffffffff612f2816565b600f830154612a3690429063ffffffff6132be16565b111580612a4257508154155b80612a4c57508051155b15612a5857505061117c565b612b02565b8154612a9a5760405162461bcd60e51b815260040180806020018281038252602f815260200180614211602f913960400191505060405180910390fd5b612aaf62014370610d9863ffffffff612f2816565b600f830154612ac590429063ffffffff6132be16565b1015612b025760405162461bcd60e51b81526004018080602001828103825260268152602001806141766026913960400191505060405180910390fd5b42600f830155608081015160011415612b1c57505061117c565b60008090506000732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a763f7ad55d985600a01546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612b7657600080fd5b505af4158015612b8a573d6000803e3d6000fd5b505050506040513d6020811015612ba057600080fd5b50516003850154909150670de0b6b3a76400008110801590612bc85750601054856003015411155b15612cbe5784600201546001148015612be5575060058560100154105b80612bf4575084600201546002145b15612c5a576008850154612c0f90849063ffffffff612f2816565b9250612c2c85600801548660070154612f2890919063ffffffff16565b6007860155600285015460011415612c5a576010850154612c5490600163ffffffff612f2816565b60108601555b84600201546001148015612c7357506005856010015410155b15612cbe5760038501546004860154612c919163ffffffff612f2816565b600486015560006003860181905560088601819055600a8601819055600286015560128501805460010190555b82612ccd57505050505061117c565b6080840151158015612ce3575084600201546002145b15612d21576009850154612cfe90849063ffffffff612f2816565b9250612d1b85600901548660050154612f2890919063ffffffff16565b60058601555b600083118015612d3357506011548311155b15612e3857600080612d458886613084565b6009890154919350915015612d5c57600060098801555b612d668189613205565b8015612e355781612d8c57600e870154612d86908663ffffffff612f2816565b600e8801555b6080860151612e3557600d87018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152612e359390929091830182828015612e245780601f10612df957610100808354040283529160200191612e24565b820191906000526020600020905b815481529060010190602001808311612e0757829003601f168201915b505050505084868a600b0154613753565b50505b505050505050565b612e4a828261330e565b612e855760405162461bcd60e51b81526004018080602001828103825260218152602001806142696021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b612eb1828261330e565b15612f03576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b600082820183811015612f6d576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b9392505050565b6000808211612fb5576040805162461bcd60e51b8152602060048201526008602482015267646976207a65726f60c01b604482015290519081900360640190fd5b6000828481612fc057fe5b04949350505050565b600082612fd857506000611c51565b82820282848281612fe557fe5b0414612f6d576040805162461bcd60e51b815260206004820152600c60248201526b6d756c206f766572666c6f7760a01b604482015290519081900360640190fd5b60008082471061303c57506001905081613043565b5060009050475b915091565b8015611c2c576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610ab0573d6000803e3d6000fd5b600b546000908152600c602090815260408083206001600160a01b038616845290915281206002810154829190600114806130c157506002810154155b156130d35760008492509250506131fe565b600061316d600a611290732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7630b1edbac86600301546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561313057600080fd5b505af4158015613144573d6000803e3d6000fd5b505050506040513d602081101561315a57600080fd5b505160038601549063ffffffff612fc916565b9050806131878684600e0154612f2890919063ffffffff16565b106131f7576001935081600e015481116131a457600092506131bd565b600e8201546131ba90829063ffffffff6132be16565b92505b600060088301819055600a830181905560038301819055600e830181905560028301819055600983015560128201805460010190556131fb565b8492505b50505b9250929050565b60008061321184613027565b9092509050801580159061322757506011548111155b156132b857604080514360208083019190915242828401528251808303840181526060909201909252805191012060009061326990601063ffffffff613beb16565b905060006132828261129c85606463ffffffff612f7416565b60055490915061329b906001600160a01b031682613048565b6132ab838263ffffffff6132be16565b92508461261f8185613048565b50505050565b600082821115613308576040805162461bcd60e51b815260206004820152601060248201526f3637bbb2b91039bab1103134b3b3b2b960811b604482015290519081900360640190fd5b50900390565b60006001600160a01b0382166133555760405162461bcd60e51b81526004018080602001828103825260228152602001806142cd6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b0383166000818152600d60209081526040909120600a8054600190810191829055908255810180546001600160a01b03191690931790925583516133c8916002840191908601906140ed565b5081516133de90600383019060208501906140ed565b5083600e846040518082805190602001908083835b602083106134125780518252601f1990920191602091820191016133f3565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942080546001600160a01b03199081166001600160a01b0397881617909155600a546000908152600f9092529390208054909316979093169690961790555050505050565b6004546001600160a01b03166108fc6134a283600a63ffffffff612f7416565b6040518115909202916000818181858888f19350505050158015611c2c573d6000803e3d6000fd5b600b546000908152600c602090815260408083206001600160a01b0386168452909152902080546134fb5750611c2c565b6000732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a763f7ad55d983600a01546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561355057600080fd5b505af4158015613564573d6000803e3d6000fd5b505050506040513d602081101561357a57600080fd5b5051600383015490915061359c906103e890611290908463ffffffff612fc916565b8260080181905550600082601001819055506000600e83600d0160405180828054600181600116156101000203166002900480156136115780601f106135ef576101008083540402835291820191613611565b820191906000526020600020905b8154815290600101906020018083116135fd575b50509283525050604080516020928190038301902054600b546000908152600c84528281206001600160a01b03928316808352908552838220928a168252600d90945282812084825292902060038201549394509092670de0b6b3a764000011801590613682575082600201546002145b8015613692575085600201546002145b80156136a6575085600a015483600a015410155b80156136b457506004820154155b80156136c257506004810154155b15612e3557600183015460009081906136ef906001600160a01b031661195c8b600a63ffffffff612f7416565b6001870154919350915061370d9082906001600160a01b0316613205565b6006850154613722908263ffffffff612f2816565b60068601558161374757600e850154613741908263ffffffff612f2816565b600e8601555b50505050505050505050565b8360015b60148111612e3857604080516321f1757360e21b815260048101918252835160448201528351732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7926387c5d5cc92869282916024810191606490910190602086019080838360005b838110156137cb5781810151838201526020016137b3565b50505050905090810190601f1680156137f85780820380516001836020036101000a031916815260200191505b50838103825260008152602001602001935050505060206040518083038186803b15801561382557600080fd5b505af4158015613839573d6000803e3d6000fd5b505050506040513d602081101561384f57600080fd5b50511561385b57612e38565b6000600e836040518082805190602001908083835b6020831061388f5780518252601f199092019160209182019101613870565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201909420546001600160a01b03166000818152600d8352858120600b548252600c84528682208383529093529490942060048201549495509093909250151590508061390657506003810154155b8061391457508581600b0154115b8061392457508060020154600214155b156139c05760038201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156139b15780601f10613986576101008083540402835291602001916139b1565b820191906000526020600020905b81548152906001019060200180831161399457829003601f168201915b50505050509450505050613be3565b6000732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a763e08f079783600a01546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613a1557600080fd5b505af4158015613a29573d6000803e3d6000fd5b505050506040513d6020811015613a3f57600080fd5b505190506000732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a76326eebf41613a6887613c3b565b886040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613aa457600080fd5b505af4158015613ab8573d6000803e3d6000fd5b505050506040513d6020811015613ace57600080fd5b505160038401549091506000908b11613ae8575089613aef565b5060038301545b8115613b4d576000613b128461129c8561129c8f87612fc990919063ffffffff16565b9050613b2e600a611290606481856103e863ffffffff612f7416565b6009860154909150613b46908263ffffffff612f2816565b6009860155505b60038501805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015613bd55780601f10613baa57610100808354040283529160200191613bd5565b820191906000526020600020905b815481529060010190602001808311613bb857829003601f168201915b505050505097505050505050505b600101613757565b600081613c2a576040805162461bcd60e51b81526020600482015260086024820152676d6f64207a65726f60c01b604482015290519081900360640190fd5b818381613c3357fe5b069392505050565b600b546000908152600c602090815260408083206001600160a01b0385168452909152812081805b6011830154811015613f31576000600f6000856011018481548110613c8457fe5b600091825260208083209091015483528201929092526040019020546001600160a01b031690508015613f2857613cb9613fcd565b600b80546000908152600c602081815260408084206001600160a01b038881168652908352938190208151610260810183528154815260018083015490961681850152600280830154828501526003830154606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e08301526008830154610100808401919091526009840154610120840152600a8401546101408401529783015461016083015294820180548451978116159098026000190190971694909404601f8101849004840286018401909252818552929492936101808601939092909190830182828015613df35780601f10613dc857610100808354040283529160200191613df3565b820191906000526020600020905b815481529060010190602001808311613dd657829003601f168201915b5050509183525050600d8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613e875780601f10613e5c57610100808354040283529160200191613e87565b820191906000526020600020905b815481529060010190602001808311613e6a57829003601f168201915b50505050508152602001600e8201548152602001600f82015481526020016010820154815260200160118201805480602002602001604051908101604052809291908181526020018280548015613efd57602002820191906000526020600020905b815481526020019060010190808311613ee9575b505050505081526020016012820154815250509050600381610140015110613f26576001909301925b505b50600101613c63565b50600a8110613f455760079250505061111f565b60058110613f585760069250505061111f565b60038110613f6b5760059250505061111f565b50600a015492915050565b6040518061022001604052806011906020820280388339509192915050565b6040518060a001604052806000815260200160006001600160a01b031681526020016060815260200160608152602001600081525090565b6040518061026001604052806000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160008152602001600081526020016000815260200160608152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106140a157805485556140dd565b828001600101855582156140dd57600052602060002091601f016020900482015b828111156140dd5782548255916001019190600101906140c2565b506140e992915061415b565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412e57805160ff19168380011785556140dd565b828001600101855582156140dd579182015b828111156140dd578251825591602001919060010190614140565b61130491905b808211156140e9576000815560010161416156fe43616e206f6e6c7920626520657874726163746564206f6e636520696e20323420686f757273636f6e74726163742062616c616e6365206d757374206265206c6f776572207468616e203120657468657243616e206f6e6c792061636365707420707265617070726f766564206e6577206f776e65722e4c65737320726577617264207468616e207072696e636970616c20352f342065746865725573657273206f66207468652067616d6520617265206e6f742062657474696e6720696e207468697320726f756e645065726d697373696f6e2064656e69656420666f722076696577207573657227732070726976616379526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65667265657a65416d6f756e74206d7573742062652067726561746572207468616e20304f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572526f6c65733a206163636f756e7420697320746865207a65726f206164647265737357686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c65a265627a7a72315820835848ac439a3d79211f708234a95bd434e3e12896423408e3c5a2bb1791b4cf64736f6c634300051100320000000000000000000000000dbefe019b7373e2d7bf770977b96dec1706d2fa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000006454c47414d450000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061014b5760003560e01c806397187377116100b6578063bc6f504d1161006f578063bc6f504d1461077d578063c03f1326146107b3578063c315432a146108de578063c78a4622146108f3578063d06c54fb14610908578063d579fd441461091d5761014b565b8063971873771461056557806399d3f29614610630578063a14512241461065a578063b191f3cb1461070b578063b8adaa1114610720578063bb5f747b1461074a5761014b565b8063578d714b11610108578063578d714b146103ca5780636897e9741461048f5780637362d9c8146104c2578063749aa2d9146104f55780638a03ad861461050a5780638f32d59b146105505761014b565b80630353bf4f1461014d578063073a275d14610186578063128d6adb146101b65780631746bd1b146101f15780632cbaa7a11461024d578063417c53431461038e575b005b34801561015957600080fd5b5061014b6004803603604081101561017057600080fd5b506001600160a01b038135169060200135610950565b34801561019257600080fd5b5061014b600480360360408110156101a957600080fd5b5080359060200135610a28565b3480156101c257600080fd5b5061014b600480360360408110156101d957600080fd5b506001600160a01b0381358116916020013516610ab5565b3480156101fd57600080fd5b50610206610b2a565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b34801561025957600080fd5b506102866004803603604081101561027057600080fd5b506001600160a01b038135169060200135610b65565b604051808461022080838360005b838110156102ac578181015183820152602001610294565b505050509050018060200180602001838103835285818151815260200191508051906020019080838360005b838110156102f05781810151838201526020016102d8565b50505050905090810190601f16801561031d5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610350578181015183820152602001610338565b50505050905090810190601f16801561037d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561039a57600080fd5b506103b8600480360360208110156103b157600080fd5b503561109b565b60408051918252519081900360200190f35b3480156103d657600080fd5b5061047b600480360360208110156103ed57600080fd5b810190602081018135600160201b81111561040757600080fd5b82018360208201111561041957600080fd5b803590602001918460018302840111600160201b8311171561043a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506110ad945050505050565b604080519115158252519081900360200190f35b34801561049b57600080fd5b5061014b600480360360208110156104b257600080fd5b50356001600160a01b0316611124565b3480156104ce57600080fd5b5061014b600480360360208110156104e557600080fd5b50356001600160a01b031661117f565b34801561050157600080fd5b5061014b6111d7565b34801561051657600080fd5b506105346004803603602081101561052d57600080fd5b50356112b2565b604080516001600160a01b039092168252519081900360200190f35b34801561055c57600080fd5b5061047b6112e2565b34801561057157600080fd5b5061014b6004803603604081101561058857600080fd5b810190602081018135600160201b8111156105a257600080fd5b8201836020820111156105b457600080fd5b803590602001918460208302840111600160201b831117156105d557600080fd5b919390929091602081019035600160201b8111156105f257600080fd5b82018360208201111561060457600080fd5b803590602001918460208302840111600160201b8311171561062557600080fd5b509092509050611307565b34801561063c57600080fd5b5061014b6004803603602081101561065357600080fd5b50356113b2565b34801561066657600080fd5b506105346004803603602081101561067d57600080fd5b810190602081018135600160201b81111561069757600080fd5b8201836020820111156106a957600080fd5b803590602001918460018302840111600160201b831117156106ca57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506114ae945050505050565b34801561071757600080fd5b5061014b61156d565b34801561072c57600080fd5b5061014b6004803603602081101561074357600080fd5b5035611707565b34801561075657600080fd5b5061047b6004803603602081101561076d57600080fd5b50356001600160a01b0316611c30565b34801561078957600080fd5b5061014b600480360360608110156107a057600080fd5b5080359060208101359060400135611c57565b61014b600480360360608110156107c957600080fd5b810190602081018135600160201b8111156107e357600080fd5b8201836020820111156107f557600080fd5b803590602001918460018302840111600160201b8311171561081657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561086857600080fd5b82018360208201111561087a57600080fd5b803590602001918460018302840111600160201b8311171561089b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611d25915050565b3480156108ea57600080fd5b5061047b612628565b3480156108ff57600080fd5b5061014b612643565b34801561091457600080fd5b5061014b6126e0565b34801561092957600080fd5b5061014b6004803603602081101561094057600080fd5b50356001600160a01b031661274d565b61096061095b612819565b611c30565b8061096e575061096e6112e2565b6109a95760405162461bcd60e51b81526004018080602001828103825260408152602001806142ef6040913960400191505060405180910390fd5b8015806109b65750806001145b806109c15750806002145b610a09576040805162461bcd60e51b815260206004820152601460248201527362616420706172616d657465722073746174757360601b604482015290519081900360640190fd5b6001600160a01b039091166000908152600d6020526040902060040155565b610a3361095b612819565b80610a415750610a416112e2565b610a7c5760405162461bcd60e51b81526004018080602001828103825260408152602001806142ef6040913960400191505060405180910390fd5b805b828110610ab0576000818152600f60205260409020546001600160a01b0316610aa68161281d565b5060001901610a7e565b505050565b610abd6112e2565b610afc576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b600480546001600160a01b039384166001600160a01b03199182161790915560058054929093169116179055565b600b54600a54600654600083815260076020908152604080832054600890925290912054601054601154601254601354909192939495969798565b610b6d613f76565b606080610b7933611c30565b80610b8c5750336001600160a01b038616145b610bc75760405162461bcd60e51b81526004018080602001828103825260298152602001806142406029913960400191505060405180910390fd5b83610bd257600b5493505b610bda613f95565b6001600160a01b038681166000908152600d6020908152604091829020825160a08101845281548152600180830154909516818401526002808301805486516101009882161598909802600019011691909104601f8101859004850287018501865280875291959294860193909190830182828015610c9a5780601f10610c6f57610100808354040283529160200191610c9a565b820191906000526020600020905b815481529060010190602001808311610c7d57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015610d2e5780601f10610d0357610100808354040283529160200191610d2e565b820191906000526020600020905b815481529060010190602001808311610d1157829003601f168201915b505050505081526020016004820154815250509050610d4b613fcd565b6000868152600c602081815260408084206001600160a01b038c81168652908352938190208151610260810183528154815260018083015490961681850152600280830154828501526003830154606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e08301526008830154610100808401919091526009840154610120840152600a840154610140840152600b84015461016084015295830180548551988116159097026000190190961604601f810185900485028701850190935282865294909361018086019391929091830182828015610e7d5780601f10610e5257610100808354040283529160200191610e7d565b820191906000526020600020905b815481529060010190602001808311610e6057829003601f168201915b5050509183525050600d8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015610f115780601f10610ee657610100808354040283529160200191610f11565b820191906000526020600020905b815481529060010190602001808311610ef457829003601f168201915b50505050508152602001600e8201548152602001600f82015481526020016010820154815260200160118201805480602002602001604051908101604052809291908181526020018280548015610f8757602002820191906000526020600020905b815481526020019060010190808311610f73575b505050918352505060129190910154602090910152825190915085600060200201526060810151856001602002015260a0810151856002602002015260e081015185600360200201526101008101518560046020020152610140810151856005602002015261012081015185600660200201526101e08101518560076020020152608082015185600860200201526101c08101518560096020020152604081015185600a602002015260c081015185600b6020020152608081015185600c60200201526102208101515185600d602002015261020081015185600e602002015261016081015185600f6020020152610240810151856010602002015250604081015160609091015190925090509250925092565b60146020526000908152604090205481565b600080600e836040518082805190602001908083835b602083106110e25780518252601f1990920191602091820191016110c3565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316151593505050505b919050565b61112c6112e2565b61116b576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b61117c60028263ffffffff612e4016565b50565b6111876112e2565b6111c6576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b61117c60028263ffffffff612ea716565b6111df6112e2565b61121e576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b670de0b6b3a764000047106112645760405162461bcd60e51b815260040180806020018281038252602b81526020018061419c602b913960400191505060405180910390fd5b600b805460010190556009546112a890620151809061129c90829061129090429063ffffffff612f2816565b9063ffffffff612f7416565b9063ffffffff612fc916565b6006556001601355565b60006112bd33611c30565b6112c657600080fd5b506000908152600f60205260409020546001600160a01b031690565b600080546001600160a01b03166112f7612819565b6001600160a01b03161490505b90565b61131261095b612819565b8061132057506113206112e2565b61135b5760405162461bcd60e51b81526004018080602001828103825260408152602001806142ef6040913960400191505060405180910390fd5b60005b838110156113ab5782828281811061137257fe5b905060200201356014600087878581811061138957fe5b602090810292909201358352508101919091526040016000205560010161135e565b5050505050565b6113ba6112e2565b6113f9576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b601354600114611450576040805162461bcd60e51b815260206004820152601c60248201527f63616e206e6f74207365742073746172742074696d6520616761696e00000000604482015290519081900360640190fd5b4281116114a4576040805162461bcd60e51b815260206004820152601760248201527f696e76616c69642067616d652073746172742074696d65000000000000000000604482015290519081900360640190fd5b6006556000601355565b60006114b933611c30565b6114fe576040805162461bcd60e51b815260206004820152601160248201527014195c9b5a5cdcda5bdb8819195b9a5959607a1b604482015290519081900360640190fd5b600e826040518082805190602001908083835b602083106115305780518252601f199092019160209182019101611511565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316949350505050565b33803b80156115b8576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b323314611601576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b611609612628565b61164b576040805162461bcd60e51b815260206004820152600e60248201526d19d85b59481b9bdd081cdd185c9d60921b604482015290519081900360640190fd5b600b546000908152600c6020908152604080832033845290915290206004810154670de0b6b3a764000011156116c1576040805162461bcd60e51b8152602060048201526016602482015275155cd95c881a185cc81b9bc8199c9959505b5bdd5b9d60521b604482015290519081900360640190fd5b600481015460009081906116d490613027565b909250905080158015906116ea57506012548111155b156113ab576116f93382613048565b600060048401555050505050565b600b546000908152600c60209081526040808320338452909152902060018214806117325750816002145b611776576040805162461bcd60e51b815260206004820152601060248201526f696e76616c696420757365725479706560801b604482015290519081900360640190fd5b81816002015414156117bc576040805162461bcd60e51b815260206004820152600a60248201526953616d6520737461746560b01b604482015290519081900360640190fd5b60008160030154116117ff5760405162461bcd60e51b815260040180806020018281038252602381526020018061428a6023913960400191505060405180910390fd5b806002015460011480156118135750816002145b156119b25760028160020181905550600081601001819055504281600b01819055506000600e82600d0160405180828054600181600116156101000203166002900480156118985780601f10611876576101008083540402835291820191611898565b820191906000526020600020905b815481529060010190602001808311611884575b50509283525050604080516020928190038301902054600b546000908152600c84528281206001600160a01b03909216808252918452828120338252600d909452828120828252929020600384015491945090670de0b6b3a764000011801590611906575082600201546002145b801561191a575084600a015483600a015410155b801561192857506004820154155b801561193657506004810154155b156119ad576003850154600090819061196190879061195c90600a63ffffffff612f7416565b613084565b90925090506119708187613205565b6006850154611985908263ffffffff612f2816565b6006860155816119aa57600e8501546119a4908263ffffffff612f2816565b600e8601555b50505b505050505b806002015460021480156119c65750816001145b15611c2c5780600301546119ff6119ee60046112906005600354612fc990919063ffffffff16565b600e8401549063ffffffff612f2816565b1115611a3c5760405162461bcd60e51b81526004018080602001828103825260248152602001806141ed6024913960400191505060405180910390fd5b6000611a5982600e015483600301546132be90919063ffffffff16565b90506801a055690d9db80000811115611aaa576040805162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a5908185b5bdd5b9d60921b604482015290519081900360640190fd5b611ac0600561129083600463ffffffff612fc916565b6001600284015560006010840155600354909150611ae89061129c838263ffffffff612f7416565b6003830181905560408051630219207560e61b8152600481019290925251732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7916386481d40916024808301926020929190829003018186803b158015611b4157600080fd5b505af4158015611b55573d6000803e3d6000fd5b505050506040513d6020811015611b6b57600080fd5b5051600a83018190556040805163f7ad55d960e01b8152600481019290925251600091732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a79163f7ad55d991602480820192602092909190829003018186803b158015611bca57600080fd5b505af4158015611bde573d6000803e3d6000fd5b505050506040513d6020811015611bf457600080fd5b5051600060098501556003840154909150611c1d906103e890611290908463ffffffff612fc916565b600884015550506000600e8201555b5050565b6000611c4360028363ffffffff61330e16565b80611c515750611c516112e2565b92915050565b611c5f6112e2565b611c9e576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b6801a055690d9db800008310158015611cc0575068056bc75e2d631000008210155b8015611cd557506801a055690d9db800008110155b611d17576040805162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a5908185b5bdd5b9d60921b604482015290519081900360640190fd5b601092909255601155601255565b33803b8015611d70576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b323314611db9576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b611dc1612628565b611e03576040805162461bcd60e51b815260206004820152600e60248201526d19d85b59481b9bdd081cdd185c9d60921b604482015290519081900360640190fd5b670de0b6b3a7640000341015611e51576040805162461bcd60e51b815260206004820152600e60248201526d67726561746572207468616e203160901b604482015290519081900360640190fd5b600354611e689061129c348263ffffffff612f7416565b3414611eaf576040805162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672076616c756560781b604482015290519081900360640190fd5b8260011480611ebe5750826002145b611f02576040805162461bcd60e51b815260206004820152601060248201526f696e76616c696420757365725479706560801b604482015290519081900360640190fd5b336000908152600d6020526040902080546121e457604080516321f1757360e21b815260048101918252875160448201528751732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7926387c5d5cc928a9282916024810191606490910190602086019080838360005b83811015611f83578181015183820152602001611f6b565b50505050905090810190601f168015611fb05780820380516001836020036101000a031916815260200191505b50838103825260068152602001806501010101010160d51b815250602001935050505060206040518083038186803b158015611feb57600080fd5b505af4158015611fff573d6000803e3d6000fd5b505050506040513d602081101561201557600080fd5b5051158015612025575085516006145b61206c576040805162461bcd60e51b8152602060048201526013602482015272696e76616c696420696e7669746520636f646560681b604482015290519081900360640190fd5b6000600e866040518082805190602001908083835b602083106120a05780518252601f199092019160209182019101612081565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b031692506120e491508790506110ad565b612128576040805162461bcd60e51b815260206004820152601060248201526f189950dbd919481b9bdd08195e1a5cdd60821b604482015290519081900360640190fd5b6001600160a01b038116331415612186576040805162461bcd60e51b815260206004820152601860248201527f6265436f6465416464722063616e27742062652073656c660000000000000000604482015290519081900360640190fd5b61218f876110ad565b156121d7576040805162461bcd60e51b81526020600482015260136024820152721a5b9d9a5d194818dbd919481a5cc81d5cd959606a1b604482015290519081900360640190fd5b6121e2338888613375565b505b600b546000908152600c6020908152604080832033845290915290206001851480612213575080600201546001145b156122925760038054601283015460009081526014602052604090205491830154910290612247903463ffffffff612f2816565b1115612292576040805162461bcd60e51b81526020600482015260156024820152744e6f206d6f7265207468616e204d617856616c756560581b604482015290519081900360640190fd5b60038101546801a055690d9db80000906122b2903463ffffffff612f2816565b11156122f7576040805162461bcd60e51b815260206004820152600f60248201526e04e6f206d6f7265207468616e20333608c1b604482015290519081900360640190fd5b8054156123c757600381015461232357600281018590556000600e82015542600b8201819055600f8201555b6003810154612338903463ffffffff612f2816565b6003820181905560408051630219207560e61b8152600481019290925251732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7916386481d40916024808301926020929190829003018186803b15801561239157600080fd5b505af41580156123a5573d6000803e3d6000fd5b505050506040513d60208110156123bb57600080fd5b5051600a820155612595565b815481556001810180546001600160a01b03191633179055346003820181905560408051630219207560e61b8152600481019290925251732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7916386481d40916024808301926020929190829003018186803b15801561243957600080fd5b505af415801561244d573d6000803e3d6000fd5b505050506040513d602081101561246357600080fd5b5051600a8201556002808301805461248f92600c85019291600019610100600183161502011604614068565b506003820180546124b791600d84019160026000196101006001841615020190911604614068565b50600280820186905542600b8301819055600f830155604051600384018054600093600e93918291849160001961010060018316150201160480156125335780601f10612511576101008083540402835291820191612533565b820191906000526020600020905b81548152906001019060200180831161251f575b50509283525050604080516020928190038301902054600b546000908152600c84528281206001600160a01b03909216808252919093529120805491925090156125925783546011820180546001810182556000918252602090912001555b50505b600b546000908152600760205260409020546125b890600163ffffffff612f2816565b600b805460009081526007602090815260408083209490945591548152600890915220546125ec903463ffffffff612f2816565b600b5460009081526008602052604090205561260734613482565b600181015461261f906001600160a01b0316346134ca565b50505050505050565b600060065460001415801561263e575060065442115b905090565b33803b801561268e576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b3233146126d7576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b611c2c3361281d565b6001546001600160a01b031633146127295760405162461bcd60e51b81526004018080602001828103825260268152602001806141c76026913960400191505060405180910390fd5b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6127556112e2565b612794576040805162461bcd60e51b815260206004820181905260248201526000805160206142ad833981519152604482015290519081900360640190fd5b6000546001600160a01b03828116911614156127f7576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f7420617070726f76652063757272656e74206f776e65722e000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b612825612628565b612867576040805162461bcd60e51b815260206004820152600e60248201526d19d85b59481b9bdd081cdd185c9d60921b604482015290519081900360640190fd5b600b546000908152600c602090815260408083206001600160a01b03851684529091529020612894613f95565b6001600160a01b038381166000908152600d6020908152604091829020825160a08101845281548152600180830154909516818401526002808301805486516101009882161598909802600019011691909104601f81018590048502870185018652808752919592948601939091908301828280156129545780601f1061292957610100808354040283529160200191612954565b820191906000526020600020905b81548152906001019060200180831161293757829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156129e85780601f106129bd576101008083540402835291602001916129e8565b820191906000526020600020905b8154815290600101906020018083116129cb57829003601f168201915b505050505081526020016004820154815250509050612a0633611c30565b15612a5d57612a2062014370610d9863ffffffff612f2816565b600f830154612a3690429063ffffffff6132be16565b111580612a4257508154155b80612a4c57508051155b15612a5857505061117c565b612b02565b8154612a9a5760405162461bcd60e51b815260040180806020018281038252602f815260200180614211602f913960400191505060405180910390fd5b612aaf62014370610d9863ffffffff612f2816565b600f830154612ac590429063ffffffff6132be16565b1015612b025760405162461bcd60e51b81526004018080602001828103825260268152602001806141766026913960400191505060405180910390fd5b42600f830155608081015160011415612b1c57505061117c565b60008090506000732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a763f7ad55d985600a01546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612b7657600080fd5b505af4158015612b8a573d6000803e3d6000fd5b505050506040513d6020811015612ba057600080fd5b50516003850154909150670de0b6b3a76400008110801590612bc85750601054856003015411155b15612cbe5784600201546001148015612be5575060058560100154105b80612bf4575084600201546002145b15612c5a576008850154612c0f90849063ffffffff612f2816565b9250612c2c85600801548660070154612f2890919063ffffffff16565b6007860155600285015460011415612c5a576010850154612c5490600163ffffffff612f2816565b60108601555b84600201546001148015612c7357506005856010015410155b15612cbe5760038501546004860154612c919163ffffffff612f2816565b600486015560006003860181905560088601819055600a8601819055600286015560128501805460010190555b82612ccd57505050505061117c565b6080840151158015612ce3575084600201546002145b15612d21576009850154612cfe90849063ffffffff612f2816565b9250612d1b85600901548660050154612f2890919063ffffffff16565b60058601555b600083118015612d3357506011548311155b15612e3857600080612d458886613084565b6009890154919350915015612d5c57600060098801555b612d668189613205565b8015612e355781612d8c57600e870154612d86908663ffffffff612f2816565b600e8801555b6080860151612e3557600d87018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152612e359390929091830182828015612e245780601f10612df957610100808354040283529160200191612e24565b820191906000526020600020905b815481529060010190602001808311612e0757829003601f168201915b505050505084868a600b0154613753565b50505b505050505050565b612e4a828261330e565b612e855760405162461bcd60e51b81526004018080602001828103825260218152602001806142696021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b612eb1828261330e565b15612f03576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b600082820183811015612f6d576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b9392505050565b6000808211612fb5576040805162461bcd60e51b8152602060048201526008602482015267646976207a65726f60c01b604482015290519081900360640190fd5b6000828481612fc057fe5b04949350505050565b600082612fd857506000611c51565b82820282848281612fe557fe5b0414612f6d576040805162461bcd60e51b815260206004820152600c60248201526b6d756c206f766572666c6f7760a01b604482015290519081900360640190fd5b60008082471061303c57506001905081613043565b5060009050475b915091565b8015611c2c576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610ab0573d6000803e3d6000fd5b600b546000908152600c602090815260408083206001600160a01b038616845290915281206002810154829190600114806130c157506002810154155b156130d35760008492509250506131fe565b600061316d600a611290732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7630b1edbac86600301546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561313057600080fd5b505af4158015613144573d6000803e3d6000fd5b505050506040513d602081101561315a57600080fd5b505160038601549063ffffffff612fc916565b9050806131878684600e0154612f2890919063ffffffff16565b106131f7576001935081600e015481116131a457600092506131bd565b600e8201546131ba90829063ffffffff6132be16565b92505b600060088301819055600a830181905560038301819055600e830181905560028301819055600983015560128201805460010190556131fb565b8492505b50505b9250929050565b60008061321184613027565b9092509050801580159061322757506011548111155b156132b857604080514360208083019190915242828401528251808303840181526060909201909252805191012060009061326990601063ffffffff613beb16565b905060006132828261129c85606463ffffffff612f7416565b60055490915061329b906001600160a01b031682613048565b6132ab838263ffffffff6132be16565b92508461261f8185613048565b50505050565b600082821115613308576040805162461bcd60e51b815260206004820152601060248201526f3637bbb2b91039bab1103134b3b3b2b960811b604482015290519081900360640190fd5b50900390565b60006001600160a01b0382166133555760405162461bcd60e51b81526004018080602001828103825260228152602001806142cd6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b0383166000818152600d60209081526040909120600a8054600190810191829055908255810180546001600160a01b03191690931790925583516133c8916002840191908601906140ed565b5081516133de90600383019060208501906140ed565b5083600e846040518082805190602001908083835b602083106134125780518252601f1990920191602091820191016133f3565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942080546001600160a01b03199081166001600160a01b0397881617909155600a546000908152600f9092529390208054909316979093169690961790555050505050565b6004546001600160a01b03166108fc6134a283600a63ffffffff612f7416565b6040518115909202916000818181858888f19350505050158015611c2c573d6000803e3d6000fd5b600b546000908152600c602090815260408083206001600160a01b0386168452909152902080546134fb5750611c2c565b6000732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a763f7ad55d983600a01546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561355057600080fd5b505af4158015613564573d6000803e3d6000fd5b505050506040513d602081101561357a57600080fd5b5051600383015490915061359c906103e890611290908463ffffffff612fc916565b8260080181905550600082601001819055506000600e83600d0160405180828054600181600116156101000203166002900480156136115780601f106135ef576101008083540402835291820191613611565b820191906000526020600020905b8154815290600101906020018083116135fd575b50509283525050604080516020928190038301902054600b546000908152600c84528281206001600160a01b03928316808352908552838220928a168252600d90945282812084825292902060038201549394509092670de0b6b3a764000011801590613682575082600201546002145b8015613692575085600201546002145b80156136a6575085600a015483600a015410155b80156136b457506004820154155b80156136c257506004810154155b15612e3557600183015460009081906136ef906001600160a01b031661195c8b600a63ffffffff612f7416565b6001870154919350915061370d9082906001600160a01b0316613205565b6006850154613722908263ffffffff612f2816565b60068601558161374757600e850154613741908263ffffffff612f2816565b600e8601555b50505050505050505050565b8360015b60148111612e3857604080516321f1757360e21b815260048101918252835160448201528351732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a7926387c5d5cc92869282916024810191606490910190602086019080838360005b838110156137cb5781810151838201526020016137b3565b50505050905090810190601f1680156137f85780820380516001836020036101000a031916815260200191505b50838103825260008152602001602001935050505060206040518083038186803b15801561382557600080fd5b505af4158015613839573d6000803e3d6000fd5b505050506040513d602081101561384f57600080fd5b50511561385b57612e38565b6000600e836040518082805190602001908083835b6020831061388f5780518252601f199092019160209182019101613870565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201909420546001600160a01b03166000818152600d8352858120600b548252600c84528682208383529093529490942060048201549495509093909250151590508061390657506003810154155b8061391457508581600b0154115b8061392457508060020154600214155b156139c05760038201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156139b15780601f10613986576101008083540402835291602001916139b1565b820191906000526020600020905b81548152906001019060200180831161399457829003601f168201915b50505050509450505050613be3565b6000732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a763e08f079783600a01546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613a1557600080fd5b505af4158015613a29573d6000803e3d6000fd5b505050506040513d6020811015613a3f57600080fd5b505190506000732e063ef126b6dbb5fb6fa8b49ae865a8bd3936a76326eebf41613a6887613c3b565b886040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613aa457600080fd5b505af4158015613ab8573d6000803e3d6000fd5b505050506040513d6020811015613ace57600080fd5b505160038401549091506000908b11613ae8575089613aef565b5060038301545b8115613b4d576000613b128461129c8561129c8f87612fc990919063ffffffff16565b9050613b2e600a611290606481856103e863ffffffff612f7416565b6009860154909150613b46908263ffffffff612f2816565b6009860155505b60038501805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015613bd55780601f10613baa57610100808354040283529160200191613bd5565b820191906000526020600020905b815481529060010190602001808311613bb857829003601f168201915b505050505097505050505050505b600101613757565b600081613c2a576040805162461bcd60e51b81526020600482015260086024820152676d6f64207a65726f60c01b604482015290519081900360640190fd5b818381613c3357fe5b069392505050565b600b546000908152600c602090815260408083206001600160a01b0385168452909152812081805b6011830154811015613f31576000600f6000856011018481548110613c8457fe5b600091825260208083209091015483528201929092526040019020546001600160a01b031690508015613f2857613cb9613fcd565b600b80546000908152600c602081815260408084206001600160a01b038881168652908352938190208151610260810183528154815260018083015490961681850152600280830154828501526003830154606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e08301526008830154610100808401919091526009840154610120840152600a8401546101408401529783015461016083015294820180548451978116159098026000190190971694909404601f8101849004840286018401909252818552929492936101808601939092909190830182828015613df35780601f10613dc857610100808354040283529160200191613df3565b820191906000526020600020905b815481529060010190602001808311613dd657829003601f168201915b5050509183525050600d8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613e875780601f10613e5c57610100808354040283529160200191613e87565b820191906000526020600020905b815481529060010190602001808311613e6a57829003601f168201915b50505050508152602001600e8201548152602001600f82015481526020016010820154815260200160118201805480602002602001604051908101604052809291908181526020018280548015613efd57602002820191906000526020600020905b815481526020019060010190808311613ee9575b505050505081526020016012820154815250509050600381610140015110613f26576001909301925b505b50600101613c63565b50600a8110613f455760079250505061111f565b60058110613f585760069250505061111f565b60038110613f6b5760059250505061111f565b50600a015492915050565b6040518061022001604052806011906020820280388339509192915050565b6040518060a001604052806000815260200160006001600160a01b031681526020016060815260200160608152602001600081525090565b6040518061026001604052806000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160008152602001600081526020016000815260200160608152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106140a157805485556140dd565b828001600101855582156140dd57600052602060002091601f016020900482015b828111156140dd5782548255916001019190600101906140c2565b506140e992915061415b565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061412e57805160ff19168380011785556140dd565b828001600101855582156140dd579182015b828111156140dd578251825591602001919060010190614140565b61130491905b808211156140e9576000815560010161416156fe43616e206f6e6c7920626520657874726163746564206f6e636520696e20323420686f757273636f6e74726163742062616c616e6365206d757374206265206c6f776572207468616e203120657468657243616e206f6e6c792061636365707420707265617070726f766564206e6577206f776e65722e4c65737320726577617264207468616e207072696e636970616c20352f342065746865725573657273206f66207468652067616d6520617265206e6f742062657474696e6720696e207468697320726f756e645065726d697373696f6e2064656e69656420666f722076696577207573657227732070726976616379526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65667265657a65416d6f756e74206d7573742062652067726561746572207468616e20304f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572526f6c65733a206163636f756e7420697320746865207a65726f206164647265737357686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c65a265627a7a72315820835848ac439a3d79211f708234a95bd434e3e12896423408e3c5a2bb1791b4cf64736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000dbefe019b7373e2d7bf770977b96dec1706d2fa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000006454c47414d450000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _addr (address): 0x0dBeFE019B7373e2D7BF770977b96DeC1706d2fa
Arg [1] : inviteCode (string): ELGAME
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000000dbefe019b7373e2d7bf770977b96dec1706d2fa
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [3] : 454c47414d450000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
3472:16481:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6111:241;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6111:241:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6111:241:0;;;;;;;;:::i;11831:180::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11831:180:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11831:180:0;;;;;;;:::i;5600:126::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5600:126:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5600:126:0;;;;;;;;;;:::i;17397:261::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17397:261:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17663:994;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17663:994:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17663:994:0;;;;;;;;:::i;:::-;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;17663:994:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;17663:994:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17663:994:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;17663:994:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4757:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4757:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4757:42:0;;:::i;:::-;;;;;;;;;;;;;;;;18889:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18889:135:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18889:135:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;18889:135:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;18889:135:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;18889:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;18889:135:0;;-1:-1:-1;18889:135:0;;-1:-1:-1;;;;;18889:135:0:i;:::-;;;;;;;;;;;;;;;;;;3359:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3359:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3359:106:0;-1:-1:-1;;;;;3359:106:0;;:::i;3254:100::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3254:100:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3254:100:0;-1:-1:-1;;;;;3254:100:0;;:::i;19577:226::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19577:226:0;;;:::i;19808:142::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19808:142:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19808:142:0;;:::i;:::-;;;;-1:-1:-1;;;;;19808:142:0;;;;;;;;;;;;;;1271:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1271:85:0;;;:::i;5195:184::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5195:184:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5195:184:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5195:184:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5195:184:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5195:184:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5195:184:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5195:184:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;5195:184:0;;-1:-1:-1;5195:184:0;-1:-1:-1;5195:184:0;:::i;5384:211::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5384:211:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5384:211:0;;:::i;19029:180::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19029:180:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19029:180:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;19029:180:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;19029:180:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;19029:180:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;19029:180:0;;-1:-1:-1;19029:180:0;;-1:-1:-1;;;;;19029:180:0:i;8467:471::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8467:471:0;;;:::i;8943:1776::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8943:1776:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8943:1776:0;;:::i;3120:129::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3120:129:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3120:129:0;-1:-1:-1;;;;;3120:129:0;;:::i;5838:268::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5838:268:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5838:268:0;;;;;;;;;;;;:::i;6357:2105::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6357:2105:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;6357:2105:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6357:2105:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6357:2105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6357:2105:0;;;;;;;;-1:-1:-1;6357:2105:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6357:2105:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6357:2105:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6357:2105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6357:2105:0;;-1:-1:-1;;6357:2105:0;;;-1:-1:-1;6357:2105:0;;-1:-1:-1;;6357:2105:0:i;5731:102::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5731:102:0;;;:::i;11764:62::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11764:62:0;;;:::i;1588:143::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1588:143:0;;;:::i;1419:164::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1419:164:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1419:164:0;-1:-1:-1;;;;;1419:164:0;;:::i;6111:241::-;2992:30;3009:12;:10;:12::i;:::-;2992:16;:30::i;:::-;:43;;;;3026:9;:7;:9::i;:::-;2984:120;;;;-1:-1:-1;;;2984:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6196:11;;;:26;;;6211:6;6221:1;6211:11;6196:26;:41;;;;6226:6;6236:1;6226:11;6196:41;6188:74;;;;;-1:-1:-1;;;6188:74:0;;;;;;;;;;;;-1:-1:-1;;;6188:74:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6299:17:0;;;6267:29;6299:17;;;:11;:17;;;;;6321;;:26;6111:241::o;11831:180::-;2992:30;3009:12;:10;:12::i;2992:30::-;:43;;;;3026:9;:7;:9::i;:::-;2984:120;;;;-1:-1:-1;;;2984:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11917:3;11903:104;11927:5;11922:1;:10;11903:104;;11945:16;11964:15;;;:12;:15;;;;;;-1:-1:-1;;;;;11964:15:0;11985:16;11964:15;11985:6;:16::i;:::-;-1:-1:-1;;;11934:3:0;11903:104;;;;11831:180;;:::o;5600:126::-;1138:9;:7;:9::i;:::-;1130:54;;;;;-1:-1:-1;;;1130:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1130:54:0;;;;;;;;;;;;;;;5684:7;:14;;-1:-1:-1;;;;;5684:14:0;;;-1:-1:-1;;;;;;5684:14:0;;;;;;;5703:11;:18;;;;;;;;;;;5600:126::o;17397:261::-;17512:3;;17520;;17528:9;;17441:4;17542:17;;;:12;:17;;;;;;;;;17564:12;:17;;;;;;;17586:10;;17601:9;;17615:13;;17633:15;;17397:261;;;;;;;;;:::o;17663:994::-;17732:20;;:::i;:::-;17754:24;17780:20;17815:28;17832:10;17815:16;:28::i;:::-;:50;;;-1:-1:-1;17847:10:0;-1:-1:-1;;;;;17847:18:0;;;17815:50;17807:104;;;;-1:-1:-1;;;17807:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17922:12;17918:43;;17952:3;;17942:13;;17918:43;17967:28;;:::i;:::-;-1:-1:-1;;;;;17998:17:0;;;;;;;:11;:17;;;;;;;;;17967:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17967:48:0;;;;;;;;;;;;;;;;;;;;;;;;;17998:17;;17967:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17967:48:0;;;-1:-1:-1;;17967:48:0;;;;;;;;;;;;;;;;-1:-1:-1;;17967:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18020:16;;:::i;:::-;18039:25;;;;:16;:25;;;;;;;;-1:-1:-1;;;;;18039:31:0;;;;;;;;;;;;18020:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18020:50:0;;;;;;;;;;;;;;;;;;;;;;;;18039:31;;18020:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18020:50:0;;;-1:-1:-1;;18020:50:0;;;;;;;;;;;;;;;;-1:-1:-1;;18020:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18020:50:0;;;-1:-1:-1;;18020:50:0;;;;;;;;;;;18085:13;;18020:50;;-1:-1:-1;18075:4:0;-1:-1:-1;18075:7:0;;;:23;18113:17;;;;18103:4;18108:1;18103:7;;;:27;18145:17;;;;18135:4;18140:1;18135:7;;;:27;18177:16;;;;18167:4;18172:1;18167:7;;;:26;18208:17;;;;18198:4;18203:1;18198:7;;;:27;18240:10;;;;18230:4;18235:1;18230:7;;;:20;18265:17;;;;18255:4;18260:1;18255:7;;;:27;18297:15;;;;18287:4;18292:1;18287:7;;;:25;18327:17;;;;18317:4;18322:1;18317:7;;;:27;18359:13;;;;18349:4;18354:1;18349:7;;;:23;18388:13;;;;18377:4;18382:2;18377:8;;;:24;18417:16;;;;18406:4;18411:2;18406:8;;;:27;18449:15;;;;18438:4;18443:2;18438:8;;;:26;18480:14;;;;:21;18469:4;18474:2;18469:8;;;:32;18517:16;;;;18506:4;18511:2;18506:8;;;:27;18549:12;;;;18538:4;18543:2;18538:8;;;:23;18577:15;;;;18566:4;18571:2;18566:8;;;:26;-1:-1:-1;18611:21:0;;;;18634:17;;;;;18611:21;;-1:-1:-1;18634:17:0;-1:-1:-1;17663:994:0;;;;;:::o;4757:42::-;;;;;;;;;;;;;:::o;18889:135::-;18946:4;18957:12;18972:14;18987:4;18972:20;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;18972:20:0;;;;;-1:-1:-1;18972:20:0;;;;;;;;;;;-1:-1:-1;;;;;18972:20:0;19004:15;;;-1:-1:-1;;;;18889:135:0;;;;:::o;3359:106::-;1138:9;:7;:9::i;:::-;1130:54;;;;;-1:-1:-1;;;1130:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1130:54:0;;;;;;;;;;;;;;;3428:32;:16;3452:7;3428:32;:23;:32;:::i;:::-;3359:106;:::o;3254:100::-;1138:9;:7;:9::i;:::-;1130:54;;;;;-1:-1:-1;;;1130:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1130:54:0;;;;;;;;;;;;;;;3320:29;:16;3341:7;3320:29;:20;:29;:::i;19577:226::-;1138:9;:7;:9::i;:::-;1130:54;;;;;-1:-1:-1;;;1130:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1130:54:0;;;;;;;;;;;;;;;19653:7;19629:21;:31;19621:87;;;;-1:-1:-1;;;19621:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19713:3;:5;;;;;;19743:6;;19735:39;;19767:6;;19735:27;;19767:6;;19735:15;;:3;;:15;:7;:15;:::i;:::-;:19;:27;:19;:27;:::i;:::-;:31;:39;:31;:39;:::i;:::-;19723:9;:51;19797:1;19779:15;:19;19577:226::o;19808:142::-;19866:7;19888:28;19905:10;19888:16;:28::i;:::-;19880:37;;;;;;-1:-1:-1;19929:16:0;;;;:12;:16;;;;;;-1:-1:-1;;;;;19929:16:0;;19808:142::o;1271:85::-;1311:4;1345:6;;-1:-1:-1;;;;;1345:6:0;1329:12;:10;:12::i;:::-;-1:-1:-1;;;;;1329:22:0;;1322:29;;1271:85;;:::o;5195:184::-;2992:30;3009:12;:10;:12::i;2992:30::-;:43;;;;3026:9;:7;:9::i;:::-;2984:120;;;;-1:-1:-1;;;2984:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5295:6;5291:84;5305:16;;;5291:84;;;5360:6;;5367:1;5360:9;;;;;;;;;;;;;5334:13;:23;5348:5;;5354:1;5348:8;;;;;;;;;;;;;;;;5334:23;;-1:-1:-1;5334:23:0;;;;;;;;-1:-1:-1;5334:23:0;:35;5324:3;;5291:84;;;;5195:184;;;;:::o;5384:211::-;1138:9;:7;:9::i;:::-;1130:54;;;;;-1:-1:-1;;;1130:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1130:54:0;;;;;;;;;;;;;;;5441:15;;5460:1;5441:20;5433:61;;;;;-1:-1:-1;;;5433:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5514:3;5507:4;:10;5499:46;;;;;-1:-1:-1;;;5499:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5550:9;:16;5589:1;5571:15;:19;5384:211::o;19029:180::-;19100:7;19122:28;19139:10;19122:16;:28::i;:::-;19114:58;;;;;-1:-1:-1;;;19114:58:0;;;;;;;;;;;;-1:-1:-1;;;19114:58:0;;;;;;;;;;;;;;;19184:14;19199:4;19184:20;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;19184:20:0;;;;;-1:-1:-1;19184:20:0;;;;;;;;;;;-1:-1:-1;;;;;19184:20:0;;19029:180;-1:-1:-1;;;;19029:180:0:o;8467:471::-;4844:10;4903:17;;4933:15;;4925:46;;;;;-1:-1:-1;;;4925:46:0;;;;;;;;;;;;-1:-1:-1;;;4925:46:0;;;;;;;;;;;;;;;4984:9;4997:10;4984:23;4976:54;;;;;-1:-1:-1;;;4976:54:0;;;;;;;;;;;;-1:-1:-1;;;4976:54:0;;;;;;;;;;;;;;;8523:15;:13;:15::i;:::-;8515:42;;;;;-1:-1:-1;;;8515:42:0;;;;;;;;;;;;-1:-1:-1;;;8515:42:0;;;;;;;;;;;;;;;8599:3;;8562:17;8582:21;;;:16;:21;;;;;;;;8604:10;8582:33;;;;;;;8628:15;;;;8647:7;-1:-1:-1;8628:26:0;8620:61;;;;;-1:-1:-1;;;8620:61:0;;;;;;;;;;;;-1:-1:-1;;;8620:61:0;;;;;;;;;;;;;;;8781:15;;;;8686:13;;;;8765:32;;:15;:32::i;:::-;8739:58;;-1:-1:-1;8739:58:0;-1:-1:-1;8808:15:0;;;;;:47;;;8842:13;;8827:11;:28;;8808:47;8804:130;;;8863:40;8879:10;8891:11;8863:15;:40::i;:::-;8927:1;8909:15;;;:19;5035:1;;;8467:471;;:::o;8943:1776::-;9025:3;;8988:17;9008:21;;;:16;:21;;;;;;;;9030:10;9008:33;;;;;;;9066:1;9054:13;;;:30;;;9071:8;9083:1;9071:13;9054:30;9046:59;;;;;-1:-1:-1;;;9046:59:0;;;;;;;;;;;;-1:-1:-1;;;9046:59:0;;;;;;;;;;;;;;;9135:8;9118:4;:13;;;:25;;9110:48;;;;;-1:-1:-1;;;9110:48:0;;;;;;;;;;;;-1:-1:-1;;;9110:48:0;;;;;;;;;;;;;;;9191:1;9171:4;:17;;;:21;9163:69;;;;-1:-1:-1;;;9163:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9241:4;:13;;;9258:1;9241:18;:35;;;;;9263:8;9275:1;9263:13;9241:35;9237:839;;;9300:1;9284:4;:13;;:17;;;;9326:1;9307:4;:16;;:20;;;;9348:3;9333:4;:12;;:18;;;;9357:19;9379:14;9394:4;:11;;9379:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9379:27:0;;;-1:-1:-1;;9379:27:0;;;;;;;;;;;;;9452:3;;9379:27;9435:21;;;:16;:21;;;;;-1:-1:-1;;;;;9379:27:0;;;9435:34;;;;;;;;;9519:10;9507:23;;:11;:23;;;;;;9571:24;;;;;;9605:20;;;;9379:27;;-1:-1:-1;9571:24:0;9629:7;-1:-1:-1;9605:31:0;;;:56;;;9640:7;:16;;;9660:1;9640:21;9605:56;:87;;;;;9682:4;:10;;;9665:7;:13;;;:27;;9605:87;:113;;;;-1:-1:-1;9696:17:0;;;;:22;9605:113;:142;;;;-1:-1:-1;9722:20:0;;;;:25;9605:142;9601:470;;;9847:17;;;;9756:10;;;;9829:44;;9834:11;;9847:25;;9869:2;9847:25;:21;:25;:::i;:::-;9829:4;:44::i;:::-;9807:66;;-1:-1:-1;9807:66:0;-1:-1:-1;9880:35:0;9807:66;9903:11;9880:10;:35::i;:::-;9944:19;;;;:35;;9968:10;9944:35;:23;:35;:::i;:::-;9922:19;;;:57;9991:5;9986:79;;10025:16;;;;:32;;10046:10;10025:32;:20;:32;:::i;:::-;10006:16;;;:51;9986:79;9601:470;;;9237:839;;;;;10084:4;:13;;;10101:1;10084:18;:35;;;;;10106:8;10118:1;10106:13;10084:35;10080:635;;;10180:4;:17;;;10136:39;10154:20;10172:1;10154:13;10165:1;10154:6;;:10;;:13;;;;:::i;:20::-;10136:13;;;;;:39;:17;:39;:::i;:::-;10135:62;;10127:111;;;;-1:-1:-1;;;10127:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10244:12;10259:36;10281:4;:13;;;10259:4;:17;;;:21;;:36;;;;:::i;:::-;10244:51;;10320:8;10309:7;:19;;10301:46;;;;;-1:-1:-1;;;10301:46:0;;;;;;;;;;;;-1:-1:-1;;;10301:46:0;;;;;;;;;;;;;;;10363:21;10382:1;10363:14;:7;10375:1;10363:14;:11;:14;:::i;:21::-;10406:1;10390:13;;;:17;10432:1;10413:16;;;:20;10483:6;;10353:31;;-1:-1:-1;10459:31:0;;:19;10353:31;10483:6;10459:19;:11;:19;:::i;:31::-;10439:17;;;:51;;;10509:35;;;-1:-1:-1;;;10509:35:0;;;;;;;;;;:7;;:16;;:35;;;;;;;;;;;;;;:7;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;10509:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10509:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10509:35:0;10496:10;;;:48;;;10563:32;;;-1:-1:-1;;;10563:32:0;;;;;;;;;;10550:10;;10563:7;;:20;;:32;;;;;10509:35;;10563:32;;;;;;;;:7;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;10563:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10563:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10563:32:0;10621:1;10601:17;;;:21;10648:17;;;;10563:32;;-1:-1:-1;10648:38:0;;10681:4;;10648:28;;10563:32;10648:28;:21;:28;:::i;:38::-;10628:17;;;:58;-1:-1:-1;;10708:1:0;10692:13;;;:17;10080:635;8943:1776;;:::o;3120:129::-;3184:4;3202:29;:16;3223:7;3202:29;:20;:29;:::i;:::-;:42;;;;3235:9;:7;:9::i;:::-;3195:49;3120:129;-1:-1:-1;;3120:129:0:o;5838:268::-;1138:9;:7;:9::i;:::-;1130:54;;;;;-1:-1:-1;;;1130:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1130:54:0;;;;;;;;;;;;;;;5946:8;5935:7;:19;;:42;;;;;5968:9;5958:6;:19;;5935:42;:68;;;;;5995:8;5981:10;:22;;5935:68;5927:95;;;;;-1:-1:-1;;;5927:95:0;;;;;;;;;;;;-1:-1:-1;;;5927:95:0;;;;;;;;;;;;;;;6027:10;:20;;;;6052:9;:18;6075:13;:26;5838:268::o;6357:2105::-;4844:10;4903:17;;4933:15;;4925:46;;;;;-1:-1:-1;;;4925:46:0;;;;;;;;;;;;-1:-1:-1;;;4925:46:0;;;;;;;;;;;;;;;4984:9;4997:10;4984:23;4976:54;;;;;-1:-1:-1;;;4976:54:0;;;;;;;;;;;;-1:-1:-1;;;4976:54:0;;;;;;;;;;;;;;;6473:15;:13;:15::i;:::-;6465:42;;;;;-1:-1:-1;;;6465:42:0;;;;;;;;;;;;-1:-1:-1;;;6465:42:0;;;;;;;;;;;;;;;6533:7;6520:9;:20;;6512:46;;;;;-1:-1:-1;;;6512:46:0;;;;;;;;;;;;-1:-1:-1;;;6512:46:0;;;;;;;;;;;;;;;6610:6;;6584:33;;:21;:9;6610:6;6584:21;:13;:21;:::i;:33::-;6571:9;:46;6563:76;;;;;-1:-1:-1;;;6563:76:0;;;;;;;;;;;;-1:-1:-1;;;6563:76:0;;;;;;;;;;;;;;;6652:8;6664:1;6652:13;:30;;;;6669:8;6681:1;6669:13;6652:30;6644:59;;;;;-1:-1:-1;;;6644:59:0;;;;;;;;;;;;-1:-1:-1;;;6644:59:0;;;;;;;;;;;;;;;6752:10;6708:29;6740:23;;;:11;:23;;;;;6772:13;;6768:414;;6807:40;;;-1:-1:-1;;;6807:40:0;;;;;;;;;;;;;;;;:7;;:18;;6826:10;;6807:40;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6807:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6807:40:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6807:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6807:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6807:40:0;6806:41;:74;;;;;6857:10;6851:24;6879:1;6851:29;6806:74;6798:106;;;;;-1:-1:-1;;;6798:106:0;;;;;;;;;;;;-1:-1:-1;;;6798:106:0;;;;;;;;;;;;;;;6910:18;6931:14;6946:6;6931:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;6931:22:0;;;;;-1:-1:-1;6931:22:0;;;;;;;;;;;-1:-1:-1;;;;;6931:22:0;;-1:-1:-1;6967:14:0;;-1:-1:-1;6974:6:0;;-1:-1:-1;6967:6:0;:14::i;:::-;6959:43;;;;;-1:-1:-1;;;6959:43:0;;;;;;;;;;;;-1:-1:-1;;;6959:43:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7016:24:0;;7030:10;7016:24;;7008:61;;;;;-1:-1:-1;;;7008:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7084:18;7091:10;7084:6;:18::i;:::-;7083:19;7075:51;;;;;-1:-1:-1;;;7075:51:0;;;;;;;;;;;;-1:-1:-1;;;7075:51:0;;;;;;;;;;;;;;;7132:44;7145:10;7157;7169:6;7132:12;:44::i;:::-;6768:414;;7225:3;;7188:17;7208:21;;;:16;:21;;;;;;;;7230:10;7208:33;;;;;;;7261:1;7249:13;;;:35;;;7266:4;:13;;;7283:1;7266:18;7249:35;7246:160;;;7368:6;;;7349:15;;;;7335:30;;;;:13;:30;;;;;;7299:17;;;;7335:39;;;7299:32;;7321:9;7299:32;:21;:32;:::i;:::-;:75;;7291:109;;;;;-1:-1:-1;;;7291:109:0;;;;;;;;;;;;-1:-1:-1;;;7291:109:0;;;;;;;;;;;;;;;7418:17;;;;7454:8;;7418:32;;7440:9;7418:32;:21;:32;:::i;:::-;:44;;7410:72;;;;;-1:-1:-1;;;7410:72:0;;;;;;;;;;;;-1:-1:-1;;;7410:72:0;;;;;;;;;;;;;;;7491:7;;:12;7487:803;;7515:17;;;;7511:143;;7546:13;;;:24;;;7593:1;7577:13;;;:17;7616:3;7601:12;;;:18;;;7626:15;;;:21;7511:143;7679:17;;;;:32;;7701:9;7679:32;:21;:32;:::i;:::-;7659:17;;;:52;;;7730:35;;;-1:-1:-1;;;7730:35:0;;;;;;;;;;:7;;:16;;:35;;;;;;;;;;;;;;:7;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;7730:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7730:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7730:35:0;7717:10;;;:48;7487:803;;;7793:13;;7783:23;;7812:16;;;:29;;-1:-1:-1;;;;;;7812:29:0;7831:10;7812:29;;;7867:9;7847:17;;;:29;;;7895:27;;;-1:-1:-1;;;7895:27:0;;;;;;;;;;:7;;:16;;:27;;;;;;;;;;;;;;:7;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;7895:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7895:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7895:27:0;7882:10;;;:40;7946:21;;;;7928:39;;;;:15;;;;7946:21;-1:-1:-1;;7928:39:0;;;;;;;;;;:::i;:::-;-1:-1:-1;7987:17:0;;;7973:31;;;;:11;;;;:31;-1:-1:-1;;7973:31:0;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8010:13:0;;;;:24;;;8055:3;8040:12;;;:18;;;8064:15;;;:21;8112:33;;8127:17;;;8112:33;;-1:-1:-1;;8112:14:0;;:33;;;8127:17;;-1:-1:-1;;8112:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8112:33:0;;;-1:-1:-1;;8112:33:0;;;;;;;;;;;;;8191:3;;8112:33;8174:21;;;:16;:21;;;;;-1:-1:-1;;;;;8112:33:0;;;8174;;;;;;;;;8217:10;;8112:33;;-1:-1:-1;8174:33:0;8217:15;8213:72;;8264:13;;8241:17;;;27:10:-1;;39:1;23:18;;45:23;;8264:13:0;8241:37;;;;;;;;;8213:72;7487:803;;;8327:3;;8314:17;;;;:12;:17;;;;;;:24;;8336:1;8314:24;:21;:24;:::i;:::-;8307:3;;;8294:17;;;;:12;:17;;;;;;;;:44;;;;8376:3;;8363:17;;:12;:17;;;;;:32;;8385:9;8363:32;:21;:32;:::i;:::-;8356:3;;8343:17;;;;:12;:17;;;;;:52;8400:18;8408:9;8400:7;:18::i;:::-;8429:16;;;;8423:34;;-1:-1:-1;;;;;8429:16:0;8447:9;8423:5;:34::i;:::-;5035:1;;6357:2105;;;;;:::o;5731:102::-;5777:4;5795:9;;5808:1;5795:14;;:33;;;;;5819:9;;5813:3;:15;5795:33;5788:40;;5731:102;:::o;11764:62::-;4844:10;4903:17;;4933:15;;4925:46;;;;;-1:-1:-1;;;4925:46:0;;;;;;;;;;;;-1:-1:-1;;;4925:46:0;;;;;;;;;;;;;;;4984:9;4997:10;4984:23;4976:54;;;;;-1:-1:-1;;;4976:54:0;;;;;;;;;;;;-1:-1:-1;;;4976:54:0;;;;;;;;;;;;;;;11803:18;11810:10;11803:6;:18::i;1588:143::-;1651:9;;-1:-1:-1;;;;;1651:9:0;1637:10;:23;1629:74;;;;-1:-1:-1;;;1629:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1717:9;;;1708:18;;-1:-1:-1;;;;;;1708:18:0;-1:-1:-1;;;;;1717:9:0;;;1708:18;;;;;;1588:143::o;1419:164::-;1138:9;:7;:9::i;:::-;1130:54;;;;;-1:-1:-1;;;1130:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1130:54:0;;;;;;;;;;;;;;;1511:6;;-1:-1:-1;;;;;1497:20:0;;;1511:6;;1497:20;;1489:62;;;;;-1:-1:-1;;;1489:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1556:9;:22;;-1:-1:-1;;;;;;1556:22:0;-1:-1:-1;;;;;1556:22:0;;;;;;;;;;1419:164::o;305:81::-;371:10;305:81;:::o;12016:2050::-;12067:15;:13;:15::i;:::-;12059:42;;;;;-1:-1:-1;;;12059:42:0;;;;;;;;;;;;-1:-1:-1;;;12059:42:0;;;;;;;;;;;;;;;12143:3;;12106:17;12126:21;;;:16;:21;;;;;;;;-1:-1:-1;;;;;12126:27:0;;;;;;;;;12158:28;;:::i;:::-;-1:-1:-1;;;;;12189:17:0;;;;;;;:11;:17;;;;;;;;;12158:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12158:48:0;;;;;;;;;;;;;;;;;;;;;;;;;12189:17;;12158:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12158:48:0;;;-1:-1:-1;;12158:48:0;;;;;;;;;;;;;;;;-1:-1:-1;;12158:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12215:28;12232:10;12215:16;:28::i;:::-;12211:359;;;12283:24;:8;12296:10;12283:24;:12;:24;:::i;:::-;12263:15;;;;12255:24;;:3;;:24;:7;:24;:::i;:::-;:52;;:68;;;-1:-1:-1;12311:7:0;;:12;12255:68;:90;;;-1:-1:-1;12327:13:0;;:18;12255:90;12251:116;;;12354:7;;;;12251:116;12211:359;;;12392:7;;12384:71;;;;-1:-1:-1;;;12384:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12497:24;:8;12510:10;12497:24;:12;:24;:::i;:::-;12477:15;;;;12469:24;;:3;;:24;:7;:24;:::i;:::-;:52;;12461:103;;;;-1:-1:-1;;;12461:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12592:3;12574:15;;;:21;12604:17;;;;12625:1;12604:22;12600:46;;;12634:7;;;;12600:46;12650:14;12667:1;12650:18;;12673:10;12686:7;:20;12707:4;:10;;;12686:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12686:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12686:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12686:32:0;12743:17;;;;12686:32;;-1:-1:-1;12790:7:0;12769:28;;;;;:63;;;12822:10;;12801:4;:17;;;:31;;12769:63;12765:614;;;12845:4;:13;;;12862:1;12845:18;:42;;;;;12886:1;12867:4;:16;;;:20;12845:42;12844:66;;;;12892:4;:13;;;12909:1;12892:18;12844:66;12840:283;;;12945:17;;;;12931:32;;:9;;:32;:13;:32;:::i;:::-;12919:44;;12989:39;13010:4;:17;;;12989:4;:16;;;:20;;:39;;;;:::i;:::-;12970:16;;;:58;13039:13;;;;13056:1;13039:18;13035:82;;;13086:16;;;;:23;;13107:1;13086:23;:20;:23;:::i;:::-;13067:16;;;:42;13035:82;13132:4;:13;;;13149:1;13132:18;:43;;;;;13174:1;13154:4;:16;;;:21;;13132:43;13128:246;;;13222:17;;;;13202:15;;;;:38;;;:19;:38;:::i;:::-;13184:15;;;:56;13267:1;13247:17;;;:21;;;13275:17;;;:21;;;13303:10;;;:14;;;13324:13;;;:17;13348:15;;;:19;;-1:-1:-1;13348:19:0;;;13128:246;13387:14;13383:38;;13409:7;;;;;;;13383:38;13429:17;;;;:22;:44;;;;;13455:4;:13;;;13472:1;13455:18;13429:44;13425:172;;;13507:17;;;;13493:32;;:9;;:32;:13;:32;:::i;:::-;13481:44;;13551:40;13573:4;:17;;;13551:4;:17;;;:21;;:40;;;;:::i;:::-;13531:17;;;:60;13425:172;13617:1;13605:9;:13;:39;;;;;13635:9;;13622;:22;;13605:39;13601:461;;;13652:10;;13723:21;13728:4;13734:9;13723:4;:21::i;:::-;13754:17;;;;13701:43;;-1:-1:-1;13701:43:0;-1:-1:-1;13754:21:0;13750:62;;13804:1;13784:17;;;:21;13750:62;13817:28;13828:10;13840:4;13817:10;:28::i;:::-;13855:14;;13851:206;;13883:5;13878:72;;13914:13;;;;:28;;13932:9;13914:28;:17;:28;:::i;:::-;13898:13;;;:44;13878:72;13959:17;;;;13956:95;;13996:11;;;13991:52;;;;;;;;-1:-1:-1;;13991:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13996:11;;13991:52;;13996:11;13991:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14009:12;14023:5;14030:4;:12;;;13991:4;:52::i;:::-;13601:461;;;12016:2050;;;;;;:::o;2191:168::-;2265:18;2269:4;2275:7;2265:3;:18::i;:::-;2257:64;;;;-1:-1:-1;;;2257:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2326:20:0;2349:5;2326:20;;;;;;;;;;;:28;;-1:-1:-1;;2326:28:0;;;2191:168::o;1960:163::-;2032:18;2036:4;2042:7;2032:3;:18::i;:::-;2031:19;2023:63;;;;;-1:-1:-1;;;2023:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2091:20:0;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;2091:27:0;2114:4;2091:27;;;1960:163::o;24073:141::-;24131:7;24157:5;;;24175:6;;;;24167:27;;;;;-1:-1:-1;;;24167:27:0;;;;;;;;;;;;-1:-1:-1;;;24167:27:0;;;;;;;;;;;;;;;24208:1;24073:141;-1:-1:-1;;;24073:141:0:o;23464:282::-;23522:7;23548:1;23544;:5;23536:26;;;;;-1:-1:-1;;;23536:26:0;;;;;;;;;;;;-1:-1:-1;;;23536:26:0;;;;;;;;;;;;;;;23628:9;23644:1;23640;:5;;;;;;;23464:282;-1:-1:-1;;;;23464:282:0:o;22964:389::-;23022:7;23242:6;23238:32;;-1:-1:-1;23263:1:0;23256:8;;23238:32;23288:5;;;23292:1;23288;:5;:1;23306:5;;;;;:10;23298:35;;;;;-1:-1:-1;;;23298:35:0;;;;;;;;;;;;-1:-1:-1;;;23298:35:0;;;;;;;;;;;;;;17177:215;17240:4;17246;17286:9;17261:21;:34;17257:131;;-1:-1:-1;17311:4:0;;-1:-1:-1;17317:9:0;17303:24;;17257:131;-1:-1:-1;17353:5:0;;-1:-1:-1;17360:21:0;17257:131;17177:215;;;:::o;18747:137::-;18830:9;;18826:54;;18847:27;;-1:-1:-1;;;;;18847:20:0;;;:27;;;;;18868:5;;18847:27;;;;18868:5;18847:20;:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;15820:782:0;15953:3;;15882:10;15936:21;;;:16;:21;;;;;;;;-1:-1:-1;;;;;15936:28:0;;;;;;;;;15973:13;;;;15882:10;;15936:28;15990:1;15973:18;;:40;;-1:-1:-1;15995:13:0;;;;:18;15973:40;15969:83;;;16029:5;16036:9;16021:25;;;;;;;15969:83;16056:17;16076:68;16141:2;16076:60;16098:7;:18;16117:4;:17;;;16098:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16098:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16098:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16098:37:0;16076:17;;;;;:60;:21;:60;:::i;:68::-;16056:88;;16185:12;16153:28;16171:9;16153:4;:13;;;:17;;:28;;;;:::i;:::-;:44;16149:418;;16213:4;16205:12;;16243:4;:13;;;16227:12;:29;16223:127;;16278:1;16265:14;;16223:127;;;16329:13;;;;16312:31;;:12;;:31;:16;:31;:::i;:::-;16299:44;;16223:127;16375:1;16355:17;;;:21;;;16382:10;;;:14;;;16402:17;;;:21;;;16429:13;;;:17;;;16452:13;;;:17;;;16475;;;:21;16502:15;;;:19;;-1:-1:-1;16502:19:0;;;16149:418;;;16552:9;16539:22;;16149:418;-1:-1:-1;;15820:782:0;;;;;;:::o;16607:565::-;16671:13;;16748:27;16764:10;16748:15;:27::i;:::-;16722:53;;-1:-1:-1;16722:53:0;-1:-1:-1;16784:15:0;;;;;:43;;;16818:9;;16803:11;:24;;16784:43;16780:388;;;16865:35;;;16882:12;16865:35;;;;;;;;16896:3;16865:35;;;;;;26:21:-1;;;22:32;;6:49;;16865:35:0;;;;;;;16855:46;;;;;16835:9;;16847:63;;16907:2;16847:63;:59;:63;:::i;:::-;16835:75;-1:-1:-1;16916:17:0;16936:30;16835:75;16936:20;:11;16952:3;16936:20;:15;:20;:::i;:30::-;16988:11;;16916:50;;-1:-1:-1;16972:42:0;;-1:-1:-1;;;;;16988:11:0;16916:50;16972:15;:42::i;:::-;17034:29;:11;17050:12;17034:29;:15;:29;:::i;:::-;17020:43;-1:-1:-1;17112:4:0;17124:38;17112:4;17020:43;17124:15;:38::i;16780:388::-;16607:565;;;;:::o;23860:149::-;23918:7;23945:1;23940;:6;;23932:35;;;;;-1:-1:-1;;;23932:35:0;;;;;;;;;;;;-1:-1:-1;;;23932:35:0;;;;;;;;;;;;;;;-1:-1:-1;23984:5:0;;;23860:149::o;2439:188::-;2511:4;-1:-1:-1;;;;;2530:21:0;;2522:68;;;;-1:-1:-1;;;2522:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2602:20:0;:11;:20;;;;;;;;;;;;;;;2439:188::o;19214:358::-;-1:-1:-1;;;;;19343:17:0;;19311:29;19343:17;;;:11;:17;;;;;;;;19365:3;:5;;;;;;;;;;19375:19;;;19399:22;;:29;;-1:-1:-1;;;;;;19399:29:0;;;;;;;19433:34;;;;:21;;;;:34;;;;;:::i;:::-;-1:-1:-1;19472:26:0;;;;:17;;;;:26;;;;;:::i;:::-;;19534:4;19505:14;19520:10;19505:26;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;19505:26:0;;;;;-1:-1:-1;19505:26:0;;;;;;;;;;;;:33;;-1:-1:-1;;;;;;19505:33:0;;;-1:-1:-1;;;;;19505:33:0;;;;;;;19556:3;;-1:-1:-1;19543:17:0;;;:12;:17;;;;;;:24;;;;;;;;;;;;;;;-1:-1:-1;;;;;19214:358:0:o;18662:80::-;18705:7;;-1:-1:-1;;;;;18705:7:0;:32;18722:14;:6;18733:2;18722:14;:10;:14;:::i;:::-;18705:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;10724:1035:0;10826:3;;10789:17;10809:21;;;:16;:21;;;;;;;;-1:-1:-1;;;;;10809:31:0;;;;;;;;;10849:7;;10845:36;;10869:7;;;10845:36;10885:10;10898:7;:20;10919:4;:10;;;10898:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10898:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10898:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10898:32:0;10955:17;;;;10898:32;;-1:-1:-1;10955:38:0;;10988:4;;10955:28;;10898:32;10955:28;:21;:28;:::i;:38::-;10935:4;:17;;:58;;;;11017:1;10998:4;:16;;:20;;;;11023:19;11045:14;11060:4;:11;;11045:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11045:27:0;;;-1:-1:-1;;11045:27:0;;;;;;;;;;;;;11117:3;;11045:27;11100:21;;;:16;:21;;;;;-1:-1:-1;;;;;11045:27:0;;;11100:34;;;;;;;;;11171:21;;;;;:11;:21;;;;;;11232:24;;;;;;11265:20;;;;11045:27;;-1:-1:-1;11100:34:0;;11289:7;-1:-1:-1;11265:31:0;;;:56;;;11300:7;:16;;;11320:1;11300:21;11265:56;:78;;;;;11325:4;:13;;;11342:1;11325:18;11265:78;:109;;;;;11364:4;:10;;;11347:7;:13;;;:27;;11265:109;:135;;;;-1:-1:-1;11378:17:0;;;;:22;11265:135;:164;;;;-1:-1:-1;11404:20:0;;;;:25;11265:164;11261:494;;;11513:19;;;;11437:10;;;;11508:47;;-1:-1:-1;;;;;11513:19:0;11534:20;:12;11551:2;11534:20;:16;:20;:::i;11508:47::-;11584:19;;;;11486:69;;-1:-1:-1;11486:69:0;-1:-1:-1;11561:43:0;;11486:69;;-1:-1:-1;;;;;11584:19:0;11561:10;:43::i;:::-;11632:19;;;;:35;;11656:10;11632:35;:23;:35;:::i;:::-;11610:19;;;:57;11678:5;11673:77;;11711:16;;;;:32;;11732:10;11711:32;:20;:32;:::i;:::-;11692:16;;;:51;11673:77;11261:494;;10724:1035;;;;;;;;:::o;14071:1197::-;14189:6;14214:1;14200:1064;14222:2;14217:1;:7;14200:1064;;14241:35;;;-1:-1:-1;;;14241:35:0;;;;;;;;;;;;;;;;:7;;:18;;14260:11;;14241:35;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14241:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14241:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14241:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14241:35:0;14237:60;;;14285:5;;14237:60;14302:19;14324:14;14339:11;14324:27;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;14324:27:0;;;;;-1:-1:-1;14324:27:0;;;;;;;;;;;;;-1:-1:-1;;;;;14324:27:0;-1:-1:-1;14389:24:0;;;:11;:24;;;;;14459:3;;14442:21;;:16;:21;;;;;:34;;;;;;;;;;14488:17;;;;14324:27;;-1:-1:-1;14389:24:0;;14442:34;;-1:-1:-1;14488:22:0;;;-1:-1:-1;14488:22:0;:51;;-1:-1:-1;14514:20:0;;;;:25;14488:51;:81;;;;14561:8;14543:7;:15;;;:26;14488:81;:106;;;;14573:7;:16;;;14593:1;14573:21;;14488:106;14484:172;;;14617:17;;;14603:31;;;;;;;;;;;;;-1:-1:-1;;14603:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14617:17;14603:31;;14617:17;14603:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14641:8;;;;;14484:172;14661:11;14675:7;:24;14700:7;:13;;;14675:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14675:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14675:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14675:39:0;;-1:-1:-1;14720:16:0;14739:7;:38;14778:25;14791:11;14778:12;:25::i;:::-;14805:1;14739:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14739:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14739:68:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14739:68:0;14852:20;;;;14739:68;;-1:-1:-1;14813:16:0;;14843:29;;14839:122;;-1:-1:-1;14895:5:0;14839:122;;;-1:-1:-1;14934:20:0;;;;14839:122;14972:16;;14968:254;;14997:21;15021:53;15067:6;15021:41;15050:11;15021:24;15037:7;15021:11;:15;;:24;;;;:::i;:53::-;14997:77;-1:-1:-1;15100:43:0;15140:2;15100:35;15131:3;15100:35;14997:77;15121:4;15100:26;:20;:26;:::i;:43::-;15173:20;;;;15081:62;;-1:-1:-1;15173:42:0;;15081:62;15173:42;:24;:42;:::i;:::-;15150:20;;;:65;-1:-1:-1;14968:254:0;15241:17;;;15227:31;;;;;;;;;;;;;-1:-1:-1;;15227:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;15241:17;15227:31;;15241:17;15227:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14200:1064;;;;;;;14226:3;;14200:1064;;24347:121;24405:7;24427:6;24419:27;;;;;-1:-1:-1;;;24419:27:0;;;;;;;;;;;;-1:-1:-1;;;24419:27:0;;;;;;;;;;;;;;;24462:1;24458;:5;;;;;;;24347:121;-1:-1:-1;;;24347:121:0:o;15273:542::-;15380:3;;15332:4;15363:21;;;:16;:21;;;;;;;;-1:-1:-1;;;;;15363:28:0;;;;;;;;;15332:4;;15415:253;15436:14;;;:21;15432:25;;15415:253;;;15470:12;15485;:31;15498:4;:14;;15513:1;15498:17;;;;;;;;;;;;;;;;;;;;15485:31;;;;;;;;;;;;;-1:-1:-1;;;;;15485:31:0;;-1:-1:-1;15526:15:0;;15522:141;;15550:21;;:::i;:::-;15591:3;;;15574:21;;;;:16;:21;;;;;;;;-1:-1:-1;;;;;15574:27:0;;;;;;;;;;;;15550:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15550:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15574:27;;15550:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15550:51:0;;;-1:-1:-1;;15550:51:0;;;;;;;;;;;;;;;;-1:-1:-1;;15550:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15631:1;15612:9;:15;;;:20;15608:49;;15642:7;;;;;15608:49;15522:141;;-1:-1:-1;15459:3:0;;15415:253;;;;15685:2;15676:5;:11;15672:37;;15702:1;15695:8;;;;;;15672:37;15726:1;15717:5;:10;15713:36;;15742:1;15735:8;;;;;;15713:36;15766:1;15757:5;:10;15753:36;;15782:1;15775:8;;;;;;15753:36;-1:-1:-1;15800:10:0;;;;15273:542;-1:-1:-1;;15273:542:0:o;3472:16481::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;3472:16481:0;;;-1:-1:-1;;3472:16481:0:o;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;3472:16481:0;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;3472:16481:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3472:16481:0;;;-1:-1:-1;3472:16481:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://835848ac439a3d79211f708234a95bd434e3e12896423408e3c5a2bb1791b4cf
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
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.