More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 40 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 18948765 | 300 days ago | IN | 0 ETH | 0.00357554 | ||||
Withdraw | 18869820 | 311 days ago | IN | 0 ETH | 0.00313573 | ||||
Withdraw | 18869819 | 311 days ago | IN | 0 ETH | 0.00300597 | ||||
Withdraw | 18869817 | 311 days ago | IN | 0 ETH | 0.00330798 | ||||
Withdraw | 18869814 | 311 days ago | IN | 0 ETH | 0.00340961 | ||||
Withdraw | 18869809 | 311 days ago | IN | 0 ETH | 0.00336425 | ||||
Withdraw | 18869785 | 311 days ago | IN | 0 ETH | 0.0027314 | ||||
Deposit | 18783714 | 323 days ago | IN | 0 ETH | 0.00516996 | ||||
Withdraw | 18696407 | 335 days ago | IN | 0 ETH | 0.00497461 | ||||
Deposit | 18503715 | 362 days ago | IN | 0 ETH | 0.0040607 | ||||
Deposit | 18489422 | 364 days ago | IN | 0 ETH | 0.00353722 | ||||
Deposit | 18489344 | 364 days ago | IN | 0 ETH | 0.00418035 | ||||
Deposit | 18489228 | 364 days ago | IN | 0 ETH | 0.00336878 | ||||
Deposit | 18488622 | 364 days ago | IN | 0 ETH | 0.00459276 | ||||
Deposit | 18488619 | 364 days ago | IN | 0 ETH | 0.00490032 | ||||
Deposit | 18488596 | 364 days ago | IN | 0 ETH | 0.00471658 | ||||
Deposit | 18488592 | 364 days ago | IN | 0 ETH | 0.00481843 | ||||
Set White Lists | 18486669 | 364 days ago | IN | 0 ETH | 0.00130082 | ||||
Set White Lists | 18486666 | 364 days ago | IN | 0 ETH | 0.00139094 | ||||
Set White Lists | 18486547 | 364 days ago | IN | 0 ETH | 0.00061986 | ||||
Set White Lists | 18486545 | 364 days ago | IN | 0 ETH | 0.00114311 | ||||
Set White Lists | 18486544 | 364 days ago | IN | 0 ETH | 0.00115313 | ||||
Set White Lists | 18486532 | 364 days ago | IN | 0 ETH | 0.00067356 | ||||
Deposit | 18481858 | 365 days ago | IN | 0 ETH | 0.00683722 | ||||
Deposit | 18481329 | 365 days ago | IN | 0 ETH | 0.00878713 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
MiningGODZ
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-01 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.16; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } } // safe transfer. // if is contract maybe is error. if account must success. library TransferHelper { function safeApprove(address token, address to, uint value) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: APPROVE_FAILED'); } function safeTransfer(address token, address to, uint value) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FAILED'); } function safeTransferFrom(address token, address from, address to, uint value) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FROM_FAILED'); } function safeTransferETH(address to, uint value) internal { (bool success,) = to.call{value:value}(new bytes(0)); // (bool success,) = to.call.value(value)(new bytes(0)); require(success, 'TransferHelper: ETH_TRANSFER_FAILED'); } } // owner abstract contract Ownable { address public owner; constructor() { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner, 'owner error'); _; } function transferOwnership(address newOwner) public onlyOwner { if (newOwner != address(0)) { owner = newOwner; } } function renounceOwnership() public onlyOwner { owner = address(0); } } // ReentrancyGuard. abstract contract ReentrancyGuard { uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } modifier nonReentrant() { require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); _status = _ENTERED; _; _status = _NOT_ENTERED; } } // Mining GODZ. contract MiningGODZ is Ownable, ReentrancyGuard { using SafeMath for uint256; address public immutable gainToken; // gain token is GODZ. uint256 public constant DAY_SECOND_NUMBER = 86400; // mainnet=86400, testnet=60. uint256 public constant TAKE_END_TIME = DAY_SECOND_NUMBER * 3; // 3 day can take. uint256 private constant SCALING_FACTOR = 1e18; // Scaling this up increases support for high supply tokens. uint256 public constant TOTAL_EARN = 600000000*(1e18); // total earn. uint256[6] public EARN_RATIO = [30,20,10,20,15,5]; // earn ratio. uint256[6] public KEEP_TIME = [30*DAY_SECOND_NUMBER,20*DAY_SECOND_NUMBER,10*DAY_SECOND_NUMBER,30*DAY_SECOND_NUMBER,20*DAY_SECOND_NUMBER,10*DAY_SECOND_NUMBER]; // pool info. struct PoolInfo { address token; // token(only GODZ or GODZ-ETH-LP). uint256 startTime; // start time. uint256 keepTime; // mining time(10day/20day/30day). uint256 endTime; // mining time(20day/40day/60day). uint256 amountPerTime; // amount per time(keep time is 2mul time). uint256 totalEarn; // total earn. uint256 totalDeposit; // total deposit. uint256 accTokenPerShare; // Accumulated Token per share, times SCALING_FACTOR. Check code. uint256 lastRewardTime; // last reward time. } PoolInfo[] public poolInfo; // pool info. // user info. mapping(uint256 => mapping(address => UserInfo)) public userInfo; struct UserInfo { uint256 startTime; // start time. uint256 amount; // depoist amount. uint256 rewardDebt; // reward debt. Accumulated Token per share, times SCALING_FACTOR. Check code. } mapping(uint256 => mapping(address => address)) public inviter; // pool id => account => super. mapping(address => bool) public whiteList; // white list. uint256 public inviterRatio = 10; // 10%. uint256 public immutable whiteListPriorityTime; // white list priority 7 day. // user ids mapping(address => uint256[]) public userIDs; mapping(uint256 => IDInfoMsg) public IDInfo; // ID => ID info. struct IDInfoMsg { uint256 pid; // pid. uint256 ID; // ID. uint256 depositTime; // deposit time. uint256 amount; // amount. bool isTaked; // is taked. address account; // amount } uint256 public nextID = 0; // next ID. constructor(address gainToken_, address lpToken_) { gainToken = gainToken_; _addAllPools(gainToken_, lpToken_); whiteListPriorityTime = DAY_SECOND_NUMBER.mul(7).add(block.timestamp); whiteList[msg.sender] = true; } event Deposit(uint256 pid, address account, uint256 amount, uint256 earn); event Withdraw(uint256 pid, uint256 ID, address account, uint256 amount); // add pools. function _addAllPools(address token_, address lp_) private { uint256 _count = EARN_RATIO.length; uint256 _startTime = block.timestamp; for(uint256 i = 0; i < _count; i++) { address _token = i < 3 ? lp_ : token_; poolInfo.push(PoolInfo({ token: _token, startTime: _startTime, keepTime: KEEP_TIME[i], endTime: KEEP_TIME[i].mul(2).add(_startTime), amountPerTime: TOTAL_EARN.mul(EARN_RATIO[i]).div(100).div(KEEP_TIME[i]).div(2), totalEarn: TOTAL_EARN.mul(EARN_RATIO[i]).div(100), totalDeposit: 0, accTokenPerShare: 0, lastRewardTime: block.timestamp })); inviter[i][msg.sender] = msg.sender; } } // get all pool. function getAllPool() external view returns(PoolInfo[] memory) { return poolInfo; } // get user IDs. function getUserIDs(address account) external view returns(uint256[] memory) { return userIDs[account]; } // get user IDs msg. function getUserIDsMsg(address account) external view returns(IDInfoMsg[] memory) { uint256 _length = userIDs[account].length; uint256[] memory _IDs = userIDs[account]; IDInfoMsg[] memory _IDInfoMsgs = new IDInfoMsg[](_length); for(uint256 i = 0; i < _length; i++) { uint256 _ID = _IDs[i]; _IDInfoMsgs[i] = IDInfo[_ID]; } return _IDInfoMsgs; } receive() external payable {} function takeETH(address to, uint256 amount) external onlyOwner { require(amount > 0, "amount can not be 0"); require(to != address(0), "invalid to address"); TransferHelper.safeTransferETH(to, amount); } function takeToken(address token, address to, uint256 amount) external onlyOwner { require(to != address(0), "invalid to address"); require(isContract(token), "token not contract"); TransferHelper.safeTransfer(token, to, amount); } // set white list. function setWhiteList(address account, bool status) external onlyOwner { whiteList[account] = status; } // set white lists. function setWhiteLists(address[] memory accounts) external onlyOwner { uint256 _count = accounts.length; for(uint256 i = 0; i < _count; i++) { whiteList[accounts[i]] = true; } } // set inviter ratio. function setInviterRatio(uint256 newInviterRatio) external onlyOwner { require(newInviterRatio < 100, "number error"); inviterRatio = newInviterRatio; } // _binding inviter. function _bindingInviter(uint256 pid, address account, address superAddress) private { require(!isContract(account), "is contract"); require(superAddress != address(0), "zero address"); require(superAddress != account, "not myself"); require(inviter[pid][account] == address(0), "already binding"); require(inviter[pid][superAddress] != address(0), "super not super"); inviter[pid][account] = superAddress; } // update pool. function updatePool(uint256 pid) external { _updatePool(pid, 0); } function _updatePool(uint256 pid, uint256 amount) private { PoolInfo storage _PoolInfo = poolInfo[pid]; if(block.timestamp <= _PoolInfo.lastRewardTime || _PoolInfo.totalDeposit == 0) { _PoolInfo.totalDeposit += amount; _PoolInfo.lastRewardTime = block.timestamp > _PoolInfo.endTime ? _PoolInfo.endTime : block.timestamp; return; } uint256 _timestamp = block.timestamp > _PoolInfo.endTime ? _PoolInfo.endTime : block.timestamp; uint256 _addPerShare = _timestamp.sub(_PoolInfo.lastRewardTime).mul(_PoolInfo.amountPerTime).mul(SCALING_FACTOR).div(_PoolInfo.totalDeposit); _PoolInfo.accTokenPerShare += _addPerShare; _PoolInfo.totalDeposit += amount; _PoolInfo.lastRewardTime = _timestamp; } // pending token. function pendingToken(uint256 pid, address account) public view returns(uint256) { PoolInfo memory _PoolInfo = poolInfo[pid]; UserInfo memory _UserInfo = userInfo[pid][account]; uint256 newAccTokenPerShare = _PoolInfo.accTokenPerShare; if(block.timestamp > _PoolInfo.lastRewardTime && _PoolInfo.totalDeposit != 0) { uint256 _timestamp = block.timestamp > _PoolInfo.endTime ? _PoolInfo.endTime : block.timestamp; uint256 addPerShare = _timestamp.sub(_PoolInfo.lastRewardTime).mul(_PoolInfo.amountPerTime).mul(SCALING_FACTOR).div(_PoolInfo.totalDeposit); newAccTokenPerShare += addPerShare; } uint256 pendingAmount = _UserInfo.amount.mul(newAccTokenPerShare).div(SCALING_FACTOR).sub(_UserInfo.rewardDebt); return pendingAmount; } // deposit. function deposit(uint256 pid, uint256 amount, address superAddress) external nonReentrant { PoolInfo storage _PoolInfo = poolInfo[pid]; address account = msg.sender; // _binding inviter. if(inviter[pid][account] == address(0)) { _bindingInviter(pid, account, superAddress); } UserInfo storage _UserInfo = userInfo[pid][account]; require(_PoolInfo.token != address(0), "zero address error"); _updatePool(pid, amount); require(inviter[pid][account] != address(0), "not have super"); require(whiteList[account] || block.timestamp > whiteListPriorityTime, "you are not white list"); uint256 pendingAmount = 0; if(_UserInfo.amount > 0) { pendingAmount = _UserInfo.amount.mul(_PoolInfo.accTokenPerShare).div(SCALING_FACTOR).sub(_UserInfo.rewardDebt); if(pendingAmount > 0) { uint256 pendingAmountSuper = pendingAmount.mul(inviterRatio).div(100); uint256 pendingAmountMy = pendingAmount.sub(pendingAmountSuper); address _super = inviter[pid][account]; if(userInfo[pid][_super].startTime > 0) { if(pendingAmountSuper > 0) TransferHelper.safeTransfer(gainToken, _super, pendingAmountSuper); } if(pendingAmountMy > 0) TransferHelper.safeTransfer(gainToken, account, pendingAmountMy); } } if(amount > 0) { TransferHelper.safeTransferFrom(_PoolInfo.token, account, address(this), amount); _UserInfo.amount += amount; _UserInfo.startTime = block.timestamp; // add ID. nextID++; uint256 _ID = nextID; userIDs[account].push(_ID); IDInfo[_ID] = IDInfoMsg({ pid: pid, ID: _ID, depositTime: block.timestamp, amount: amount, isTaked: false, account: account }); } _UserInfo.rewardDebt = _UserInfo.amount.mul(_PoolInfo.accTokenPerShare).div(SCALING_FACTOR); emit Deposit(pid, account, amount, pendingAmount); } // withdraw. function withdraw(uint256 pid, uint256[] memory IDs) external nonReentrant { PoolInfo storage _PoolInfo = poolInfo[pid]; address account = msg.sender; UserInfo storage _UserInfo = userInfo[pid][account]; _updatePool(pid, 0); require(inviter[pid][account] != address(0), "not have super"); require(whiteList[account] || block.timestamp > whiteListPriorityTime, "you are not white list"); // earn. uint256 pendingAmount = _UserInfo.amount.mul(_PoolInfo.accTokenPerShare).div(SCALING_FACTOR).sub(_UserInfo.rewardDebt); if(pendingAmount > 0) { uint256 pendingAmountSuper = pendingAmount.mul(inviterRatio).div(100); uint256 pendingAmountMy = pendingAmount.sub(pendingAmountSuper); address _super = inviter[pid][account]; if(userInfo[pid][_super].startTime > 0) { if(pendingAmountSuper > 0) TransferHelper.safeTransfer(gainToken, _super, pendingAmountSuper); } if(pendingAmountMy > 0) TransferHelper.safeTransfer(gainToken, account, pendingAmountMy); } emit Deposit(pid, account, 0, pendingAmount); // take. uint256 _nowTime = block.timestamp; for(uint256 i = 0; i < IDs.length; i++) { uint256 _ID = IDs[i]; IDInfoMsg storage _IDInfoMsg = IDInfo[_ID]; require(!_IDInfoMsg.isTaked, "already taked"); require(_IDInfoMsg.account == account, "ID not your"); require(_IDInfoMsg.ID == _ID, "ID error"); require(_IDInfoMsg.pid == pid, "pid error"); uint256 _canTakeStartTime = _IDInfoMsg.depositTime.add(_PoolInfo.keepTime); uint256 _canTakeEndTime = _canTakeStartTime.add(TAKE_END_TIME); if((_nowTime >= _canTakeStartTime && _nowTime <= _canTakeEndTime) || _nowTime > _PoolInfo.endTime) { uint256 takedAmount = _IDInfoMsg.amount; if(takedAmount > 0) TransferHelper.safeTransfer(_PoolInfo.token, account, takedAmount); _UserInfo.amount -= takedAmount; _PoolInfo.totalDeposit -= takedAmount; _IDInfoMsg.isTaked = true; emit Withdraw(pid, _ID, account, takedAmount); } } _UserInfo.rewardDebt = _UserInfo.amount.mul(_PoolInfo.accTokenPerShare).div(SCALING_FACTOR); } function isContract(address account) internal view returns (bool) { return account.code.length > 0; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"gainToken_","type":"address"},{"internalType":"address","name":"lpToken_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"earn","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ID","type":"uint256"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"DAY_SECOND_NUMBER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"EARN_RATIO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"IDInfo","outputs":[{"internalType":"uint256","name":"pid","type":"uint256"},{"internalType":"uint256","name":"ID","type":"uint256"},{"internalType":"uint256","name":"depositTime","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isTaked","type":"bool"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"KEEP_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TAKE_END_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_EARN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"pid","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"superAddress","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gainToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllPool","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"keepTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"amountPerTime","type":"uint256"},{"internalType":"uint256","name":"totalEarn","type":"uint256"},{"internalType":"uint256","name":"totalDeposit","type":"uint256"},{"internalType":"uint256","name":"accTokenPerShare","type":"uint256"},{"internalType":"uint256","name":"lastRewardTime","type":"uint256"}],"internalType":"struct MiningGODZ.PoolInfo[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getUserIDs","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getUserIDsMsg","outputs":[{"components":[{"internalType":"uint256","name":"pid","type":"uint256"},{"internalType":"uint256","name":"ID","type":"uint256"},{"internalType":"uint256","name":"depositTime","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"isTaked","type":"bool"},{"internalType":"address","name":"account","type":"address"}],"internalType":"struct MiningGODZ.IDInfoMsg[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"inviter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inviterRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"pid","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"pendingToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"poolInfo","outputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"keepTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"amountPerTime","type":"uint256"},{"internalType":"uint256","name":"totalEarn","type":"uint256"},{"internalType":"uint256","name":"totalDeposit","type":"uint256"},{"internalType":"uint256","name":"accTokenPerShare","type":"uint256"},{"internalType":"uint256","name":"lastRewardTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newInviterRatio","type":"uint256"}],"name":"setInviterRatio","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"setWhiteLists","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"takeETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"takeToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"pid","type":"uint256"}],"name":"updatePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userIDs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whiteListPriorityTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"pid","type":"uint256"},{"internalType":"uint256[]","name":"IDs","type":"uint256[]"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
610180604052601e60c0908152601460e0819052600a6101005261012052600f6101405260056101605262000039906002906006620003e8565b506040518060c0016040528062015180601e6200005791906200048e565b81526020016200006c6201518060146200048e565b81526020016200008162015180600a6200048e565b81526020016200009662015180601e6200048e565b8152602001620000ab6201518060146200048e565b8152602001620000c062015180600a6200048e565b9052620000d290600890600662000430565b50600a6012556000601555348015620000ea57600080fd5b5060405162002c6538038062002c658339810160408190526200010d91620004c5565b600080546001600160a01b03191633179055600180556001600160a01b0382166080526200013c828262000198565b62000173426200015f600762015180620003b560201b62001ad61790919060201c565b620003cc60201b62001ae91790919060201c565b60a0525050336000908152601160205260409020805460ff1916600117905562000568565b60064260005b82811015620003ae57600060038210620001b95785620001bb565b845b9050600e604051806101200160405280836001600160a01b0316815260200185815260200160088560068110620001f657620001f6620004fd565b0154815260200162000234866200015f6002600889600681106200021e576200021e620004fd565b0154620003b560201b62001ad61790919060201c565b8152602001620002b260026200029e60088860068110620002595762000259620004fd565b01546200029e60646200029e60028c600681106200027b576200027b620004fd565b01546b01f04ef12cb04cf158000000620003b560201b62001ad61790919060201c565b620003da60201b62001af51790919060201c565b8152602001620002d760646200029e600288600681106200027b576200027b620004fd565b815260006020808301829052604080840183905242606094850152855460018181018855968452828420865160099092020180546001600160a01b039092166001600160a01b031992831617815586840151978101979097558582015160028801559385015160038701556080850151600487015560a0850151600587015560c0850151600687015560e08501516007870155610100909401516008909501949094558581526010845282812033808352945291909120805490911690911790555080620003a58162000513565b9150506200019e565b5050505050565b6000620003c382846200048e565b90505b92915050565b6000620003c382846200052f565b6000620003c3828462000545565b82600681019282156200041e579160200282015b828111156200041e578251829060ff16905591602001919060010190620003fc565b506200042c92915062000461565b5090565b82600681019282156200041e579160200282015b828111156200041e57825182559160200191906001019062000444565b5b808211156200042c576000815560010162000462565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620003c657620003c662000478565b80516001600160a01b0381168114620004c057600080fd5b919050565b60008060408385031215620004d957600080fd5b620004e483620004a8565b9150620004f460208401620004a8565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b60006001820162000528576200052862000478565b5060010190565b80820180821115620003c657620003c662000478565b6000826200056357634e487b7160e01b600052601260045260246000fd5b500490565b60805160a0516126ad620005b86000396000818161034a01528181610ae101526112770152600081816103de01528181610bf901528181610c2a0152818161139a01526113cb01526126ad6000f3fe6080604052600436106101d15760003560e01c80638604c48f116100f7578063a20a4cb411610095578063d73d5e6711610064578063d73d5e671461062c578063da4455f6146106c1578063f2fde38b146106e1578063fc31f0bf1461070157600080fd5b8063a20a4cb41461059d578063b0b33af8146105bf578063cf484726146105ec578063d58456c31461060c57600080fd5b80638dbdbe6d116100d15780638dbdbe6d146104ce57806393f1a40b146104ee57806398b06f0714610550578063a0c554a11461057d57600080fd5b80638604c48f1461044d5780638d14e1271461048e5780638da5cb5b146104ae57600080fd5b806348e43af41161016f5780635d45bb341161013e5780635d45bb34146103ac5780636b0c9cb6146103cc578063715018a6146104185780637e3dd6c81461042d57600080fd5b806348e43af4146103185780634fe6085f1461033857806351eb05a61461036c5780635915d8061461038c57600080fd5b80631e228b84116101ab5780631e228b841461028b5780631e96917d146102a0578063372c12b1146102b6578063457627cc146102f657600080fd5b8063056a8117146101dd5780630c547d0e146102065780631526fe271461021d57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f360125481565b6040519081526020015b60405180910390f35b34801561021257600080fd5b506101f36201518081565b34801561022957600080fd5b5061023d610238366004612106565b610721565b604080516001600160a01b03909a168a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e0830152610100820152610120016101fd565b34801561029757600080fd5b506101f3610786565b3480156102ac57600080fd5b506101f360155481565b3480156102c257600080fd5b506102e66102d136600461213b565b60116020526000908152604090205460ff1681565b60405190151581526020016101fd565b34801561030257600080fd5b50610316610311366004612106565b610797565b005b34801561032457600080fd5b506101f3610333366004612156565b61080e565b34801561034457600080fd5b506101f37f000000000000000000000000000000000000000000000000000000000000000081565b34801561037857600080fd5b50610316610387366004612106565b6109ac565b34801561039857600080fd5b506103166103a73660046121ed565b6109ba565b3480156103b857600080fd5b506103166103c736600461228f565b610f5c565b3480156103d857600080fd5b506104007f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101fd565b34801561042457600080fd5b50610316611025565b34801561043957600080fd5b506101f3610448366004612106565b611061565b34801561045957600080fd5b50610400610468366004612156565b60106020908152600092835260408084209091529082529020546001600160a01b031681565b34801561049a57600080fd5b506103166104a93660046122c7565b611078565b3480156104ba57600080fd5b50600054610400906001600160a01b031681565b3480156104da57600080fd5b506103166104e93660046122fe565b6110cd565b3480156104fa57600080fd5b50610535610509366004612156565b600f60209081526000928352604080842090915290825290208054600182015460029092015490919083565b604080519384526020840192909252908201526060016101fd565b34801561055c57600080fd5b5061057061056b36600461213b565b6115e5565b6040516101fd9190612333565b34801561058957600080fd5b506101f36b01f04ef12cb04cf15800000081565b3480156105a957600080fd5b506105b2611651565b6040516101fd9190612377565b3480156105cb57600080fd5b506105df6105da36600461213b565b61170f565b6040516101fd9190612418565b3480156105f857600080fd5b5061031661060736600461248e565b6118d8565b34801561061857600080fd5b506101f3610627366004612106565b6119a9565b34801561063857600080fd5b50610689610647366004612106565b601460205260009081526040902080546001820154600283015460038401546004909401549293919290919060ff81169061010090046001600160a01b031686565b604080519687526020870195909552938501929092526060840152151560808301526001600160a01b031660a082015260c0016101fd565b3480156106cd57600080fd5b506101f36106dc36600461228f565b6119b9565b3480156106ed57600080fd5b506103166106fc36600461213b565b6119ea565b34801561070d57600080fd5b5061031661071c3660046124ca565b611a43565b600e818154811061073157600080fd5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801546001600160a01b0390971698509496939592949193909289565b610794620151806003612578565b81565b6000546001600160a01b031633146107ca5760405162461bcd60e51b81526004016107c19061258f565b60405180910390fd5b606481106108095760405162461bcd60e51b815260206004820152600c60248201526b373ab6b132b91032b93937b960a11b60448201526064016107c1565b601255565b600080600e8481548110610824576108246125b4565b600091825260208083206040805161012081018252600990940290910180546001600160a01b0390811685526001808301548686015260028084015487860152600384015460608089019190915260048501546080890152600585015460a0890152600685015460c0890152600785015460e0890190815260089095015461010089019081528d8a52600f8852868a20948d168a529387529785902085519889018652805489529182015495880195909552909301549185019190915251905191935090421180156108f9575060c083015115155b1561096c576000836060015142116109115742610917565b83606001515b9050600061095b8560c00151610955670de0b6b3a764000061094f896080015161094f8b610100015189611b0190919063ffffffff16565b90611ad6565b90611af5565b905061096781846125ca565b925050505b600061099f8360400151610999670de0b6b3a7640000610955868860200151611ad690919063ffffffff16565b90611b01565b9450505050505b92915050565b6109b7816000611b0d565b50565b600260015403610a0c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107c1565b60026001819055506000600e8381548110610a2957610a296125b4565b60009182526020808320868452600f825260408085203380875293528420600990930201935091610a5b908690611b0d565b60008581526010602090815260408083206001600160a01b03868116855292529091205416610abd5760405162461bcd60e51b815260206004820152600e60248201526d3737ba103430bb329039bab832b960911b60448201526064016107c1565b6001600160a01b03821660009081526011602052604090205460ff1680610b0357507f000000000000000000000000000000000000000000000000000000000000000042115b610b485760405162461bcd60e51b81526020600482015260166024820152751e5bdd48185c99481b9bdd081dda1a5d19481b1a5cdd60521b60448201526064016107c1565b6000610b798260020154610999670de0b6b3a764000061095588600701548760010154611ad690919063ffffffff16565b90508015610c54576000610b9d606461095560125485611ad690919063ffffffff16565b90506000610bab8383611b01565b60008981526010602090815260408083206001600160a01b03808b168552908352818420548d8552600f845282852091168085529252909120549192509015610c1f578215610c1f57610c1f7f00000000000000000000000000000000000000000000000000000000000000008285611c17565b8115610c5057610c507f00000000000000000000000000000000000000000000000000000000000000008784611c17565b5050505b604080518781526001600160a01b03851660208201526000818301526060810183905290517fd36a2f67d06d285786f61a32b052b9ace6b0b7abef5177b54358abdc83a0b69b9181900360800190a14260005b8651811015610f1f576000878281518110610cc457610cc46125b4565b60209081029190910181015160008181526014909252604090912060048101549192509060ff1615610d285760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d185ad959609a1b60448201526064016107c1565b60048101546001600160a01b038881166101009092041614610d7a5760405162461bcd60e51b815260206004820152600b60248201526a24a2103737ba103cb7bab960a91b60448201526064016107c1565b81816001015414610db85760405162461bcd60e51b815260206004820152600860248201526724a21032b93937b960c11b60448201526064016107c1565b80548a14610df45760405162461bcd60e51b81526020600482015260096024820152683834b21032b93937b960b91b60448201526064016107c1565b6000610e1189600201548360020154611ae990919063ffffffff16565b90506000610e2d610e26620151806003612578565b8390611ae9565b9050818610158015610e3f5750808611155b80610e4d5750896003015486115b15610f085760038301548015610e73578a54610e73906001600160a01b03168b83611c17565b80896001016000828254610e8791906125dd565b92505081905550808b6006016000828254610ea291906125dd565b909155505060048401805460ff19166001179055604080518e8152602081018790526001600160a01b038c16818301526060810183905290517f191a58d19a6a9b76e2e91bdc04ecbe7553dc094a5ad7af78175a0d9f884e264a916080908290030190a1505b505050508080610f17906125f0565b915050610ca7565b50610f47670de0b6b3a764000061095587600701548660010154611ad690919063ffffffff16565b60029093019290925550506001805550505050565b6000546001600160a01b03163314610f865760405162461bcd60e51b81526004016107c19061258f565b60008111610fcc5760405162461bcd60e51b81526020600482015260136024820152720616d6f756e742063616e206e6f74206265203606c1b60448201526064016107c1565b6001600160a01b0382166110175760405162461bcd60e51b8152602060048201526012602482015271696e76616c696420746f206164647265737360701b60448201526064016107c1565b6110218282611d32565b5050565b6000546001600160a01b0316331461104f5760405162461bcd60e51b81526004016107c19061258f565b600080546001600160a01b0319169055565b6002816006811061107157600080fd5b0154905081565b6000546001600160a01b031633146110a25760405162461bcd60e51b81526004016107c19061258f565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b60026001540361111f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107c1565b60026001819055506000600e848154811061113c5761113c6125b4565b6000918252602080832087845260108252604080852033808752935290932054600990920290920192506001600160a01b031661117e5761117e858285611dfb565b6000858152600f602090815260408083206001600160a01b038086168552925290912083549091166111e75760405162461bcd60e51b81526020600482015260126024820152713d32b9379030b2323932b9b99032b93937b960711b60448201526064016107c1565b6111f18686611b0d565b60008681526010602090815260408083206001600160a01b038681168552925290912054166112535760405162461bcd60e51b815260206004820152600e60248201526d3737ba103430bb329039bab832b960911b60448201526064016107c1565b6001600160a01b03821660009081526011602052604090205460ff168061129957507f000000000000000000000000000000000000000000000000000000000000000042115b6112de5760405162461bcd60e51b81526020600482015260166024820152751e5bdd48185c99481b9bdd081dda1a5d19481b1a5cdd60521b60448201526064016107c1565b6001810154600090156113f55761131a8260020154610999670de0b6b3a764000061095588600701548760010154611ad690919063ffffffff16565b905080156113f557600061133e606461095560125485611ad690919063ffffffff16565b9050600061134c8383611b01565b60008a81526010602090815260408083206001600160a01b03808b168552908352818420548e8552600f8452828520911680855292529091205491925090156113c05782156113c0576113c07f00000000000000000000000000000000000000000000000000000000000000008285611c17565b81156113f1576113f17f00000000000000000000000000000000000000000000000000000000000000008784611c17565b5050505b851561155c578354611412906001600160a01b0316843089611fd6565b8582600101600082825461142691906125ca565b90915550504282556015805490600061143e836125f0565b91905055506000601554905060136000856001600160a01b03166001600160a01b031681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150556040518060c00160405280898152602001828152602001428152602001888152602001600015158152602001856001600160a01b0316815250601460008381526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555060a08201518160040160016101000a8154816001600160a01b0302191690836001600160a01b03160217905550905050505b611583670de0b6b3a764000061095586600701548560010154611ad690919063ffffffff16565b6002830155604080518881526001600160a01b0385166020820152908101879052606081018290527fd36a2f67d06d285786f61a32b052b9ace6b0b7abef5177b54358abdc83a0b69b9060800160405180910390a15050600180555050505050565b6001600160a01b03811660009081526013602090815260409182902080548351818402810184019094528084526060939283018282801561164557602002820191906000526020600020905b815481526020019060010190808311611631575b50505050509050919050565b6060600e805480602002602001604051908101604052809291908181526020016000905b8282101561170657600084815260209081902060408051610120810182526009860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600801546101008301529083529092019101611675565b50505050905090565b6001600160a01b03811660009081526013602090815260408083208054825181850281018501909352808352606094909390929190849083018282801561177557602002820191906000526020600020905b815481526020019060010190808311611761575b5050505050905060008267ffffffffffffffff81111561179757611797612182565b60405190808252806020026020018201604052801561180c57816020015b6117f96040518060c001604052806000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681525090565b8152602001906001900390816117b55790505b50905060005b838110156118cf57600083828151811061182e5761182e6125b4565b602090810291909101810151600081815260148352604090819020815160c08101835281548152600182015494810194909452600281015491840191909152600381015460608401526004015460ff81161515608084015261010090046001600160a01b031660a083015284519092508490849081106118b0576118b06125b4565b60200260200101819052505080806118c7906125f0565b915050611812565b50949350505050565b6000546001600160a01b031633146119025760405162461bcd60e51b81526004016107c19061258f565b6001600160a01b03821661194d5760405162461bcd60e51b8152602060048201526012602482015271696e76616c696420746f206164647265737360701b60448201526064016107c1565b6001600160a01b0383163b6119995760405162461bcd60e51b81526020600482015260126024820152711d1bdad95b881b9bdd0818dbdb9d1c9858dd60721b60448201526064016107c1565b6119a4838383611c17565b505050565b6008816006811061107157600080fd5b601360205281600052604060002081815481106119d557600080fd5b90600052602060002001600091509150505481565b6000546001600160a01b03163314611a145760405162461bcd60e51b81526004016107c19061258f565b6001600160a01b038116156109b757600080546001600160a01b0383166001600160a01b031990911617905550565b6000546001600160a01b03163314611a6d5760405162461bcd60e51b81526004016107c19061258f565b805160005b818110156119a457600160116000858481518110611a9257611a926125b4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580611ace816125f0565b915050611a72565b6000611ae28284612578565b9392505050565b6000611ae282846125ca565b6000611ae28284612609565b6000611ae282846125dd565b6000600e8381548110611b2257611b226125b4565b90600052602060002090600902019050806008015442111580611b4757506006810154155b15611b865781816006016000828254611b6091906125ca565b909155505060038101544211611b765742611b7c565b80600301545b6008909101555050565b600081600301544211611b995742611b9f565b81600301545b90506000611bd68360060154610955670de0b6b3a764000061094f876004015461094f896008015489611b0190919063ffffffff16565b905080836007016000828254611bec91906125ca565b9250508190555083836006016000828254611c0791906125ca565b9091555050506008909101555050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611c73919061262b565b6000604051808303816000865af19150503d8060008114611cb0576040519150601f19603f3d011682016040523d82523d6000602084013e611cb5565b606091505b5091509150818015611cdf575080511580611cdf575080806020019051810190611cdf919061265a565b611d2b5760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c45440060448201526064016107c1565b5050505050565b604080516000808252602082019092526001600160a01b038416908390604051611d5c919061262b565b60006040518083038185875af1925050503d8060008114611d99576040519150601f19603f3d011682016040523d82523d6000602084013e611d9e565b606091505b50509050806119a45760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b60648201526084016107c1565b6001600160a01b0382163b15611e415760405162461bcd60e51b815260206004820152600b60248201526a1a5cc818dbdb9d1c9858dd60aa1b60448201526064016107c1565b6001600160a01b038116611e865760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b60448201526064016107c1565b816001600160a01b0316816001600160a01b031603611ed45760405162461bcd60e51b815260206004820152600a6024820152693737ba1036bcb9b2b63360b11b60448201526064016107c1565b60008381526010602090815260408083206001600160a01b0386811685529252909120541615611f385760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792062696e64696e6760881b60448201526064016107c1565b60008381526010602090815260408083206001600160a01b03858116855292529091205416611f9b5760405162461bcd60e51b815260206004820152600f60248201526e39bab832b9103737ba1039bab832b960891b60448201526064016107c1565b60009283526010602090815260408085206001600160a01b0394851686529091529092208054919092166001600160a01b0319909116179055565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161203a919061262b565b6000604051808303816000865af19150503d8060008114612077576040519150601f19603f3d011682016040523d82523d6000602084013e61207c565b606091505b50915091508180156120a65750805115806120a65750808060200190518101906120a6919061265a565b6120fe5760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b60648201526084016107c1565b505050505050565b60006020828403121561211857600080fd5b5035919050565b80356001600160a01b038116811461213657600080fd5b919050565b60006020828403121561214d57600080fd5b611ae28261211f565b6000806040838503121561216957600080fd5b823591506121796020840161211f565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156121c1576121c1612182565b604052919050565b600067ffffffffffffffff8211156121e3576121e3612182565b5060051b60200190565b6000806040838503121561220057600080fd5b8235915060208084013567ffffffffffffffff81111561221f57600080fd5b8401601f8101861361223057600080fd5b803561224361223e826121c9565b612198565b81815260059190911b8201830190838101908883111561226257600080fd5b928401925b8284101561228057833582529284019290840190612267565b80955050505050509250929050565b600080604083850312156122a257600080fd5b6122ab8361211f565b946020939093013593505050565b80151581146109b757600080fd5b600080604083850312156122da57600080fd5b6122e38361211f565b915060208301356122f3816122b9565b809150509250929050565b60008060006060848603121561231357600080fd5b833592506020840135915061232a6040850161211f565b90509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561236b5783518352928401929184019160010161234f565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561240b57815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a0808201519086015260c0808201519086015260e0808201519086015261010090810151908501526101209093019290850190600101612394565b5091979650505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561240b57815180518552868101518786015285810151868601526060808201519086015260808082015115159086015260a0908101516001600160a01b03169085015260c09093019290850190600101612435565b6000806000606084860312156124a357600080fd5b6124ac8461211f565b92506124ba6020850161211f565b9150604084013590509250925092565b600060208083850312156124dd57600080fd5b823567ffffffffffffffff8111156124f457600080fd5b8301601f8101851361250557600080fd5b803561251361223e826121c9565b81815260059190911b8201830190838101908783111561253257600080fd5b928401925b82841015612557576125488461211f565b82529284019290840190612537565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109a6576109a6612562565b6020808252600b908201526a37bbb732b91032b93937b960a91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b808201808211156109a6576109a6612562565b818103818111156109a6576109a6612562565b60006001820161260257612602612562565b5060010190565b60008261262657634e487b7160e01b600052601260045260246000fd5b500490565b6000825160005b8181101561264c5760208186018101518583015201612632565b506000920191825250919050565b60006020828403121561266c57600080fd5b8151611ae2816122b956fea2646970667358221220470d69c306a0656916c327c7306ead178d8a90c70745a7b49da89d6c765e8f9a64736f6c634300081100330000000000000000000000001068a889fd7151fb2ca9d98d268b0d0cd623fc2f000000000000000000000000ec4a060f134ce3d857510083acfa158fdbf2433d
Deployed Bytecode
0x6080604052600436106101d15760003560e01c80638604c48f116100f7578063a20a4cb411610095578063d73d5e6711610064578063d73d5e671461062c578063da4455f6146106c1578063f2fde38b146106e1578063fc31f0bf1461070157600080fd5b8063a20a4cb41461059d578063b0b33af8146105bf578063cf484726146105ec578063d58456c31461060c57600080fd5b80638dbdbe6d116100d15780638dbdbe6d146104ce57806393f1a40b146104ee57806398b06f0714610550578063a0c554a11461057d57600080fd5b80638604c48f1461044d5780638d14e1271461048e5780638da5cb5b146104ae57600080fd5b806348e43af41161016f5780635d45bb341161013e5780635d45bb34146103ac5780636b0c9cb6146103cc578063715018a6146104185780637e3dd6c81461042d57600080fd5b806348e43af4146103185780634fe6085f1461033857806351eb05a61461036c5780635915d8061461038c57600080fd5b80631e228b84116101ab5780631e228b841461028b5780631e96917d146102a0578063372c12b1146102b6578063457627cc146102f657600080fd5b8063056a8117146101dd5780630c547d0e146102065780631526fe271461021d57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f360125481565b6040519081526020015b60405180910390f35b34801561021257600080fd5b506101f36201518081565b34801561022957600080fd5b5061023d610238366004612106565b610721565b604080516001600160a01b03909a168a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e0830152610100820152610120016101fd565b34801561029757600080fd5b506101f3610786565b3480156102ac57600080fd5b506101f360155481565b3480156102c257600080fd5b506102e66102d136600461213b565b60116020526000908152604090205460ff1681565b60405190151581526020016101fd565b34801561030257600080fd5b50610316610311366004612106565b610797565b005b34801561032457600080fd5b506101f3610333366004612156565b61080e565b34801561034457600080fd5b506101f37f00000000000000000000000000000000000000000000000000000000654b92df81565b34801561037857600080fd5b50610316610387366004612106565b6109ac565b34801561039857600080fd5b506103166103a73660046121ed565b6109ba565b3480156103b857600080fd5b506103166103c736600461228f565b610f5c565b3480156103d857600080fd5b506104007f0000000000000000000000001068a889fd7151fb2ca9d98d268b0d0cd623fc2f81565b6040516001600160a01b0390911681526020016101fd565b34801561042457600080fd5b50610316611025565b34801561043957600080fd5b506101f3610448366004612106565b611061565b34801561045957600080fd5b50610400610468366004612156565b60106020908152600092835260408084209091529082529020546001600160a01b031681565b34801561049a57600080fd5b506103166104a93660046122c7565b611078565b3480156104ba57600080fd5b50600054610400906001600160a01b031681565b3480156104da57600080fd5b506103166104e93660046122fe565b6110cd565b3480156104fa57600080fd5b50610535610509366004612156565b600f60209081526000928352604080842090915290825290208054600182015460029092015490919083565b604080519384526020840192909252908201526060016101fd565b34801561055c57600080fd5b5061057061056b36600461213b565b6115e5565b6040516101fd9190612333565b34801561058957600080fd5b506101f36b01f04ef12cb04cf15800000081565b3480156105a957600080fd5b506105b2611651565b6040516101fd9190612377565b3480156105cb57600080fd5b506105df6105da36600461213b565b61170f565b6040516101fd9190612418565b3480156105f857600080fd5b5061031661060736600461248e565b6118d8565b34801561061857600080fd5b506101f3610627366004612106565b6119a9565b34801561063857600080fd5b50610689610647366004612106565b601460205260009081526040902080546001820154600283015460038401546004909401549293919290919060ff81169061010090046001600160a01b031686565b604080519687526020870195909552938501929092526060840152151560808301526001600160a01b031660a082015260c0016101fd565b3480156106cd57600080fd5b506101f36106dc36600461228f565b6119b9565b3480156106ed57600080fd5b506103166106fc36600461213b565b6119ea565b34801561070d57600080fd5b5061031661071c3660046124ca565b611a43565b600e818154811061073157600080fd5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801546001600160a01b0390971698509496939592949193909289565b610794620151806003612578565b81565b6000546001600160a01b031633146107ca5760405162461bcd60e51b81526004016107c19061258f565b60405180910390fd5b606481106108095760405162461bcd60e51b815260206004820152600c60248201526b373ab6b132b91032b93937b960a11b60448201526064016107c1565b601255565b600080600e8481548110610824576108246125b4565b600091825260208083206040805161012081018252600990940290910180546001600160a01b0390811685526001808301548686015260028084015487860152600384015460608089019190915260048501546080890152600585015460a0890152600685015460c0890152600785015460e0890190815260089095015461010089019081528d8a52600f8852868a20948d168a529387529785902085519889018652805489529182015495880195909552909301549185019190915251905191935090421180156108f9575060c083015115155b1561096c576000836060015142116109115742610917565b83606001515b9050600061095b8560c00151610955670de0b6b3a764000061094f896080015161094f8b610100015189611b0190919063ffffffff16565b90611ad6565b90611af5565b905061096781846125ca565b925050505b600061099f8360400151610999670de0b6b3a7640000610955868860200151611ad690919063ffffffff16565b90611b01565b9450505050505b92915050565b6109b7816000611b0d565b50565b600260015403610a0c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107c1565b60026001819055506000600e8381548110610a2957610a296125b4565b60009182526020808320868452600f825260408085203380875293528420600990930201935091610a5b908690611b0d565b60008581526010602090815260408083206001600160a01b03868116855292529091205416610abd5760405162461bcd60e51b815260206004820152600e60248201526d3737ba103430bb329039bab832b960911b60448201526064016107c1565b6001600160a01b03821660009081526011602052604090205460ff1680610b0357507f00000000000000000000000000000000000000000000000000000000654b92df42115b610b485760405162461bcd60e51b81526020600482015260166024820152751e5bdd48185c99481b9bdd081dda1a5d19481b1a5cdd60521b60448201526064016107c1565b6000610b798260020154610999670de0b6b3a764000061095588600701548760010154611ad690919063ffffffff16565b90508015610c54576000610b9d606461095560125485611ad690919063ffffffff16565b90506000610bab8383611b01565b60008981526010602090815260408083206001600160a01b03808b168552908352818420548d8552600f845282852091168085529252909120549192509015610c1f578215610c1f57610c1f7f0000000000000000000000001068a889fd7151fb2ca9d98d268b0d0cd623fc2f8285611c17565b8115610c5057610c507f0000000000000000000000001068a889fd7151fb2ca9d98d268b0d0cd623fc2f8784611c17565b5050505b604080518781526001600160a01b03851660208201526000818301526060810183905290517fd36a2f67d06d285786f61a32b052b9ace6b0b7abef5177b54358abdc83a0b69b9181900360800190a14260005b8651811015610f1f576000878281518110610cc457610cc46125b4565b60209081029190910181015160008181526014909252604090912060048101549192509060ff1615610d285760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d185ad959609a1b60448201526064016107c1565b60048101546001600160a01b038881166101009092041614610d7a5760405162461bcd60e51b815260206004820152600b60248201526a24a2103737ba103cb7bab960a91b60448201526064016107c1565b81816001015414610db85760405162461bcd60e51b815260206004820152600860248201526724a21032b93937b960c11b60448201526064016107c1565b80548a14610df45760405162461bcd60e51b81526020600482015260096024820152683834b21032b93937b960b91b60448201526064016107c1565b6000610e1189600201548360020154611ae990919063ffffffff16565b90506000610e2d610e26620151806003612578565b8390611ae9565b9050818610158015610e3f5750808611155b80610e4d5750896003015486115b15610f085760038301548015610e73578a54610e73906001600160a01b03168b83611c17565b80896001016000828254610e8791906125dd565b92505081905550808b6006016000828254610ea291906125dd565b909155505060048401805460ff19166001179055604080518e8152602081018790526001600160a01b038c16818301526060810183905290517f191a58d19a6a9b76e2e91bdc04ecbe7553dc094a5ad7af78175a0d9f884e264a916080908290030190a1505b505050508080610f17906125f0565b915050610ca7565b50610f47670de0b6b3a764000061095587600701548660010154611ad690919063ffffffff16565b60029093019290925550506001805550505050565b6000546001600160a01b03163314610f865760405162461bcd60e51b81526004016107c19061258f565b60008111610fcc5760405162461bcd60e51b81526020600482015260136024820152720616d6f756e742063616e206e6f74206265203606c1b60448201526064016107c1565b6001600160a01b0382166110175760405162461bcd60e51b8152602060048201526012602482015271696e76616c696420746f206164647265737360701b60448201526064016107c1565b6110218282611d32565b5050565b6000546001600160a01b0316331461104f5760405162461bcd60e51b81526004016107c19061258f565b600080546001600160a01b0319169055565b6002816006811061107157600080fd5b0154905081565b6000546001600160a01b031633146110a25760405162461bcd60e51b81526004016107c19061258f565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b60026001540361111f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107c1565b60026001819055506000600e848154811061113c5761113c6125b4565b6000918252602080832087845260108252604080852033808752935290932054600990920290920192506001600160a01b031661117e5761117e858285611dfb565b6000858152600f602090815260408083206001600160a01b038086168552925290912083549091166111e75760405162461bcd60e51b81526020600482015260126024820152713d32b9379030b2323932b9b99032b93937b960711b60448201526064016107c1565b6111f18686611b0d565b60008681526010602090815260408083206001600160a01b038681168552925290912054166112535760405162461bcd60e51b815260206004820152600e60248201526d3737ba103430bb329039bab832b960911b60448201526064016107c1565b6001600160a01b03821660009081526011602052604090205460ff168061129957507f00000000000000000000000000000000000000000000000000000000654b92df42115b6112de5760405162461bcd60e51b81526020600482015260166024820152751e5bdd48185c99481b9bdd081dda1a5d19481b1a5cdd60521b60448201526064016107c1565b6001810154600090156113f55761131a8260020154610999670de0b6b3a764000061095588600701548760010154611ad690919063ffffffff16565b905080156113f557600061133e606461095560125485611ad690919063ffffffff16565b9050600061134c8383611b01565b60008a81526010602090815260408083206001600160a01b03808b168552908352818420548e8552600f8452828520911680855292529091205491925090156113c05782156113c0576113c07f0000000000000000000000001068a889fd7151fb2ca9d98d268b0d0cd623fc2f8285611c17565b81156113f1576113f17f0000000000000000000000001068a889fd7151fb2ca9d98d268b0d0cd623fc2f8784611c17565b5050505b851561155c578354611412906001600160a01b0316843089611fd6565b8582600101600082825461142691906125ca565b90915550504282556015805490600061143e836125f0565b91905055506000601554905060136000856001600160a01b03166001600160a01b031681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150556040518060c00160405280898152602001828152602001428152602001888152602001600015158152602001856001600160a01b0316815250601460008381526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555060a08201518160040160016101000a8154816001600160a01b0302191690836001600160a01b03160217905550905050505b611583670de0b6b3a764000061095586600701548560010154611ad690919063ffffffff16565b6002830155604080518881526001600160a01b0385166020820152908101879052606081018290527fd36a2f67d06d285786f61a32b052b9ace6b0b7abef5177b54358abdc83a0b69b9060800160405180910390a15050600180555050505050565b6001600160a01b03811660009081526013602090815260409182902080548351818402810184019094528084526060939283018282801561164557602002820191906000526020600020905b815481526020019060010190808311611631575b50505050509050919050565b6060600e805480602002602001604051908101604052809291908181526020016000905b8282101561170657600084815260209081902060408051610120810182526009860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600801546101008301529083529092019101611675565b50505050905090565b6001600160a01b03811660009081526013602090815260408083208054825181850281018501909352808352606094909390929190849083018282801561177557602002820191906000526020600020905b815481526020019060010190808311611761575b5050505050905060008267ffffffffffffffff81111561179757611797612182565b60405190808252806020026020018201604052801561180c57816020015b6117f96040518060c001604052806000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681525090565b8152602001906001900390816117b55790505b50905060005b838110156118cf57600083828151811061182e5761182e6125b4565b602090810291909101810151600081815260148352604090819020815160c08101835281548152600182015494810194909452600281015491840191909152600381015460608401526004015460ff81161515608084015261010090046001600160a01b031660a083015284519092508490849081106118b0576118b06125b4565b60200260200101819052505080806118c7906125f0565b915050611812565b50949350505050565b6000546001600160a01b031633146119025760405162461bcd60e51b81526004016107c19061258f565b6001600160a01b03821661194d5760405162461bcd60e51b8152602060048201526012602482015271696e76616c696420746f206164647265737360701b60448201526064016107c1565b6001600160a01b0383163b6119995760405162461bcd60e51b81526020600482015260126024820152711d1bdad95b881b9bdd0818dbdb9d1c9858dd60721b60448201526064016107c1565b6119a4838383611c17565b505050565b6008816006811061107157600080fd5b601360205281600052604060002081815481106119d557600080fd5b90600052602060002001600091509150505481565b6000546001600160a01b03163314611a145760405162461bcd60e51b81526004016107c19061258f565b6001600160a01b038116156109b757600080546001600160a01b0383166001600160a01b031990911617905550565b6000546001600160a01b03163314611a6d5760405162461bcd60e51b81526004016107c19061258f565b805160005b818110156119a457600160116000858481518110611a9257611a926125b4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580611ace816125f0565b915050611a72565b6000611ae28284612578565b9392505050565b6000611ae282846125ca565b6000611ae28284612609565b6000611ae282846125dd565b6000600e8381548110611b2257611b226125b4565b90600052602060002090600902019050806008015442111580611b4757506006810154155b15611b865781816006016000828254611b6091906125ca565b909155505060038101544211611b765742611b7c565b80600301545b6008909101555050565b600081600301544211611b995742611b9f565b81600301545b90506000611bd68360060154610955670de0b6b3a764000061094f876004015461094f896008015489611b0190919063ffffffff16565b905080836007016000828254611bec91906125ca565b9250508190555083836006016000828254611c0791906125ca565b9091555050506008909101555050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611c73919061262b565b6000604051808303816000865af19150503d8060008114611cb0576040519150601f19603f3d011682016040523d82523d6000602084013e611cb5565b606091505b5091509150818015611cdf575080511580611cdf575080806020019051810190611cdf919061265a565b611d2b5760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c45440060448201526064016107c1565b5050505050565b604080516000808252602082019092526001600160a01b038416908390604051611d5c919061262b565b60006040518083038185875af1925050503d8060008114611d99576040519150601f19603f3d011682016040523d82523d6000602084013e611d9e565b606091505b50509050806119a45760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b60648201526084016107c1565b6001600160a01b0382163b15611e415760405162461bcd60e51b815260206004820152600b60248201526a1a5cc818dbdb9d1c9858dd60aa1b60448201526064016107c1565b6001600160a01b038116611e865760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b60448201526064016107c1565b816001600160a01b0316816001600160a01b031603611ed45760405162461bcd60e51b815260206004820152600a6024820152693737ba1036bcb9b2b63360b11b60448201526064016107c1565b60008381526010602090815260408083206001600160a01b0386811685529252909120541615611f385760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792062696e64696e6760881b60448201526064016107c1565b60008381526010602090815260408083206001600160a01b03858116855292529091205416611f9b5760405162461bcd60e51b815260206004820152600f60248201526e39bab832b9103737ba1039bab832b960891b60448201526064016107c1565b60009283526010602090815260408085206001600160a01b0394851686529091529092208054919092166001600160a01b0319909116179055565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161203a919061262b565b6000604051808303816000865af19150503d8060008114612077576040519150601f19603f3d011682016040523d82523d6000602084013e61207c565b606091505b50915091508180156120a65750805115806120a65750808060200190518101906120a6919061265a565b6120fe5760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b60648201526084016107c1565b505050505050565b60006020828403121561211857600080fd5b5035919050565b80356001600160a01b038116811461213657600080fd5b919050565b60006020828403121561214d57600080fd5b611ae28261211f565b6000806040838503121561216957600080fd5b823591506121796020840161211f565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156121c1576121c1612182565b604052919050565b600067ffffffffffffffff8211156121e3576121e3612182565b5060051b60200190565b6000806040838503121561220057600080fd5b8235915060208084013567ffffffffffffffff81111561221f57600080fd5b8401601f8101861361223057600080fd5b803561224361223e826121c9565b612198565b81815260059190911b8201830190838101908883111561226257600080fd5b928401925b8284101561228057833582529284019290840190612267565b80955050505050509250929050565b600080604083850312156122a257600080fd5b6122ab8361211f565b946020939093013593505050565b80151581146109b757600080fd5b600080604083850312156122da57600080fd5b6122e38361211f565b915060208301356122f3816122b9565b809150509250929050565b60008060006060848603121561231357600080fd5b833592506020840135915061232a6040850161211f565b90509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561236b5783518352928401929184019160010161234f565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561240b57815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080808201519086015260a0808201519086015260c0808201519086015260e0808201519086015261010090810151908501526101209093019290850190600101612394565b5091979650505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561240b57815180518552868101518786015285810151868601526060808201519086015260808082015115159086015260a0908101516001600160a01b03169085015260c09093019290850190600101612435565b6000806000606084860312156124a357600080fd5b6124ac8461211f565b92506124ba6020850161211f565b9150604084013590509250925092565b600060208083850312156124dd57600080fd5b823567ffffffffffffffff8111156124f457600080fd5b8301601f8101851361250557600080fd5b803561251361223e826121c9565b81815260059190911b8201830190838101908783111561253257600080fd5b928401925b82841015612557576125488461211f565b82529284019290840190612537565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109a6576109a6612562565b6020808252600b908201526a37bbb732b91032b93937b960a91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b808201808211156109a6576109a6612562565b818103818111156109a6576109a6612562565b60006001820161260257612602612562565b5060010190565b60008261262657634e487b7160e01b600052601260045260246000fd5b500490565b6000825160005b8181101561264c5760208186018101518583015201612632565b506000920191825250919050565b60006020828403121561266c57600080fd5b8151611ae2816122b956fea2646970667358221220470d69c306a0656916c327c7306ead178d8a90c70745a7b49da89d6c765e8f9a64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001068a889fd7151fb2ca9d98d268b0d0cd623fc2f000000000000000000000000ec4a060f134ce3d857510083acfa158fdbf2433d
-----Decoded View---------------
Arg [0] : gainToken_ (address): 0x1068a889Fd7151fB2CA9D98d268B0d0cd623FC2f
Arg [1] : lpToken_ (address): 0xEc4a060F134Ce3D857510083ACFA158fdbf2433D
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001068a889fd7151fb2ca9d98d268b0d0cd623fc2f
Arg [1] : 000000000000000000000000ec4a060f134ce3d857510083acfa158fdbf2433d
Deployed Bytecode Sourcemap
3127:13077:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5225:32;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5225:32:0;;;;;;;;3311:49;;;;;;;;;;;;3355:5;3311:49;;4632:26;;;;;;;;;;-1:-1:-1;4632:26:0;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;770:32:1;;;752:51;;834:2;819:18;;812:34;;;;862:18;;;855:34;;;;920:2;905:18;;898:34;;;;963:3;948:19;;941:35;;;;790:3;992:19;;985:35;1051:3;1036:19;;1029:35;1095:3;1080:19;;1073:35;1139:3;1124:19;;1117:35;739:3;724:19;4632:26:0;381:777:1;3413:61:0;;;;;;;;;;;;;:::i;5827:25::-;;;;;;;;;;;;;;;;5138:41;;;;;;;;;;-1:-1:-1;5138:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1697:14:1;;1690:22;1672:41;;1660:2;1645:18;5138:41:0;1532:187:1;8863:175:0;;;;;;;;;;-1:-1:-1;8863:175:0;;;;;:::i;:::-;;:::i;:::-;;10498:836;;;;;;;;;;-1:-1:-1;10498:836:0;;;;;:::i;:::-;;:::i;5305:46::-;;;;;;;;;;;;;;;9570:80;;;;;;;;;;-1:-1:-1;9570:80:0;;;;;:::i;:::-;;:::i;13631:2445::-;;;;;;;;;;-1:-1:-1;13631:2445:0;;;;;:::i;:::-;;:::i;7917:236::-;;;;;;;;;;-1:-1:-1;7917:236:0;;;;;:::i;:::-;;:::i;3219:34::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3970:32:1;;;3952:51;;3940:2;3925:18;3219:34:0;3806:203:1;2582:83:0;;;;;;;;;;;;;:::i;3715:49::-;;;;;;;;;;-1:-1:-1;3715:49:0;;;;;:::i;:::-;;:::i;5034:62::-;;;;;;;;;;-1:-1:-1;5034:62:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5034:62:0;;;8456:117;;;;;;;;;;-1:-1:-1;8456:117:0;;;;;:::i;:::-;;:::i;2232:20::-;;;;;;;;;;-1:-1:-1;2232:20:0;;;;-1:-1:-1;;;;;2232:20:0;;;11359:2246;;;;;;;;;;-1:-1:-1;11359:2246:0;;;;;:::i;:::-;;:::i;4707:64::-;;;;;;;;;;-1:-1:-1;4707:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4986:25:1;;;5042:2;5027:18;;5020:34;;;;5070:18;;;5063:34;4974:2;4959:18;4707:64:0;4784:319:1;7285:119:0;;;;;;;;;;-1:-1:-1;7285:119:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3631:53::-;;;;;;;;;;;;3668:16;3631:53;;7158:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7438:430::-;;;;;;;;;;-1:-1:-1;7438:430:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8161:263::-;;;;;;;;;;-1:-1:-1;8161:263:0;;;;;:::i;:::-;;:::i;3799:157::-;;;;;;;;;;-1:-1:-1;3799:157:0;;;;;:::i;:::-;;:::i;5477:43::-;;;;;;;;;;-1:-1:-1;5477:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5477:43:0;;;;;;;8849:25:1;;;8905:2;8890:18;;8883:34;;;;8933:18;;;8926:34;;;;8991:2;8976:18;;8969:34;9047:14;9040:22;9034:3;9019:19;;9012:51;-1:-1:-1;;;;;9100:32:1;9120:3;9079:19;;9072:61;8836:3;8821:19;5477:43:0;8568:571:1;5426:44:0;;;;;;;;;;-1:-1:-1;5426:44:0;;;;;:::i;:::-;;:::i;2423:151::-;;;;;;;;;;-1:-1:-1;2423:151:0;;;;;:::i;:::-;;:::i;8606:222::-;;;;;;;;;;-1:-1:-1;8606:222:0;;;;;:::i;:::-;;:::i;4632:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4632:26:0;;;;-1:-1:-1;4632:26:0;;;;;;;;;;;:::o;3413:61::-;3453:21;3355:5;3473:1;3453:21;:::i;:::-;3413:61;:::o;8863:175::-;2374:5;;-1:-1:-1;;;;;2374:5:0;2360:10;:19;2352:43;;;;-1:-1:-1;;;2352:43:0;;;;;;;:::i;:::-;;;;;;;;;8969:3:::1;8951:15;:21;8943:46;;;::::0;-1:-1:-1;;;8943:46:0;;10893:2:1;8943:46:0::1;::::0;::::1;10875:21:1::0;10932:2;10912:18;;;10905:30;-1:-1:-1;;;10951:18:1;;;10944:42;11003:18;;8943:46:0::1;10691:336:1::0;8943:46:0::1;9000:12;:30:::0;8863:175::o;10498:836::-;10570:7;10590:25;10618:8;10627:3;10618:13;;;;;;;;:::i;:::-;;;;;;;;;10590:41;;;;;;;;10618:13;;;;;;;10590:41;;-1:-1:-1;;;;;10590:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10670:13;;;:8;:13;;;;;:22;;;;;;;;;;;;10642:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10735:26;10793:24;;10590:41;;-1:-1:-1;10735:26:0;10775:15;:42;:73;;;;-1:-1:-1;10821:22:0;;;;:27;;10775:73;10772:402;;;10865:18;10904:9;:17;;;10886:15;:35;:73;;10944:15;10886:73;;;10924:9;:17;;;10886:73;10865:94;;10974:19;10996:117;11090:9;:22;;;10996:89;3543:4;10996:69;11041:9;:23;;;10996:40;11011:9;:24;;;10996:10;:14;;:40;;;;:::i;:::-;:44;;:69::i;:89::-;:93;;:117::i;:::-;10974:139;-1:-1:-1;11128:34:0;10974:139;11128:34;;:::i;:::-;;;10850:324;;10772:402;11184:21;11208:87;11274:9;:20;;;11208:61;3543:4;11208:41;11229:19;11208:9;:16;;;:20;;:41;;;;:::i;:61::-;:65;;:87::i;:::-;11184:111;-1:-1:-1;;;;;10498:836:0;;;;;:::o;9570:80::-;9623:19;9635:3;9640:1;9623:11;:19::i;:::-;9570:80;:::o;13631:2445::-;2818:1;2964:7;;:19;2956:63;;;;-1:-1:-1;;;2956:63:0;;11496:2:1;2956:63:0;;;11478:21:1;11535:2;11515:18;;;11508:30;11574:33;11554:18;;;11547:61;11625:18;;2956:63:0;11294:355:1;2956:63:0;2818:1;3030:7;:18;;;;13717:26:::1;13746:8;13755:3;13746:13;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;13838;;;:8:::1;:13:::0;;;;;;13788:10:::1;13838:22:::0;;;;;;;13746:13:::1;::::0;;::::1;;::::0;-1:-1:-1;13788:10:0;13871:19:::1;::::0;13847:3;;13871:11:::1;:19::i;:::-;13942:1;13909:12:::0;;;:7:::1;:12;::::0;;;;;;;-1:-1:-1;;;;;13909:21:0;;::::1;::::0;;;;;;;;::::1;13901:62;;;::::0;-1:-1:-1;;;13901:62:0;;11856:2:1;13901:62:0::1;::::0;::::1;11838:21:1::0;11895:2;11875:18;;;11868:30;-1:-1:-1;;;11914:18:1;;;11907:44;11968:18;;13901:62:0::1;11654:338:1::0;13901:62:0::1;-1:-1:-1::0;;;;;13982:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;::::1;;::::0;:61:::1;;;14022:21;14004:15;:39;13982:61;13974:96;;;::::0;-1:-1:-1;;;13974:96:0;;12199:2:1;13974:96:0::1;::::0;::::1;12181:21:1::0;12238:2;12218:18;;;12211:30;-1:-1:-1;;;12257:18:1;;;12250:52;12319:18;;13974:96:0::1;11997:346:1::0;13974:96:0::1;14101:21;14125:94;14198:9;:20;;;14125:68;3543:4;14125:48;14146:9;:26;;;14125:9;:16;;;:20;;:48;;;;:::i;:94::-;14101:118:::0;-1:-1:-1;14233:17:0;;14230:535:::1;;14267:26;14296:40;14332:3;14296:31;14314:12;;14296:13;:17;;:31;;;;:::i;:40::-;14267:69:::0;-1:-1:-1;14351:23:0::1;14377:37;:13:::0;14267:69;14377:17:::1;:37::i;:::-;14429:14;14446:12:::0;;;:7:::1;:12;::::0;;;;;;;-1:-1:-1;;;;;14446:21:0;;::::1;::::0;;;;;;;;;14485:13;;;:8:::1;:13:::0;;;;;14446:21;::::1;14485::::0;;;;;;;;:31;14351:63;;-1:-1:-1;14446:21:0;14485:35;14482:169:::1;;14545:22:::0;;14542:93:::1;;14569:66;14597:9;14608:6;14616:18;14569:27;:66::i;:::-;14668:19:::0;;14665:88:::1;;14689:64;14717:9;14728:7;14737:15;14689:27;:64::i;:::-;14252:513;;;14230:535;14780:39;::::0;;12587:25:1;;;-1:-1:-1;;;;;12648:32:1;;12643:2;12628:18;;12621:60;-1:-1:-1;12697:18:1;;;12690:34;12755:2;12740:18;;12733:34;;;14780:39:0;;::::1;::::0;;;;12574:3:1;14780:39:0;;::::1;14869:15;14850:16;14895:1062;14918:3;:10;14914:1;:14;14895:1062;;;14950:11;14964:3;14968:1;14964:6;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;14985:28:::1;15016:11:::0;;;:6:::1;:11:::0;;;;;;;15051:18:::1;::::0;::::1;::::0;14964:6;;-1:-1:-1;15016:11:0;15051:18:::1;;15050:19;15042:45;;;::::0;-1:-1:-1;;;15042:45:0;;12980:2:1;15042:45:0::1;::::0;::::1;12962:21:1::0;13019:2;12999:18;;;12992:30;-1:-1:-1;;;13038:18:1;;;13031:43;13091:18;;15042:45:0::1;12778:337:1::0;15042:45:0::1;15110:18;::::0;::::1;::::0;-1:-1:-1;;;;;15110:29:0;;::::1;:18;::::0;;::::1;;:29;15102:53;;;::::0;-1:-1:-1;;;15102:53:0;;13322:2:1;15102:53:0::1;::::0;::::1;13304:21:1::0;13361:2;13341:18;;;13334:30;-1:-1:-1;;;13380:18:1;;;13373:41;13431:18;;15102:53:0::1;13120:335:1::0;15102:53:0::1;15195:3;15178:10;:13;;;:20;15170:41;;;::::0;-1:-1:-1;;;15170:41:0;;13662:2:1;15170:41:0::1;::::0;::::1;13644:21:1::0;13701:1;13681:18;;;13674:29;-1:-1:-1;;;13719:18:1;;;13712:38;13767:18;;15170:41:0::1;13460:331:1::0;15170:41:0::1;15234:14:::0;;:21;::::1;15226:43;;;::::0;-1:-1:-1;;;15226:43:0;;13998:2:1;15226:43:0::1;::::0;::::1;13980:21:1::0;14037:1;14017:18;;;14010:29;-1:-1:-1;;;14055:18:1;;;14048:39;14104:18;;15226:43:0::1;13796:332:1::0;15226:43:0::1;15286:25;15314:46;15341:9;:18;;;15314:10;:22;;;:26;;:46;;;;:::i;:::-;15286:74:::0;-1:-1:-1;15375:23:0::1;15401:36;3453:21;3355:5;3473:1;3453:21;:::i;:::-;15401:17:::0;;:21:::1;:36::i;:::-;15375:62;;15468:17;15456:8;:29;;:60;;;;;15501:15;15489:8;:27;;15456:60;15455:94;;;;15532:9;:17;;;15521:8;:28;15455:94;15452:494;;;15592:17;::::0;::::1;::::0;15631:15;;15628:86:::1;;15676:15:::0;;15648:66:::1;::::0;-1:-1:-1;;;;;15676:15:0::1;15693:7:::0;15702:11;15648:27:::1;:66::i;:::-;15753:11;15733:9;:16;;;:31;;;;;;;:::i;:::-;;;;;;;;15809:11;15783:9;:22;;;:37;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;15841:18:0::1;::::0;::::1;:25:::0;;-1:-1:-1;;15841:25:0::1;15862:4;15841:25;::::0;;15890:40:::1;::::0;;14497:25:1;;;14553:2;14538:18;;14531:34;;;-1:-1:-1;;;;;14601:32:1;;14581:18;;;14574:60;14665:2;14650:18;;14643:34;;;15890:40:0;;::::1;::::0;14484:3:1;15890:40:0;;;;;;::::1;15551:395;15452:494;14935:1022;;;;14930:3;;;;;:::i;:::-;;;;14895:1062;;;;15992:68;3543:4;15992:48;16013:9;:26;;;15992:9;:16;;;:20;;:48;;;;:::i;:68::-;15969:20;::::0;;::::1;:91:::0;;;;-1:-1:-1;;2774:1:0;3071:22;;-1:-1:-1;;;;13631:2445:0:o;7917:236::-;2374:5;;-1:-1:-1;;;;;2374:5:0;2360:10;:19;2352:43;;;;-1:-1:-1;;;2352:43:0;;;;;;;:::i;:::-;8009:1:::1;8000:6;:10;7992:42;;;::::0;-1:-1:-1;;;7992:42:0;;15030:2:1;7992:42:0::1;::::0;::::1;15012:21:1::0;15069:2;15049:18;;;15042:30;-1:-1:-1;;;15088:18:1;;;15081:49;15147:18;;7992:42:0::1;14828:343:1::0;7992:42:0::1;-1:-1:-1::0;;;;;8053:16:0;::::1;8045:47;;;::::0;-1:-1:-1;;;8045:47:0;;15378:2:1;8045:47:0::1;::::0;::::1;15360:21:1::0;15417:2;15397:18;;;15390:30;-1:-1:-1;;;15436:18:1;;;15429:48;15494:18;;8045:47:0::1;15176:342:1::0;8045:47:0::1;8103:42;8134:2;8138:6;8103:30;:42::i;:::-;7917:236:::0;;:::o;2582:83::-;2374:5;;-1:-1:-1;;;;;2374:5:0;2360:10;:19;2352:43;;;;-1:-1:-1;;;2352:43:0;;;;;;;:::i;:::-;2655:1:::1;2639:18:::0;;-1:-1:-1;;;;;;2639:18:0::1;::::0;;2582:83::o;3715:49::-;;;;;;;;;;;;;;;-1:-1:-1;3715:49:0;:::o;8456:117::-;2374:5;;-1:-1:-1;;;;;2374:5:0;2360:10;:19;2352:43;;;;-1:-1:-1;;;2352:43:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8538:18:0;;;::::1;;::::0;;;:9:::1;:18;::::0;;;;:27;;-1:-1:-1;;8538:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8456:117::o;11359:2246::-;2818:1;2964:7;;:19;2956:63;;;;-1:-1:-1;;;2956:63:0;;11496:2:1;2956:63:0;;;11478:21:1;11535:2;11515:18;;;11508:30;11574:33;11554:18;;;11547:61;11625:18;;2956:63:0;11294:355:1;2956:63:0;2818:1;3030:7;:18;;;;11460:26:::1;11489:8;11498:3;11489:13;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;11585:12;;;:7:::1;:12:::0;;;;;;11531:10:::1;11585:21:::0;;;;;;;;;11489:13:::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;;;;;;11585:21:0::1;11582:110;;11637:43;11653:3;11658:7;11667:12;11637:15;:43::i;:::-;11704:26;11733:13:::0;;;:8:::1;:13;::::0;;;;;;;-1:-1:-1;;;;;11733:22:0;;::::1;::::0;;;;;;;11774:15;;11733:22;;11774:15:::1;11766:60;;;::::0;-1:-1:-1;;;11766:60:0;;15725:2:1;11766:60:0::1;::::0;::::1;15707:21:1::0;15764:2;15744:18;;;15737:30;-1:-1:-1;;;15783:18:1;;;15776:48;15841:18;;11766:60:0::1;15523:342:1::0;11766:60:0::1;11837:24;11849:3;11854:6;11837:11;:24::i;:::-;11913:1;11880:12:::0;;;:7:::1;:12;::::0;;;;;;;-1:-1:-1;;;;;11880:21:0;;::::1;::::0;;;;;;;;::::1;11872:62;;;::::0;-1:-1:-1;;;11872:62:0;;11856:2:1;11872:62:0::1;::::0;::::1;11838:21:1::0;11895:2;11875:18;;;11868:30;-1:-1:-1;;;11914:18:1;;;11907:44;11968:18;;11872:62:0::1;11654:338:1::0;11872:62:0::1;-1:-1:-1::0;;;;;11953:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;::::1;;::::0;:61:::1;;;11993:21;11975:15;:39;11953:61;11945:96;;;::::0;-1:-1:-1;;;11945:96:0;;12199:2:1;11945:96:0::1;::::0;::::1;12181:21:1::0;12238:2;12218:18;;;12211:30;-1:-1:-1;;;12257:18:1;;;12250:52;12319:18;;11945:96:0::1;11997:346:1::0;11945:96:0::1;12093:16;::::0;::::1;::::0;12054:21:::1;::::0;12093:20;12090:742:::1;;12146:94;12219:9;:20;;;12146:68;3543:4;12146:48;12167:9;:26;;;12146:9;:16;;;:20;;:48;;;;:::i;:94::-;12130:110:::0;-1:-1:-1;12258:17:0;;12255:566:::1;;12296:26;12325:40;12361:3;12325:31;12343:12;;12325:13;:17;;:31;;;;:::i;:40::-;12296:69:::0;-1:-1:-1;12384:23:0::1;12410:37;:13:::0;12296:69;12410:17:::1;:37::i;:::-;12466:14;12483:12:::0;;;:7:::1;:12;::::0;;;;;;;-1:-1:-1;;;;;12483:21:0;;::::1;::::0;;;;;;;;;12526:13;;;:8:::1;:13:::0;;;;;12483:21;::::1;12526::::0;;;;;;;;:31;12384:63;;-1:-1:-1;12483:21:0;12526:35;12523:176:::1;;12589:22:::0;;12586:93:::1;;12613:66;12641:9;12652:6;12660:18;12613:27;:66::i;:::-;12720:19:::0;;12717:88:::1;;12741:64;12769:9;12780:7;12789:15;12741:27;:64::i;:::-;12277:544;;;12255:566;12845:10:::0;;12842:594:::1;;12904:15:::0;;12872:80:::1;::::0;-1:-1:-1;;;;;12904:15:0::1;12921:7:::0;12938:4:::1;12945:6:::0;12872:31:::1;:80::i;:::-;12987:6;12967:9;:16;;;:26;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;13030:15:0::1;13008:37:::0;;13084:6:::1;:8:::0;;;13008:19:::1;13084:8;::::0;::::1;:::i;:::-;;;;;;13107:11;13121:6;;13107:20;;13142:7;:16;13150:7;-1:-1:-1::0;;;;;13142:16:0::1;-1:-1:-1::0;;;;;13142:16:0::1;;;;;;;;;;;;13164:3;13142:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13197:227;;;;;;;;13231:3;13197:227;;;;13257:3;13197:227;;;;13292:15;13197:227;;;;13334:6;13197:227;;;;13368:5;13197:227;;;;;;13401:7;-1:-1:-1::0;;;;;13197:227:0::1;;;::::0;13183:6:::1;:11;13190:3;13183:11;;;;;;;;;;;:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;13183:241:0::1;;;;;-1:-1:-1::0;;;;;13183:241:0::1;;;;;;;;;12857:579;12842:594;13469:68;3543:4;13469:48;13490:9;:26;;;13469:9;:16;;;:20;;:48;;;;:::i;:68::-;13446:20;::::0;::::1;:91:::0;13553:44:::1;::::0;;12587:25:1;;;-1:-1:-1;;;;;12648:32:1;;12643:2;12628:18;;12621:60;12697:18;;;12690:34;;;12755:2;12740:18;;12733:34;;;13553:44:0::1;::::0;12574:3:1;12559:19;13553:44:0::1;;;;;;;-1:-1:-1::0;;2774:1:0;3071:22;;-1:-1:-1;;;;;11359:2246:0:o;7285:119::-;-1:-1:-1;;;;;7380:16:0;;;;;;:7;:16;;;;;;;;;7373:23;;;;;;;;;;;;;;;;;7344:16;;7373:23;;;7380:16;7373:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7285:119;;;:::o;7158:97::-;7202:17;7239:8;7232:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7232:15:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7158:97;:::o;7438:430::-;-1:-1:-1;;;;;7549:16:0;;7531:15;7549:16;;;:7;:16;;;;;;;;:23;;7583:40;;;;;;;;;;;;;;;7500:18;;7549:23;;7531:15;;7583:40;7549:16;:23;;7583:40;;7549:16;:23;7583:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7634:30;7683:7;7667:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7667:24:0;;;;;;;;;;;;;;;;;7634:57;;7708:9;7704:128;7727:7;7723:1;:11;7704:128;;;7756:11;7770:4;7775:1;7770:7;;;;;;;;:::i;:::-;;;;;;;;;;;;7809:11;;;;:6;:11;;;;;;;7792:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7792:28:0;;;;;:14;;7770:7;;-1:-1:-1;7792:14:0;;7804:1;;7792:14;;;;;;:::i;:::-;;;;;;:28;;;;7741:91;7736:3;;;;;:::i;:::-;;;;7704:128;;;-1:-1:-1;7849:11:0;7438:430;-1:-1:-1;;;;7438:430:0:o;8161:263::-;2374:5;;-1:-1:-1;;;;;2374:5:0;2360:10;:19;2352:43;;;;-1:-1:-1;;;2352:43:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8261:16:0;::::1;8253:47;;;::::0;-1:-1:-1;;;8253:47:0;;15378:2:1;8253:47:0::1;::::0;::::1;15360:21:1::0;15417:2;15397:18;;;15390:30;-1:-1:-1;;;15436:18:1;;;15429:48;15494:18;;8253:47:0::1;15176:342:1::0;8253:47:0::1;-1:-1:-1::0;;;;;16168:19:0;;;8311:48:::1;;;::::0;-1:-1:-1;;;8311:48:0;;16494:2:1;8311:48:0::1;::::0;::::1;16476:21:1::0;16533:2;16513:18;;;16506:30;-1:-1:-1;;;16552:18:1;;;16545:48;16610:18;;8311:48:0::1;16292:342:1::0;8311:48:0::1;8370:46;8398:5;8405:2;8409:6;8370:27;:46::i;:::-;8161:263:::0;;;:::o;3799:157::-;;;;;;;;;;;5426:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2423:151::-;2374:5;;-1:-1:-1;;;;;2374:5:0;2360:10;:19;2352:43;;;;-1:-1:-1;;;2352:43:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2500:22:0;::::1;::::0;2496:71:::1;;2539:5;:16:::0;;-1:-1:-1;;;;;2539:16:0;::::1;-1:-1:-1::0;;;;;;2539:16:0;;::::1;;::::0;;2423:151;:::o;8606:222::-;2374:5;;-1:-1:-1;;;;;2374:5:0;2360:10;:19;2352:43;;;;-1:-1:-1;;;2352:43:0;;;;;;;:::i;:::-;8703:15;;8686:14:::1;8729:92;8752:6;8748:1;:10;8729:92;;;8805:4;8780:9;:22;8790:8;8799:1;8790:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;8780:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;8780:22:0;:29;;-1:-1:-1;;8780:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8760:3;::::1;::::0;::::1;:::i;:::-;;;;8729:92;;454:98:::0;512:7;539:5;543:1;539;:5;:::i;:::-;532:12;454:98;-1:-1:-1;;;454:98:0:o;242:::-;300:7;327:5;331:1;327;:5;:::i;560:98::-;618:7;645:5;649:1;645;:5;:::i;348:98::-;406:7;433:5;437:1;433;:5;:::i;9658:809::-;9727:26;9756:8;9765:3;9756:13;;;;;;;;:::i;:::-;;;;;;;;;;;9727:42;;9804:9;:24;;;9785:15;:43;;:74;;;-1:-1:-1;9832:22:0;;;;:27;9785:74;9782:274;;;9902:6;9876:9;:22;;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;;9968:17:0;;;;9950:15;:35;:73;;10008:15;9950:73;;;9988:9;:17;;;9950:73;9923:24;;;;:100;-1:-1:-1;;9658:809:0:o;9782:274::-;10068:18;10107:9;:17;;;10089:15;:35;:73;;10147:15;10089:73;;;10127:9;:17;;;10089:73;10068:94;;10173:20;10196:117;10290:9;:22;;;10196:89;3543:4;10196:69;10241:9;:23;;;10196:40;10211:9;:24;;;10196:10;:14;;:40;;;;:::i;:117::-;10173:140;;10354:12;10324:9;:26;;;:42;;;;;;;:::i;:::-;;;;;;;;10403:6;10377:9;:22;;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;;;10422:24:0;;;;:37;-1:-1:-1;;9658:809:0:o;1140:361::-;1335:45;;;-1:-1:-1;;;;;17053:32:1;;;1335:45:0;;;17035:51:1;17102:18;;;;17095:34;;;1335:45:0;;;;;;;;;;17008:18:1;;;;1335:45:0;;;;;;;-1:-1:-1;;;;;1335:45:0;-1:-1:-1;;;1335:45:0;;;1324:57;;-1:-1:-1;;;;1324:10:0;;;;:57;;1335:45;1324:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1288:93;;;;1400:7;:57;;;;-1:-1:-1;1412:11:0;;:16;;:44;;;1443:4;1432:24;;;;;;;;;;;;:::i;:::-;1392:101;;;;-1:-1:-1;;;1392:101:0;;18009:2:1;1392:101:0;;;17991:21:1;18048:2;18028:18;;;18021:30;18087:33;18067:18;;;18060:61;18138:18;;1392:101:0;17807:355:1;1392:101:0;1210:291;;1140:361;;;:::o;1919:261::-;2027:12;;;1989;2027;;;;;;;;;-1:-1:-1;;;;;2006:7:0;;;2020:5;;2006:34;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1988:52;;;2125:7;2117:55;;;;-1:-1:-1;;;2117:55:0;;18369:2:1;2117:55:0;;;18351:21:1;18408:2;18388:18;;;18381:30;18447:34;18427:18;;;18420:62;-1:-1:-1;;;18498:18:1;;;18491:33;18541:19;;2117:55:0;18167:399:1;9072:469:0;-1:-1:-1;;;;;16168:19:0;;;:23;9168:44;;;;-1:-1:-1;;;9168:44:0;;18773:2:1;9168:44:0;;;18755:21:1;18812:2;18792:18;;;18785:30;-1:-1:-1;;;18831:18:1;;;18824:41;18882:18;;9168:44:0;18571:335:1;9168:44:0;-1:-1:-1;;;;;9231:26:0;;9223:51;;;;-1:-1:-1;;;9223:51:0;;19113:2:1;9223:51:0;;;19095:21:1;19152:2;19132:18;;;19125:30;-1:-1:-1;;;19171:18:1;;;19164:42;19223:18;;9223:51:0;18911:336:1;9223:51:0;9309:7;-1:-1:-1;;;;;9293:23:0;:12;-1:-1:-1;;;;;9293:23:0;;9285:46;;;;-1:-1:-1;;;9285:46:0;;19454:2:1;9285:46:0;;;19436:21:1;19493:2;19473:18;;;19466:30;-1:-1:-1;;;19512:18:1;;;19505:40;19562:18;;9285:46:0;19252:334:1;9285:46:0;9383:1;9350:12;;;:7;:12;;;;;;;;-1:-1:-1;;;;;9350:21:0;;;;;;;;;;;;:35;9342:63;;;;-1:-1:-1;;;9342:63:0;;19793:2:1;9342:63:0;;;19775:21:1;19832:2;19812:18;;;19805:30;-1:-1:-1;;;19851:18:1;;;19844:45;19906:18;;9342:63:0;19591:339:1;9342:63:0;9462:1;9424:12;;;:7;:12;;;;;;;;-1:-1:-1;;;;;9424:26:0;;;;;;;;;;;;9416:68;;;;-1:-1:-1;;;9416:68:0;;20137:2:1;9416:68:0;;;20119:21:1;20176:2;20156:18;;;20149:30;-1:-1:-1;;;20195:18:1;;;20188:45;20250:18;;9416:68:0;19935:339:1;9416:68:0;9497:12;;;;:7;:12;;;;;;;;-1:-1:-1;;;;;9497:21:0;;;;;;;;;;;:36;;;;;;-1:-1:-1;;;;;;9497:36:0;;;;;;9072:469::o;1509:402::-;1734:51;;;-1:-1:-1;;;;;20537:15:1;;;1734:51:0;;;20519:34:1;20589:15;;;20569:18;;;20562:43;20621:18;;;;20614:34;;;1734:51:0;;;;;;;;;;20454:18:1;;;;1734:51:0;;;;;;;-1:-1:-1;;;;;1734:51:0;-1:-1:-1;;;1734:51:0;;;1723:63;;-1:-1:-1;;;;1723:10:0;;;;:63;;1734:51;1723:63;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1687:99;;;;1805:7;:57;;;;-1:-1:-1;1817:11:0;;:16;;:44;;;1848:4;1837:24;;;;;;;;;;;;:::i;:::-;1797:106;;;;-1:-1:-1;;;1797:106:0;;20861:2:1;1797:106:0;;;20843:21:1;20900:2;20880:18;;;20873:30;20939:34;20919:18;;;20912:62;-1:-1:-1;;;20990:18:1;;;20983:34;21034:19;;1797:106:0;20659:400:1;1797:106:0;1597:314;;1509:402;;;;:::o;196:180:1:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:1;;196:180;-1:-1:-1;196:180:1:o;1163:173::-;1231:20;;-1:-1:-1;;;;;1280:31:1;;1270:42;;1260:70;;1326:1;1323;1316:12;1260:70;1163:173;;;:::o;1341:186::-;1400:6;1453:2;1441:9;1432:7;1428:23;1424:32;1421:52;;;1469:1;1466;1459:12;1421:52;1492:29;1511:9;1492:29;:::i;1724:254::-;1792:6;1800;1853:2;1841:9;1832:7;1828:23;1824:32;1821:52;;;1869:1;1866;1859:12;1821:52;1905:9;1892:23;1882:33;;1934:38;1968:2;1957:9;1953:18;1934:38;:::i;:::-;1924:48;;1724:254;;;;;:::o;1983:127::-;2044:10;2039:3;2035:20;2032:1;2025:31;2075:4;2072:1;2065:15;2099:4;2096:1;2089:15;2115:275;2186:2;2180:9;2251:2;2232:13;;-1:-1:-1;;2228:27:1;2216:40;;2286:18;2271:34;;2307:22;;;2268:62;2265:88;;;2333:18;;:::i;:::-;2369:2;2362:22;2115:275;;-1:-1:-1;2115:275:1:o;2395:183::-;2455:4;2488:18;2480:6;2477:30;2474:56;;;2510:18;;:::i;:::-;-1:-1:-1;2555:1:1;2551:14;2567:4;2547:25;;2395:183::o;2583:959::-;2676:6;2684;2737:2;2725:9;2716:7;2712:23;2708:32;2705:52;;;2753:1;2750;2743:12;2705:52;2789:9;2776:23;2766:33;;2818:2;2871;2860:9;2856:18;2843:32;2898:18;2890:6;2887:30;2884:50;;;2930:1;2927;2920:12;2884:50;2953:22;;3006:4;2998:13;;2994:27;-1:-1:-1;2984:55:1;;3035:1;3032;3025:12;2984:55;3071:2;3058:16;3094:60;3110:43;3150:2;3110:43;:::i;:::-;3094:60;:::i;:::-;3188:15;;;3270:1;3266:10;;;;3258:19;;3254:28;;;3219:12;;;;3294:19;;;3291:39;;;3326:1;3323;3316:12;3291:39;3350:11;;;;3370:142;3386:6;3381:3;3378:15;3370:142;;;3452:17;;3440:30;;3403:12;;;;3490;;;;3370:142;;;3531:5;3521:15;;;;;;;2583:959;;;;;:::o;3547:254::-;3615:6;3623;3676:2;3664:9;3655:7;3651:23;3647:32;3644:52;;;3692:1;3689;3682:12;3644:52;3715:29;3734:9;3715:29;:::i;:::-;3705:39;3791:2;3776:18;;;;3763:32;;-1:-1:-1;;;3547:254:1:o;4014:118::-;4100:5;4093:13;4086:21;4079:5;4076:32;4066:60;;4122:1;4119;4112:12;4137:315;4202:6;4210;4263:2;4251:9;4242:7;4238:23;4234:32;4231:52;;;4279:1;4276;4269:12;4231:52;4302:29;4321:9;4302:29;:::i;:::-;4292:39;;4381:2;4370:9;4366:18;4353:32;4394:28;4416:5;4394:28;:::i;:::-;4441:5;4431:15;;;4137:315;;;;;:::o;4457:322::-;4534:6;4542;4550;4603:2;4591:9;4582:7;4578:23;4574:32;4571:52;;;4619:1;4616;4609:12;4571:52;4655:9;4642:23;4632:33;;4712:2;4701:9;4697:18;4684:32;4674:42;;4735:38;4769:2;4758:9;4754:18;4735:38;:::i;:::-;4725:48;;4457:322;;;;;:::o;5108:632::-;5279:2;5331:21;;;5401:13;;5304:18;;;5423:22;;;5250:4;;5279:2;5502:15;;;;5476:2;5461:18;;;5250:4;5545:169;5559:6;5556:1;5553:13;5545:169;;;5620:13;;5608:26;;5689:15;;;;5654:12;;;;5581:1;5574:9;5545:169;;;-1:-1:-1;5731:3:1;;5108:632;-1:-1:-1;;;;;;5108:632:1:o;5745:1353::-;5966:2;6018:21;;;6088:13;;5991:18;;;6110:22;;;5937:4;;5966:2;6151;;6169:18;;;;6210:15;;;5937:4;6253:819;6267:6;6264:1;6261:13;6253:819;;;6326:13;;6368:9;;-1:-1:-1;;;;;6364:35:1;6352:48;;6440:11;;;6434:18;6420:12;;;6413:40;6493:11;;;6487:18;6473:12;;;6466:40;6529:4;6573:11;;;6567:18;6553:12;;;6546:40;6609:4;6653:11;;;6647:18;6633:12;;;6626:40;6387:3;6733:11;;;6727:18;6713:12;;;6706:40;6769:4;6813:11;;;6807:18;6793:12;;;6786:40;6849:4;6893:11;;;6887:18;6873:12;;;6866:40;6929:6;6975:11;;;6969:18;6955:12;;;6948:40;7017:6;7008:16;;;;7047:15;;;;6396:1;6282:9;6253:819;;;-1:-1:-1;7089:3:1;;5745:1353;-1:-1:-1;;;;;;;5745:1353:1:o;7103:1127::-;7326:2;7378:21;;;7448:13;;7351:18;;;7470:22;;;7297:4;;7326:2;7511;;7529:18;;;;7570:15;;;7297:4;7613:591;7627:6;7624:1;7621:13;7613:591;;;7686:13;;7724:9;;7712:22;;7774:11;;;7768:18;7754:12;;;7747:40;7827:11;;;7821:18;7807:12;;;7800:40;7863:4;7907:11;;;7901:18;7887:12;;;7880:40;7943:4;8001:11;;;7995:18;7988:26;7981:34;7967:12;;;7960:56;8039:4;8087:11;;;8081:18;-1:-1:-1;;;;;8077:44:1;8063:12;;;8056:66;8151:4;8142:14;;;;8179:15;;;;8118:1;7642:9;7613:591;;8235:328;8312:6;8320;8328;8381:2;8369:9;8360:7;8356:23;8352:32;8349:52;;;8397:1;8394;8387:12;8349:52;8420:29;8439:9;8420:29;:::i;:::-;8410:39;;8468:38;8502:2;8491:9;8487:18;8468:38;:::i;:::-;8458:48;;8553:2;8542:9;8538:18;8525:32;8515:42;;8235:328;;;;;:::o;9144:897::-;9228:6;9259:2;9302;9290:9;9281:7;9277:23;9273:32;9270:52;;;9318:1;9315;9308:12;9270:52;9358:9;9345:23;9391:18;9383:6;9380:30;9377:50;;;9423:1;9420;9413:12;9377:50;9446:22;;9499:4;9491:13;;9487:27;-1:-1:-1;9477:55:1;;9528:1;9525;9518:12;9477:55;9564:2;9551:16;9587:60;9603:43;9643:2;9603:43;:::i;9587:60::-;9681:15;;;9763:1;9759:10;;;;9751:19;;9747:28;;;9712:12;;;;9787:19;;;9784:39;;;9819:1;9816;9809:12;9784:39;9843:11;;;;9863:148;9879:6;9874:3;9871:15;9863:148;;;9945:23;9964:3;9945:23;:::i;:::-;9933:36;;9896:12;;;;9989;;;;9863:148;;;10030:5;9144:897;-1:-1:-1;;;;;;;9144:897:1:o;10046:127::-;10107:10;10102:3;10098:20;10095:1;10088:31;10138:4;10135:1;10128:15;10162:4;10159:1;10152:15;10178:168;10251:9;;;10282;;10299:15;;;10293:22;;10279:37;10269:71;;10320:18;;:::i;10351:335::-;10553:2;10535:21;;;10592:2;10572:18;;;10565:30;-1:-1:-1;;;10626:2:1;10611:18;;10604:41;10677:2;10662:18;;10351:335::o;11032:127::-;11093:10;11088:3;11084:20;11081:1;11074:31;11124:4;11121:1;11114:15;11148:4;11145:1;11138:15;11164:125;11229:9;;;11250:10;;;11247:36;;;11263:18;;:::i;14133:128::-;14200:9;;;14221:11;;;14218:37;;;14235:18;;:::i;14688:135::-;14727:3;14748:17;;;14745:43;;14768:18;;:::i;:::-;-1:-1:-1;14815:1:1;14804:13;;14688:135::o;16639:217::-;16679:1;16705;16695:132;;16749:10;16744:3;16740:20;16737:1;16730:31;16784:4;16781:1;16774:15;16812:4;16809:1;16802:15;16695:132;-1:-1:-1;16841:9:1;;16639:217::o;17140:412::-;17269:3;17307:6;17301:13;17332:1;17342:129;17356:6;17353:1;17350:13;17342:129;;;17454:4;17438:14;;;17434:25;;17428:32;17415:11;;;17408:53;17371:12;17342:129;;;-1:-1:-1;17526:1:1;17490:16;;17515:13;;;-1:-1:-1;17490:16:1;17140:412;-1:-1:-1;17140:412:1:o;17557:245::-;17624:6;17677:2;17665:9;17656:7;17652:23;17648:32;17645:52;;;17693:1;17690;17683:12;17645:52;17725:9;17719:16;17744:28;17766:5;17744:28;:::i
Swarm Source
ipfs://470d69c306a0656916c327c7306ead178d8a90c70745a7b49da89d6c765e8f9a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.