Contract Overview
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Contract Name:
SodaPress
Compiler Version
v0.8.14+commit.80d49f37
Contract Source Code (Solidity)
/** *Submitted for verification at snowtrace.io on 2022-09-18 */ // SPDX-License-Identifier: GPL-3.0 pragma solidity 0.8.14; /** * @title Owner * @dev Set & change owner */ contract Ownable { address private owner; // event for EVM logging event OwnerSet(address indexed oldOwner, address indexed newOwner); // modifier to check if caller is owner modifier onlyOwner() { // If the first argument of 'require' evaluates to 'false', execution terminates and all // changes to the state and to Ether balances are reverted. // This used to consume all gas in old EVM versions, but not anymore. // It is often a good idea to use 'require' to check if functions are called correctly. // As a second argument, you can also provide an explanation about what went wrong. require(msg.sender == owner, "Caller is not owner"); _; } /** * @dev Set contract deployer as owner */ constructor() { owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor emit OwnerSet(address(0), owner); } /** * @dev Change owner * @param newOwner address of new owner */ function changeOwner(address newOwner) public onlyOwner { emit OwnerSet(owner, newOwner); owner = newOwner; } /** * @dev Return owner address * @return address of owner */ function getOwner() external view returns (address) { return owner; } } interface IERC20 { function totalSupply() external view returns (uint256); function symbol() external view returns(string memory); function name() external view returns(string memory); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Returns the number of decimal places */ function decimals() external view returns (uint8); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } interface ILotto { function deposit(address token, uint256 amount) external; function register(address user, uint256 amount) external; function compoundoor(address user, uint256 amount) external; } interface IZapper { function zap(IERC20 token_, address ref, address sender, uint256 minOut) external; } contract SodaPress is Ownable { // Token IERC20 public immutable token; // Number Of Seconds To Recoup Balance uint256 public immutable nSeconds; // Fees uint256 public poolFee = 900; uint256 public rewardFee = 50; uint256 public referrerFee = 15; uint256 public treasuryFee = 5; uint256 public lottoFee = 30; uint256 public claimFee = 100; uint256 private constant DENOM = 1000; // External Addresses / Contracts address public treasury; ILotto public lotto; // Zapper For Zapping Tokens Into LP Tokens address public zapper; bool public compoundBonus = true; bool public claimPenalty = true; // Contract value tracking uint256 public totalShares; uint256 private constant precision = 10**18; // Maximum Profit Tracking uint256 public MAX_PROFIT = 35 * 10**17; // Partnership Wallet address public partnerAddress = 0xf29fD03Df2Cb7F81d8Ae4d10A76f8b1C898786BD; // User Data struct User { uint256 balance; // shares of the system uint256 index; // index in allUsers array uint256 totalTokenBalance; // total tokens deposited uint256 totalShareBalance; // total shares attributed uint256 trackedTokenBalance; // tracked tokens deposited for profit calculation uint256 trackedShareBalance; // tracked shares attributed for profit calculation uint256 claimPerSecond; // tokens to claim per second uint256 lastClaim; // last claim second uint256 profitsAssassinated; // number of times user has assassinated another address referrer; // referrer address uint256 referrerFees; // total referrer fees gained by user } mapping ( address => User ) public userInfo; address[] public allUsers; address[] public allAssassins; // Data Tracking uint256 public totalDeposited; uint256 public totalReferrerFees; uint256 public totalRewards; // Function Events event Claim(address user, uint256 numTokens); event Compound(address user, uint256 pendingTokens); event Deposit(address user, uint256 numTokens, uint256 numShares); event Assassinated(address victim, address assassin, uint256 profitGained); // State Change Events event SetLotto(ILotto lotto_); event SetZapper(address zapper_); event SetTreasury(address treasury_); event SetMaxProfit(uint256 maxProfit); event FeesSet(uint poolFee, uint rewardFee, uint referr, uint treasury, uint lotto, uint claim); constructor( address token_, address treasury_, uint256 nDays_ ) { require( token_ != address(0) && nDays_ > 0, 'Invalid Inputs' ); token = IERC20(token_); treasury = treasury_; nSeconds = nDays_ * 86400; } //////////////////////////////////////////////// /////////// RESTRICTED FUNCTIONS /////////// //////////////////////////////////////////////// function setFees( uint poolFee_, uint rewardFee_, uint referrer_, uint treasury_, uint lotto_, uint claimFee_ ) external onlyOwner { require( poolFee_ + rewardFee_ + referrer_ + treasury_ + lotto_ == DENOM, 'Invalid Fees' ); require( poolFee_ > 0 && rewardFee_ > 0 && treasury_ > 0 && lotto_ > 0, 'Zero Checks' ); require( claimFee_ <= 250, 'Claim Fee Too High' ); poolFee = poolFee_; rewardFee = rewardFee_; referrerFee = referrer_; treasuryFee = treasury_; lottoFee = lotto_; claimFee = claimFee_; emit FeesSet(poolFee_, rewardFee_, referrer_, treasury_, lotto_, claimFee_); } function setLotto(ILotto lotto_) external onlyOwner { require( address(lotto_) != address(0), 'Zero Address' ); lotto = lotto_; emit SetLotto(lotto_); } function setZapper(address zapper_) external onlyOwner { require( zapper_ != address(0), 'Zero Address' ); zapper = zapper_; emit SetZapper(zapper_); } function setTreasury(address treasury_) external onlyOwner { require( treasury_ != address(0), 'Zero Address' ); treasury = treasury_; emit SetTreasury(treasury_); } function setPartnerWallet(address partnerAddress_) external onlyOwner { require( partnerAddress_ != address(0), 'Zero Address' ); partnerAddress = partnerAddress_; emit SetTreasury(partnerAddress_); } function setMaxProfit(uint256 maxProfit) external onlyOwner { require( maxProfit >= 10**18, 'Max Profit Too Low' ); MAX_PROFIT = maxProfit; emit SetMaxProfit(maxProfit); } //////////////////////////////////////////////// /////////// PUBLIC FUNCTIONS /////////// //////////////////////////////////////////////// /** Deposits `amount` of Token into system, Must have prior `approval` from `msg.sender` to move Token Takes Fee Equal To `100 - poolFee` Reward Fee Inflates Daily Claim For Holders Treasury Fee Is Sent To The Treasury Lotto Fee Is Sent To Lottery Contract Referrer Fee Is Sent To the referrer for `msg.sender` if `ref` is not `msg.sender`, registers `ref` as `msg.sender`'s referrer if `msg.sender` already has a registered referrer, ref is not checked and can be arbitrary if no registered referrer, and `ref` is `msg.sender`, Referrer Fee is added to reward fee */ function deposit(address ref, uint256 amount) external { _deposit(msg.sender, ref, amount); } /** Zaps `token` into LP Token Used By The Miner And Then Deposits. Deposits `amount` of Token into system, Must have prior `approval` from `msg.sender` to move Token Takes Fee Equal To `100 - poolFee` Reward Fee Inflates Daily Claim For Holders Treasury Fee Is Sent To The Treasury Lotto Fee Is Sent To Lottery Contract Referrer Fee Is Sent To the referrer for `msg.sender` if `ref` is not `msg.sender`, registers `ref` as `msg.sender`'s referrer if `msg.sender` already has a registered referrer, ref is not checked and can be arbitrary if no registered referrer, and `ref` is `msg.sender`, Referrer Fee is added to reward fee */ function zapAndDeposit(address ref, IERC20 token_, uint256 amount, uint256 minOut) external { require( zapper != address(0), 'Zero Zapper' ); // transfer in tokens to zap _transferFrom(token_, zapper, amount); // zap tokens IZapper(zapper).zap(token_, ref, msg.sender, minOut); } function depositFor(address user, address ref, uint256 amount) external { require( msg.sender == zapper, 'Only Zapper' ); _deposit(user, ref, amount); } /** Adds Current Pending Balance To `msg.sender`'s tracked balance and shares Reduces their tracked profit so they do not get forced out, but forfeits the current pending rewards they have waiting */ function compound() public { _compound(msg.sender); } /** Claims Pending Rewards, sending to caller Decrementing Shares and Balances Resetting the claim timer */ function claim() external { _claim(msg.sender); } /** Forces `user` out of the system if they have exceeded the MAXIMUM_PROFIT Can be called by anyone for any user Caller gains the excess rewards from the MAXIMUM_PROFIT, incentivizing community To keep an eye on over-due members */ function assassinate(address user) external { require( user != address(0), 'Zero Address' ); require( userInfo[msg.sender].balance > 0, 'Assassin must be active' ); // calculate user's current profit uint currentProfit = calculateTrackedProfit(user); uint trackedBalance = userInfo[user].trackedTokenBalance; require( currentProfit > 0 && trackedBalance > 0, 'Invalid User Data' ); // ensure `user` is above profit ratio uint profitRatio = ( currentProfit * precision ) / trackedBalance; require( profitRatio >= MAX_PROFIT, 'MAX PROFIT NOT REACHED' ); // calculate profit for user if they stopped earning at MAX PROFIT uint expectedProfit = ( trackedBalance * MAX_PROFIT ) / precision; require( expectedProfit <= currentProfit, 'Not over Maximum Profit' ); // find difference in profit uint profitDifference = currentProfit - expectedProfit; // remove profit from user uint userShares = userInfo[user].balance; uint userTokens = valueOf(userShares); require( userShares > 0 && userTokens > 0 && userTokens >= profitDifference, 'Something Went Wrong' ); // update state totalShares -= userShares; _removeUser(user); // tokens to send to user uint256 adjustedUserTokens = adjustWithClaimFee(userTokens - profitDifference); uint256 adjustedProfitDifference = adjustWithClaimFee(profitDifference); // send tokens to user _send(user, adjustedUserTokens); // send bounty to caller _send(msg.sender, adjustedProfitDifference); // add to assassin array if new assassin if (userInfo[msg.sender].profitsAssassinated == 0) { allAssassins.push(msg.sender); } // update assassin tracker userInfo[msg.sender].profitsAssassinated += profitDifference; emit Assassinated(user, msg.sender, profitDifference); } //////////////////////////////////////////////// /////////// READ FUNCTIONS /////////// //////////////////////////////////////////////// function calculatePrice() public view returns (uint256) { uint shares = totalShares == 0 ? 1 : totalShares; uint backing = token.balanceOf(address(this)); return ( backing * precision ) / shares; } function calculateTrackedProfitRatio(address user) public view returns (uint256) { uint currentProfit = calculateTrackedProfit(user); uint trackedBalance = userInfo[user].trackedTokenBalance; if (currentProfit == 0 || trackedBalance == 0) { return 0; } // profit percentage = profit / trackedBalance I.E. 600 tokens profit / 200 tokens staked = 3x profit return ( currentProfit * precision ) / trackedBalance; } function calculateTrackedProfit(address user) public view returns (uint256) { uint tokens = userInfo[user].trackedTokenBalance; uint current_tokens = valueOf(userInfo[user].trackedShareBalance); return tokens < current_tokens ? current_tokens - tokens : 0; } function calculateProfit(address user) public view returns (uint256) { uint tokens = userInfo[user].totalTokenBalance; uint current_tokens = valueOf(userInfo[user].totalShareBalance); return tokens < current_tokens ? current_tokens - tokens : 0; } function valueOf(uint balance) public view returns (uint256) { return ( balance * calculatePrice() ) / precision; } function valueOfAccount(address account) public view returns (uint256) { return valueOf(userInfo[account].balance); } function rewardsPerDay(address user) public view returns (uint256) { return valueOf(userInfo[user].claimPerSecond) * 86400; } function pendingRewards(address user) public view returns (uint256) { return valueOf(pendingShares(user)); } function pendingShares(address user) public view returns (uint256) { if (userInfo[user].balance == 0 || userInfo[user].lastClaim >= block.timestamp) { return 0; } // difference in blocks uint diff = block.timestamp - userInfo[user].lastClaim; // shares to claim uint toClaim = diff * userInfo[user].claimPerSecond; return toClaim > userInfo[user].balance ? userInfo[user].balance : toClaim; } function fetchAllUsers() external view returns (address[] memory) { return allUsers; } function fetchAllAssassins() external view returns (address[] memory) { return allAssassins; } function fetchAllUsersNearAssassination(uint256 threshold) external view returns (address[] memory) { uint length = allUsers.length; uint count = 0; uint profitThreshold = ( MAX_PROFIT * threshold / 1000 ); for (uint i = 0; i < length;) { if ( calculateTrackedProfitRatio(allUsers[i]) >= profitThreshold ) { count++; } unchecked { ++i; } } address[] memory usersNearAssassination = new address[](count); if (count == 0) { return usersNearAssassination; } uint index = 0; for (uint i = 0; i < length;) { if ( calculateTrackedProfitRatio(allUsers[i]) >= profitThreshold ) { usersNearAssassination[index] = allUsers[i]; index++; } unchecked { ++i; } } return usersNearAssassination; } //////////////////////////////////////////////// /////////// INTERNAL FUNCTIONS /////////// //////////////////////////////////////////////// function _deposit(address user, address ref, uint256 amount) internal { require( ref != address(0) && amount > 0, 'Zero Amount' ); // claim pending shares if any exist if (pendingShares(user) > 0) { _compound(user); } // if first deposit uint previousBalance = token.balanceOf(address(this)); // add user if first time depositing, else compound pending rewards if (userInfo[user].balance == 0) { _addUser(user); } // transfer in tokens uint received = _transferFrom(token, address(this), amount); totalDeposited += received; // split up amounts uint forPool = (received * poolFee) / DENOM; uint forRewards = (received * rewardFee) / DENOM; uint forTreasury = (received * treasuryFee) / DENOM; uint forLotto = (received * lottoFee) / DENOM; uint forReferrer = received - ( forPool + forRewards + forTreasury + forLotto ); // deposit fees _takeFee(forLotto, forTreasury); // register buy within lottery lotto.register(user, received); // register referrer _addReferrerReward(user, ref, forReferrer); totalRewards += forRewards; // add share of pool to user _mintShares(user, forPool, previousBalance, forRewards); } function _claim(address user) internal { // pending shares uint pending = pendingShares(user); if (pending == 0) { return; } if (pending > userInfo[user].balance) { pending = userInfo[user].balance; } // pending Tokens uint pendingTokens = valueOf(pending); // decrement total shares totalShares -= pending; // if pending equal to balance, wipe all user data if (pending >= userInfo[user].balance) { _removeUser(user); } else { userInfo[user].balance -= pending; userInfo[user].lastClaim = block.timestamp; } if(claimPenalty){ userInfo[user].claimPerSecond -= ( pending / nSeconds ); } // tax claim amount uint256 adjustedPendingTokens = adjustWithClaimFee(pendingTokens); // transfer token to recipient _send(user, adjustedPendingTokens); emit Claim(user, adjustedPendingTokens); } /** Adds Current Pending Balance To `user`'s tracked balance and shares Reduces their tracked profit so they do not get forced out, but forfeits the current pending rewards they have waiting */ function _compound(address user) internal { uint pending = pendingShares(user); uint pendingTokens = valueOf(pending); if (pending == 0 || pendingTokens == 0) { return; } // reset claim userInfo[user].lastClaim = block.timestamp; // increment token balance and share balance to offset profits userInfo[user].trackedTokenBalance += pendingTokens; userInfo[user].trackedShareBalance += pending; if(compoundBonus){ userInfo[user].claimPerSecond += ( pending / nSeconds ); } lotto.compoundoor(user, pendingTokens); emit Compound(user, pendingTokens); } function _mintShares(address user, uint256 share, uint256 previousBalance, uint256 feesTaken) internal { userInfo[user].totalTokenBalance += share; userInfo[user].trackedTokenBalance += share; if (totalShares == 0 || previousBalance == 0) { userInfo[user].balance += share; userInfo[user].claimPerSecond += ( share / nSeconds ); userInfo[user].totalShareBalance += share; userInfo[user].trackedShareBalance += share; totalShares += share; emit Deposit(user, share, share); } else { uint sharesToMint = ( totalShares * share ) / ( previousBalance + feesTaken ); userInfo[user].balance += sharesToMint; userInfo[user].totalShareBalance += sharesToMint; userInfo[user].trackedShareBalance += sharesToMint; userInfo[user].claimPerSecond += ( sharesToMint / nSeconds ); totalShares += sharesToMint; emit Deposit(user, share, sharesToMint); } } function _addReferrerReward(address depositor, address ref, uint256 value) internal { // register referrer if not yet registered if (userInfo[depositor].referrer == address(0)) { if (ref != depositor) { userInfo[depositor].referrer = ref; } } address ref1 = userInfo[depositor].referrer; // send cut to referrer, if no referrer send to treasury if (ref1 != address(0) && value > 0) { _send(ref1, value); userInfo[ref1].referrerFees += value; totalReferrerFees += value; }else{ _send(treasury, value); } } function adjustWithClaimFee(uint256 claimAmount) public view returns (uint256) { uint tax = ( claimAmount * claimFee ) / DENOM; return claimAmount - tax; } function _takeFee(uint lottoFee_, uint treasuryFee_) internal { // for lotto token.approve(address(lotto), lottoFee_); lotto.deposit(address(token), lottoFee_); // for treasury and partner uint256 partnerFee_ = treasuryFee_ / 2; uint256 _treasuryFee_ = treasuryFee_ - partnerFee_; _send(treasury, _treasuryFee_); _send(partnerAddress, partnerFee_); } function _transferFrom(IERC20 token_, address destination, uint amount) internal returns (uint256) { uint before = token_.balanceOf(destination); bool s = token_.transferFrom( msg.sender, destination, amount ); uint received = token_.balanceOf(destination) - before; require( s && received > 0 && received <= amount, 'Error TransferFrom' ); return received; } function _send(address user, uint amount) internal { uint bal = token.balanceOf(address(this)); if (amount > bal) { amount = bal; } if (amount > 0) { require( token.transfer(user, amount), 'Failure On Token Transfer' ); } } function _addUser(address user) internal { userInfo[user].index = allUsers.length; userInfo[user].lastClaim = block.timestamp; allUsers.push(user); } function _removeUser(address user) internal { require( allUsers[userInfo[user].index] == user, 'User Not Present' ); userInfo[ allUsers[allUsers.length - 1] ].index = userInfo[user].index; allUsers[ userInfo[user].index ] = allUsers[allUsers.length - 1]; allUsers.pop(); delete userInfo[user]; } function setBonus(bool _compoundFlag, bool _claimFlag) external onlyOwner { compoundBonus = _compoundFlag; claimPenalty = _claimFlag; } function adminDeposit(address user, uint256 share, uint256 feesTaken) external onlyOwner { uint previousBalance = token.balanceOf(address(this)); _mintShares(user, share, previousBalance, feesTaken); } function withdrawAVAX() external onlyOwner { (bool s,) = payable(msg.sender).call{value: address(this).balance}(""); require(s); } function withdrawTokens(IERC20 token_) external onlyOwner { token_.transfer(msg.sender, token_.balanceOf(address(this))); } }
[{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"treasury_","type":"address"},{"internalType":"uint256","name":"nDays_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"victim","type":"address"},{"indexed":false,"internalType":"address","name":"assassin","type":"address"},{"indexed":false,"internalType":"uint256","name":"profitGained","type":"uint256"}],"name":"Assassinated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"pendingTokens","type":"uint256"}],"name":"Compound","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"numTokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"numShares","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"poolFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"referr","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"treasury","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lotto","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"claim","type":"uint256"}],"name":"FeesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract ILotto","name":"lotto_","type":"address"}],"name":"SetLotto","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxProfit","type":"uint256"}],"name":"SetMaxProfit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"treasury_","type":"address"}],"name":"SetTreasury","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"zapper_","type":"address"}],"name":"SetZapper","type":"event"},{"inputs":[],"name":"MAX_PROFIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"claimAmount","type":"uint256"}],"name":"adjustWithClaimFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"share","type":"uint256"},{"internalType":"uint256","name":"feesTaken","type":"uint256"}],"name":"adminDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allAssassins","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allUsers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"assassinate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"calculatePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"calculateProfit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"calculateTrackedProfit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"calculateTrackedProfitRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimPenalty","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"compound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"compoundBonus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address","name":"ref","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fetchAllAssassins","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fetchAllUsers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"fetchAllUsersNearAssassination","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lotto","outputs":[{"internalType":"contract ILotto","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lottoFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nSeconds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"partnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"pendingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"pendingShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"referrerFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"rewardsPerDay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_compoundFlag","type":"bool"},{"internalType":"bool","name":"_claimFlag","type":"bool"}],"name":"setBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"poolFee_","type":"uint256"},{"internalType":"uint256","name":"rewardFee_","type":"uint256"},{"internalType":"uint256","name":"referrer_","type":"uint256"},{"internalType":"uint256","name":"treasury_","type":"uint256"},{"internalType":"uint256","name":"lotto_","type":"uint256"},{"internalType":"uint256","name":"claimFee_","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ILotto","name":"lotto_","type":"address"}],"name":"setLotto","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxProfit","type":"uint256"}],"name":"setMaxProfit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"partnerAddress_","type":"address"}],"name":"setPartnerWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"treasury_","type":"address"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"zapper_","type":"address"}],"name":"setZapper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDeposited","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReferrerFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"totalTokenBalance","type":"uint256"},{"internalType":"uint256","name":"totalShareBalance","type":"uint256"},{"internalType":"uint256","name":"trackedTokenBalance","type":"uint256"},{"internalType":"uint256","name":"trackedShareBalance","type":"uint256"},{"internalType":"uint256","name":"claimPerSecond","type":"uint256"},{"internalType":"uint256","name":"lastClaim","type":"uint256"},{"internalType":"uint256","name":"profitsAssassinated","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"referrerFees","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"valueOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"valueOfAccount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawAVAX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token_","type":"address"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"},{"internalType":"contract IERC20","name":"token_","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minOut","type":"uint256"}],"name":"zapAndDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"zapper","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c06040526103846001556032600255600f60035560056004819055601e905560646006556009805461010160a01b61ffff60a01b199091161790556730927f74c9de0000600b55600c80546001600160a01b03191673f29fd03df2cb7f81d8ae4d10a76f8b1c898786bd1790553480156200007a57600080fd5b506040516200323d3803806200323d8339810160408190526200009d9162000195565b600080546001600160a01b0319163390811782556040519091907f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a735908290a36001600160a01b03831615801590620000f55750600081115b620001375760405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420496e7075747360901b604482015260640160405180910390fd5b6001600160a01b03838116608052600780546001600160a01b0319169184169190911790556200016b8162015180620001d6565b60a0525062000204915050565b80516001600160a01b03811681146200019057600080fd5b919050565b600080600060608486031215620001ab57600080fd5b620001b68462000178565b9250620001c66020850162000178565b9150604084015190509250925092565b6000816000190483118215151615620001ff57634e487b7160e01b600052601160045260246000fd5b500290565b60805160a051612fbf6200027e600039600081816104b701528181612406015281816125600152818161273901526128a4015260008181610758015281816113650152818161170b01528181611ca701528181611d540152818161206201528181612168015281816129d10152612a5b0152612fbf6000f3fe608060405234801561001057600080fd5b50600436106103275760003560e01c8063737baa40116101b8578063aab80ba111610104578063d348b409116100a2578063fbd668a91161007c578063fbd668a914610740578063fc0c546a14610753578063ff50abdc1461077a578063ff9608301461078357600080fd5b8063d348b4091461071d578063f0f4426014610725578063f69e20461461073857600080fd5b8063b3db428b116100de578063b3db428b146106e6578063c3374315146106f9578063cadf338f14610701578063cc32d1761461071457600080fd5b8063aab80ba1146106b8578063abce145b146106cb578063b1c17506146106d357600080fd5b806393fc9fbe11610171578063a1c330d61161014b578063a1c330d61461066c578063a2bdedf41461067f578063a6f9dae114610692578063a7a21712146106a557600080fd5b806393fc9fbe1461063d5780639602de181461065057806399d32fc41461066357600080fd5b8063737baa40146105e157806377ce5681146105ea5780638123b3f5146105fd57806386f6c3c114610610578063893d20e8146106235780638b4242671461063457600080fd5b80634243517511610277578063576168fc1161023057806368882bcf1161020a57806368882bcf146105a8578063694f07af146105b15780636e88a7bd146105c5578063708878f1146105ce57600080fd5b8063576168fc1461056d57806361d027b31461058057806366b2da1f1461059357600080fd5b806342435175146104f557806347e7ef241461050857806349df728c1461051b5780634be8d1531461052e5780634e71d92d1461055257806352512ce61461055a57600080fd5b806327ca9740116102e457806331d7a262116102be57806331d7a2621461049f578063358fb5f0146104b257806337d80aa8146104d95780633a98ef39146104ec57600080fd5b806327ca9740146104705780632d79cf61146104835780632d9d53361461048c57600080fd5b8063089fe6aa1461032c5780630e15561a1461034857806311a651a91461035157806313c2bf001461037c5780631959a002146103915780631bfff8ac1461045d575b600080fd5b61033560015481565b6040519081526020015b60405180910390f35b61033560125481565b61036461035f366004612c21565b610796565b6040516001600160a01b03909116815260200161033f565b61038f61038a366004612c4f565b6107c0565b005b61040161039f366004612c4f565b600d60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a909a01549899979896979596949593949293919290916001600160a01b0316908b565b604080519b8c5260208c019a909a52988a01979097526060890195909552608088019390935260a087019190915260c086015260e08501526101008401526001600160a01b03166101208301526101408201526101600161033f565b61033561046b366004612c4f565b610b62565b61038f61047e366004612c6c565b610b9a565b61033560055481565b61033561049a366004612c4f565b610c73565b6103356104ad366004612c4f565b610d5a565b6103357f000000000000000000000000000000000000000000000000000000000000000081565b6103356104e7366004612c4f565b610d68565b610335600a5481565b61038f610503366004612c4f565b610dca565b61038f610516366004612cb2565b610e6f565b61038f610529366004612c4f565b610e7e565b60095461054290600160a01b900460ff1681565b604051901515815260200161033f565b61038f610f89565b610335610568366004612c21565b610f94565b600c54610364906001600160a01b031681565b600754610364906001600160a01b031681565b61059b610fc5565b60405161033f9190612cde565b610335600b5481565b60095461054290600160a81b900460ff1681565b61033560035481565b61038f6105dc366004612c4f565b611027565b61033560115481565b61038f6105f8366004612d2d565b6110c5565b61033561060b366004612c4f565b611123565b61038f61061e366004612d66565b61116b565b6000546001600160a01b0316610364565b61033560025481565b600854610364906001600160a01b031681565b61038f61065e366004612da9565b611323565b61033560065481565b61033561067a366004612c4f565b6113ec565b61036461068d366004612c21565b61140e565b61038f6106a0366004612c4f565b61141e565b600954610364906001600160a01b031681565b61038f6106c6366004612c4f565b6114a3565b61038f611541565b6103356106e1366004612c4f565b6115c3565b61038f6106f4366004612dde565b6115f1565b61059b611649565b61033561070f366004612c21565b6116a9565b61033560045481565b6103356116d0565b61038f610733366004612c4f565b61179c565b61038f61183a565b61038f61074e366004612c21565b611843565b6103647f000000000000000000000000000000000000000000000000000000000000000081565b61033560105481565b61059b610791366004612c21565b6118ef565b600f81815481106107a657600080fd5b6000918252602090912001546001600160a01b0316905081565b6001600160a01b0381166107ef5760405162461bcd60e51b81526004016107e690612e1f565b60405180910390fd5b336000908152600d602052604090205461084b5760405162461bcd60e51b815260206004820152601760248201527f417373617373696e206d7573742062652061637469766500000000000000000060448201526064016107e6565b600061085682611123565b6001600160a01b0383166000908152600d602052604090206004015490915081158015906108845750600081115b6108c45760405162461bcd60e51b8152602060048201526011602482015270496e76616c69642055736572204461746160781b60448201526064016107e6565b6000816108d9670de0b6b3a764000085612e5b565b6108e39190612e7a565b9050600b548110156109305760405162461bcd60e51b815260206004820152601660248201527513505608141493d19255081393d50814915050d2115160521b60448201526064016107e6565b6000670de0b6b3a7640000600b54846109499190612e5b565b6109539190612e7a565b9050838111156109a55760405162461bcd60e51b815260206004820152601760248201527f4e6f74206f766572204d6178696d756d2050726f66697400000000000000000060448201526064016107e6565b60006109b18286612e9c565b6001600160a01b0387166000908152600d60205260408120549192506109d6826116a9565b90506000821180156109e85750600081115b80156109f45750828110155b610a375760405162461bcd60e51b8152602060048201526014602482015273536f6d657468696e672057656e742057726f6e6760601b60448201526064016107e6565b81600a6000828254610a499190612e9c565b90915550610a58905088611a6e565b6000610a676105688584612e9c565b90506000610a7485610f94565b9050610a808a83611c8f565b610a8a3382611c8f565b336000908152600d60205260408120600801549003610ae657600f80546001810182556000919091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b031916331790555b336000908152600d602052604081206008018054879290610b08908490612eb3565b9091555050604080516001600160a01b038c1681523360208201529081018690527fc01d8604e9bbf0ee54438b9286a97dad0c54dc777c5b6542cfa606dda6af81289060600160405180910390a150505050505050505050565b6001600160a01b0381166000908152600d6020526040812060060154610b87906116a9565b610b949062015180612e5b565b92915050565b6009546001600160a01b0316610be05760405162461bcd60e51b815260206004820152600b60248201526a2d32b937902d30b83832b960a91b60448201526064016107e6565b600954610bf89084906001600160a01b031684611e0d565b506009546040516315c188e960e21b81526001600160a01b0385811660048301528681166024830152336044830152606482018490529091169063570623a490608401600060405180830381600087803b158015610c5557600080fd5b505af1158015610c69573d6000803e3d6000fd5b5050505050505050565b6001600160a01b0381166000908152600d60205260408120541580610cb357506001600160a01b0382166000908152600d60205260409020600701544211155b15610cc057506000919050565b6001600160a01b0382166000908152600d6020526040812060070154610ce69042612e9c565b6001600160a01b0384166000908152600d602052604081206006015491925090610d109083612e5b565b6001600160a01b0385166000908152600d60205260409020549091508111610d385780610d52565b6001600160a01b0384166000908152600d60205260409020545b949350505050565b6000610b9461070f83610c73565b600080610d7483611123565b6001600160a01b0384166000908152600d6020526040902060040154909150811580610d9e575080155b15610dad575060009392505050565b80610dc0670de0b6b3a764000084612e5b565b610d529190612e7a565b6000546001600160a01b03163314610df45760405162461bcd60e51b81526004016107e690612ecb565b6001600160a01b038116610e1a5760405162461bcd60e51b81526004016107e690612e1f565b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527fe1e732dbbc8e3554486963da7b8477bf9f5066e9172819ed0397db8535ac527e906020015b60405180910390a150565b610e7a338383611fde565b5050565b6000546001600160a01b03163314610ea85760405162461bcd60e51b81526004016107e690612ecb565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610ef6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1a9190612ef8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7a9190612f11565b610f92336122fd565b565b6000806103e860065484610fa89190612e5b565b610fb29190612e7a565b9050610fbe8184612e9c565b9392505050565b6060600f80548060200260200160405190810160405280929190818152602001828054801561101d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610fff575b5050505050905090565b6000546001600160a01b031633146110515760405162461bcd60e51b81526004016107e690612ecb565b6001600160a01b0381166110775760405162461bcd60e51b81526004016107e690612e1f565b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527fbef2c125b6392cbec1a04028518f8191a6ffbd6c9e2fa452a8419b52523e92bd90602001610e64565b6000546001600160a01b031633146110ef5760405162461bcd60e51b81526004016107e690612ecb565b6009805461ffff60a01b1916600160a01b9315159390930260ff60a81b191692909217600160a81b91151591909102179055565b6001600160a01b0381166000908152600d6020526040812060048101546005909101548290611151906116a9565b9050808210611161576000610d52565b610d528282612e9c565b6000546001600160a01b031633146111955760405162461bcd60e51b81526004016107e690612ecb565b6103e88284866111a5898b612eb3565b6111af9190612eb3565b6111b99190612eb3565b6111c39190612eb3565b146111ff5760405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964204665657360a01b60448201526064016107e6565b60008611801561120f5750600085115b801561121b5750600083115b80156112275750600082115b6112615760405162461bcd60e51b815260206004820152600b60248201526a5a65726f20436865636b7360a81b60448201526064016107e6565b60fa8111156112a75760405162461bcd60e51b8152602060048201526012602482015271086d8c2d2da408ccaca40a8dede4090d2ced60731b60448201526064016107e6565b6001869055600285905560038490556004839055600582905560068190556040805187815260208101879052908101859052606081018490526080810183905260a081018290527f8241ce23be5510917dc83396d1123ec1786ba7f4b9f956803522acb5f75050389060c00160405180910390a1505050505050565b6000546001600160a01b0316331461134d5760405162461bcd60e51b81526004016107e690612ecb565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d89190612ef8565b90506113e6848483856124bb565b50505050565b6001600160a01b0381166000908152600d6020526040812054610b94906116a9565b600e81815481106107a657600080fd5b6000546001600160a01b031633146114485760405162461bcd60e51b81526004016107e690612ecb565b600080546040516001600160a01b03808516939216917f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73591a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114cd5760405162461bcd60e51b81526004016107e690612ecb565b6001600160a01b0381166114f35760405162461bcd60e51b81526004016107e690612e1f565b600c80546001600160a01b0319166001600160a01b0383169081179091556040519081527fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390602001610e64565b6000546001600160a01b0316331461156b5760405162461bcd60e51b81526004016107e690612ecb565b604051600090339047908381818185875af1925050503d80600081146115ad576040519150601f19603f3d011682016040523d82523d6000602084013e6115b2565b606091505b50509050806115c057600080fd5b50565b6001600160a01b0381166000908152600d6020526040812060028101546003909101548290611151906116a9565b6009546001600160a01b031633146116395760405162461bcd60e51b815260206004820152600b60248201526a27b7363c902d30b83832b960a91b60448201526064016107e6565b611644838383611fde565b505050565b6060600e80548060200260200160405190810160405280929190818152602001828054801561101d576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610fff575050505050905090565b6000670de0b6b3a76400006116bc6116d0565b6116c69084612e5b565b610b949190612e7a565b600080600a546000146116e557600a546116e8565b60015b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117769190612ef8565b90508161178b670de0b6b3a764000083612e5b565b6117959190612e7a565b9250505090565b6000546001600160a01b031633146117c65760405162461bcd60e51b81526004016107e690612ecb565b6001600160a01b0381166117ec5760405162461bcd60e51b81526004016107e690612e1f565b600780546001600160a01b0319166001600160a01b0383169081179091556040519081527fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390602001610e64565b610f92336127f8565b6000546001600160a01b0316331461186d5760405162461bcd60e51b81526004016107e690612ecb565b670de0b6b3a76400008110156118ba5760405162461bcd60e51b81526020600482015260126024820152714d61782050726f66697420546f6f204c6f7760701b60448201526064016107e6565b600b8190556040518181527f348b802428200d5891252baa398e88f928ab82a2268416ac2702e6738154e62290602001610e64565b600e54600b546060919060009081906103e89061190d908790612e5b565b6119179190612e7a565b905060005b838110156119705781611955600e838154811061193b5761193b612f2e565b6000918252602090912001546001600160a01b0316610d68565b10611968578261196481612f44565b9350505b60010161191c565b5060008267ffffffffffffffff81111561198c5761198c612f5d565b6040519080825280602002602001820160405280156119b5578160200160208202803683370190505b509050826000036119c95795945050505050565b6000805b85811015611a6257836119ec600e838154811061193b5761193b612f2e565b10611a5a57600e8181548110611a0457611a04612f2e565b9060005260206000200160009054906101000a90046001600160a01b0316838381518110611a3457611a34612f2e565b6001600160a01b039092166020928302919091019091015281611a5681612f44565b9250505b6001016119cd565b50909695505050505050565b6001600160a01b0381166000818152600d6020526040902060010154600e80549091908110611a9f57611a9f612f2e565b6000918252602090912001546001600160a01b031614611af45760405162461bcd60e51b815260206004820152601060248201526f155cd95c88139bdd08141c995cd95b9d60821b60448201526064016107e6565b6001600160a01b0381166000908152600d602081905260408220600190810154600e80549194929091611b279190612e9c565b81548110611b3757611b37612f2e565b60009182526020808320909101546001600160a01b031683528201929092526040019020600190810191909155600e80549091611b7391612e9c565b81548110611b8357611b83612f2e565b60009182526020808320909101546001600160a01b038481168452600d909252604090922060010154600e80549290931692918110611bc457611bc4612f2e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600e805480611c0357611c03612f73565b60008281526020808220830160001990810180546001600160a01b031990811690915593019093556001600160a01b03939093168352600d909152604082208281556001810183905560028101839055600381018390556004810183905560058101839055600681018390556007810183905560088101839055600981018054909216909155600a0155565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611cf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1a9190612ef8565b905080821115611d28578091505b81156116445760405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611d9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc19190612f11565b6116445760405162461bcd60e51b815260206004820152601960248201527f4661696c757265204f6e20546f6b656e205472616e736665720000000000000060448201526064016107e6565b6040516370a0823160e01b81526001600160a01b03838116600483015260009182918616906370a0823190602401602060405180830381865afa158015611e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7c9190612ef8565b6040516323b872dd60e01b81523360048201526001600160a01b038681166024830152604482018690529192506000918716906323b872dd906064016020604051808303816000875af1158015611ed7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efb9190612f11565b6040516370a0823160e01b81526001600160a01b0387811660048301529192506000918491908916906370a0823190602401602060405180830381865afa158015611f4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6e9190612ef8565b611f789190612e9c565b9050818015611f875750600081115b8015611f935750848111155b611fd45760405162461bcd60e51b81526020600482015260126024820152714572726f72205472616e7366657246726f6d60701b60448201526064016107e6565b9695505050505050565b6001600160a01b03821615801590611ff65750600081115b6120305760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8105b5bdd5b9d60aa1b60448201526064016107e6565b600061203b84610c73565b111561204a5761204a836127f8565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156120b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d59190612ef8565b6001600160a01b0385166000908152600d60205260408120549192500361216157600e80546001600160a01b0386166000818152600d602052604081206001808201949094554260079091015583549283018455929092527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191690911790555b600061218e7f00000000000000000000000000000000000000000000000000000000000000003085611e0d565b905080601060008282546121a29190612eb3565b90915550506001546000906103e8906121bb9084612e5b565b6121c59190612e7a565b905060006103e8600254846121da9190612e5b565b6121e49190612e7a565b905060006103e8600454856121f99190612e5b565b6122039190612e7a565b905060006103e8600554866122189190612e5b565b6122229190612e7a565b9050600081836122328688612eb3565b61223c9190612eb3565b6122469190612eb3565b6122509087612e9c565b905061225c82846129a8565b600854604051636d705ebb60e01b81526001600160a01b038c811660048301526024820189905290911690636d705ebb90604401600060405180830381600087803b1580156122aa57600080fd5b505af11580156122be573d6000803e3d6000fd5b505050506122cd8a8a83612b13565b83601260008282546122df9190612eb3565b909155506122f190508a8689876124bb565b50505050505050505050565b600061230882610c73565b905080600003612316575050565b6001600160a01b0382166000908152600d602052604090205481111561235157506001600160a01b0381166000908152600d60205260409020545b600061235c826116a9565b905081600a60008282546123709190612e9c565b90915550506001600160a01b0383166000908152600d602052604090205482106123a25761239d83611a6e565b6123ef565b6001600160a01b0383166000908152600d6020526040812080548492906123ca908490612e9c565b90915550506001600160a01b0383166000908152600d60205260409020426007909101555b600954600160a81b900460ff161561245c5761242b7f000000000000000000000000000000000000000000000000000000000000000083612e7a565b6001600160a01b0384166000908152600d602052604081206006018054909190612456908490612e9c565b90915550505b600061246782610f94565b90506124738482611c8f565b604080516001600160a01b0386168152602081018390527f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4910160405180910390a150505050565b6001600160a01b0384166000908152600d6020526040812060020180548592906124e6908490612eb3565b90915550506001600160a01b0384166000908152600d602052604081206004018054859290612516908490612eb3565b9091555050600a541580612528575081155b1561267d576001600160a01b0384166000908152600d602052604081208054859290612555908490612eb3565b9091555061258590507f000000000000000000000000000000000000000000000000000000000000000084612e7a565b6001600160a01b0385166000908152600d6020526040812060060180549091906125b0908490612eb3565b90915550506001600160a01b0384166000908152600d6020526040812060030180548592906125e0908490612eb3565b90915550506001600160a01b0384166000908152600d602052604081206005018054859290612610908490612eb3565b9250508190555082600a60008282546126299190612eb3565b9091555050604080516001600160a01b0386168152602081018590529081018490527f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060600160405180910390a16113e6565b60006126898284612eb3565b84600a546126979190612e5b565b6126a19190612e7a565b6001600160a01b0386166000908152600d60205260408120805492935083929091906126ce908490612eb3565b90915550506001600160a01b0385166000908152600d6020526040812060030180548392906126fe908490612eb3565b90915550506001600160a01b0385166000908152600d60205260408120600501805483929061272e908490612eb3565b9091555061275e90507f000000000000000000000000000000000000000000000000000000000000000082612e7a565b6001600160a01b0386166000908152600d602052604081206006018054909190612789908490612eb3565b9250508190555080600a60008282546127a29190612eb3565b9091555050604080516001600160a01b0387168152602081018690529081018290527f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060600160405180910390a15050505050565b600061280382610c73565b90506000612810826116a9565b905081158061281d575080155b1561282757505050565b6001600160a01b0383166000908152600d602052604081204260078201556004018054839290612858908490612eb3565b90915550506001600160a01b0383166000908152600d602052604081206005018054849290612888908490612eb3565b9091555050600954600160a01b900460ff16156128fa576128c97f000000000000000000000000000000000000000000000000000000000000000083612e7a565b6001600160a01b0384166000908152600d6020526040812060060180549091906128f4908490612eb3565b90915550505b600854604051633148d50160e01b81526001600160a01b0385811660048301526024820184905290911690633148d50190604401600060405180830381600087803b15801561294857600080fd5b505af115801561295c573d6000803e3d6000fd5b5050604080516001600160a01b0387168152602081018590527f169f1815ebdea059aac3bb00ec9a9594c7a5ffcb64a17e8392b5d84909a14556935001905060405180910390a1505050565b60085460405163095ea7b360e01b81526001600160a01b039182166004820152602481018490527f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303816000875af1158015612a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a409190612f11565b506008546040516311f9fbc960e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201859052909116906347e7ef2490604401600060405180830381600087803b158015612aaf57600080fd5b505af1158015612ac3573d6000803e3d6000fd5b505050506000600282612ad69190612e7a565b90506000612ae48284612e9c565b600754909150612afd906001600160a01b031682611c8f565b600c546113e6906001600160a01b031683611c8f565b6001600160a01b038381166000908152600d602052604090206009015416612b8057826001600160a01b0316826001600160a01b031614612b80576001600160a01b038381166000908152600d6020526040902060090180546001600160a01b0319169184169190911790555b6001600160a01b038084166000908152600d6020526040902060090154168015801590612bad5750600082115b15612c0b57612bbc8183611c8f565b6001600160a01b0381166000908152600d60205260408120600a018054849290612be7908490612eb3565b925050819055508160116000828254612c009190612eb3565b909155506113e69050565b6007546113e6906001600160a01b031683611c8f565b600060208284031215612c3357600080fd5b5035919050565b6001600160a01b03811681146115c057600080fd5b600060208284031215612c6157600080fd5b8135610fbe81612c3a565b60008060008060808587031215612c8257600080fd5b8435612c8d81612c3a565b93506020850135612c9d81612c3a565b93969395505050506040820135916060013590565b60008060408385031215612cc557600080fd5b8235612cd081612c3a565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b81811015611a625783516001600160a01b031683529284019291840191600101612cfa565b80151581146115c057600080fd5b60008060408385031215612d4057600080fd5b8235612d4b81612d1f565b91506020830135612d5b81612d1f565b809150509250929050565b60008060008060008060c08789031215612d7f57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080600060608486031215612dbe57600080fd5b8335612dc981612c3a565b95602085013595506040909401359392505050565b600080600060608486031215612df357600080fd5b8335612dfe81612c3a565b92506020840135612e0e81612c3a565b929592945050506040919091013590565b6020808252600c908201526b5a65726f204164647265737360a01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612e7557612e75612e45565b500290565b600082612e9757634e487b7160e01b600052601260045260246000fd5b500490565b600082821015612eae57612eae612e45565b500390565b60008219821115612ec657612ec6612e45565b500190565b60208082526013908201527221b0b63632b91034b9903737ba1037bbb732b960691b604082015260600190565b600060208284031215612f0a57600080fd5b5051919050565b600060208284031215612f2357600080fd5b8151610fbe81612d1f565b634e487b7160e01b600052603260045260246000fd5b600060018201612f5657612f56612e45565b5060010190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea264697066735822122032829c9978333462afa5d523957186fbb1cedd97a0be47a818070781e1a4111464736f6c634300080e0033000000000000000000000000e00b91f35924832d1a7d081d4dced55f3b80fb5c000000000000000000000000f29fd03df2cb7f81d8ae4d10a76f8b1c898786bd000000000000000000000000000000000000000000000000000000000000005a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e00b91f35924832d1a7d081d4dced55f3b80fb5c000000000000000000000000f29fd03df2cb7f81d8ae4d10a76f8b1c898786bd000000000000000000000000000000000000000000000000000000000000005a
-----Decoded View---------------
Arg [0] : token_ (address): 0xe00b91f35924832d1a7d081d4dced55f3b80fb5c
Arg [1] : treasury_ (address): 0xf29fd03df2cb7f81d8ae4d10a76f8b1c898786bd
Arg [2] : nDays_ (uint256): 90
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000e00b91f35924832d1a7d081d4dced55f3b80fb5c
Arg [1] : 000000000000000000000000f29fd03df2cb7f81d8ae4d10a76f8b1c898786bd
Arg [2] : 000000000000000000000000000000000000000000000000000000000000005a
Deployed ByteCode Sourcemap
4694:22770:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4884:36;;;;;;;;;160:25:1;;;148:2;133:18;4884:36:0;;;;;;;;6804:27;;;;;;6669:29;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;545:32:1;;;527:51;;515:2;500:18;6669:29:0;381:203:1;13154:2261:0;;;;;;:::i;:::-;;:::i;:::-;;6587:43;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6587:43:0;;;;;;;;1405:25:1;;;1461:2;1446:18;;1439:34;;;;1489:18;;;1482:34;;;;1547:2;1532:18;;1525:34;;;;1590:3;1575:19;;1568:35;;;;1634:3;1619:19;;1612:35;;;;1678:3;1663:19;;1656:35;1722:3;1707:19;;1700:35;1766:3;1751:19;;1744:35;-1:-1:-1;;;;;1816:32:1;1810:3;1795:19;;1788:61;1880:3;1865:19;;1858:36;1392:3;1377:19;6587:43:0;977:923:1;17183:139:0;;;;;;:::i;:::-;;:::i;11750:368::-;;;;;;:::i;:::-;;:::i;5052:35::-;;;;;;17460:489;;;;;;:::i;:::-;;:::i;17330:122::-;;;;;;:::i;:::-;;:::i;4829:33::-;;;;;15829:485;;;;;;:::i;:::-;;:::i;5474:26::-;;;;;;9007:218;;;;;;:::i;:::-;;:::i;10862:107::-;;;;;;:::i;:::-;;:::i;27322:137::-;;;;;;:::i;:::-;;:::i;5359:32::-;;;;;-1:-1:-1;;;5359:32:0;;;;;;;;;3200:14:1;;3193:22;3175:41;;3163:2;3148:18;5359:32:0;3035:187:1;12803:63:0;;;:::i;24627:178::-;;;;;;:::i;:::-;;:::i;5666:74::-;;;;;-1:-1:-1;;;;;5666:74:0;;;5222:23;;;;;-1:-1:-1;;;;;5222:23:0;;;18065:108;;;:::i;:::-;;;;;;;:::i;5591:39::-;;;;;;5398:31;;;;;-1:-1:-1;;;5398:31:0;;;;;;4969:35;;;;;;8780:219;;;;;;:::i;:::-;;:::i;6765:32::-;;;;;;26759:158;;;;;;:::i;:::-;;:::i;16322:290::-;;;;;;:::i;:::-;;:::i;7923:849::-;;;;;;:::i;:::-;;:::i;1444:83::-;1487:7;1514:5;-1:-1:-1;;;;;1514:5:0;1444:83;;4927:35;;;;;;5252:19;;;;;-1:-1:-1;;;;;5252:19:0;;;26925:224;;;;;;:::i;:::-;;:::i;5094:36::-;;;;;;17044:131;;;;;;:::i;:::-;;:::i;6637:25::-;;;;;;:::i;:::-;;:::i;1218:132::-;;;;;;:::i;:::-;;:::i;5329:21::-;;;;;-1:-1:-1;;;;;5329:21:0;;;9473:267;;;;;;:::i;:::-;;:::i;27157:153::-;;;:::i;16620:279::-;;;;;;:::i;:::-;;:::i;12126:210::-;;;;;;:::i;:::-;;:::i;17957:100::-;;;:::i;16907:129::-;;;;;;:::i;:::-;;:::i;5011:34::-;;;;;;15591:230;;;:::i;9233:232::-;;;;;;:::i;:::-;;:::i;12582:67::-;;;:::i;9748:238::-;;;;;;:::i;:::-;;:::i;4747:29::-;;;;;6729;;;;;;18181:958;;;;;;:::i;:::-;;:::i;6669:29::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6669:29:0;;-1:-1:-1;6669:29:0;:::o;13154:2261::-;-1:-1:-1;;;;;13239:18:0;;13217:80;;;;-1:-1:-1;;;13217:80:0;;;;;;;:::i;:::-;;;;;;;;;13341:10;13363:1;13332:20;;;:8;:20;;;;;:28;13310:105;;;;-1:-1:-1;;;13310:105:0;;7024:2:1;13310:105:0;;;7006:21:1;7063:2;7043:18;;;7036:30;7102:25;7082:18;;;7075:53;7145:18;;13310:105:0;6822:347:1;13310:105:0;13472:18;13493:28;13516:4;13493:22;:28::i;:::-;-1:-1:-1;;;;;13554:14:0;;13532:19;13554:14;;;:8;:14;;;;;:34;;;13472:49;;-1:-1:-1;13621:17:0;;;;;:39;;;13659:1;13642:14;:18;13621:39;13599:106;;;;-1:-1:-1;;;13599:106:0;;7376:2:1;13599:106:0;;;7358:21:1;7415:2;7395:18;;;7388:30;-1:-1:-1;;;7434:18:1;;;7427:47;7491:18;;13599:106:0;7174:341:1;13599:106:0;13766:16;13817:14;13787:25;5544:6;13787:13;:25;:::i;:::-;13785:46;;;;:::i;:::-;13766:65;;13879:10;;13864:11;:25;;13842:97;;;;-1:-1:-1;;;13842:97:0;;8249:2:1;13842:97:0;;;8231:21:1;8288:2;8268:18;;;8261:30;-1:-1:-1;;;8307:18:1;;;8300:52;8369:18;;13842:97:0;8047:346:1;13842:97:0;14028:19;5544:6;14069:10;;14052:14;:27;;;;:::i;:::-;14050:43;;;;:::i;:::-;14028:65;;14144:13;14126:14;:31;;14104:107;;;;-1:-1:-1;;;14104:107:0;;8600:2:1;14104:107:0;;;8582:21:1;8639:2;8619:18;;;8612:30;8678:25;8658:18;;;8651:53;8721:18;;14104:107:0;8398:347:1;14104:107:0;14262:21;14286:30;14302:14;14286:13;:30;:::i;:::-;-1:-1:-1;;;;;14383:14:0;;14365:15;14383:14;;;:8;:14;;;;;:22;14262:54;;-1:-1:-1;14434:19:0;14383:22;14434:7;:19::i;:::-;14416:37;;14499:1;14486:10;:14;:32;;;;;14517:1;14504:10;:14;14486:32;:66;;;;;14536:16;14522:10;:30;;14486:66;14464:136;;;;-1:-1:-1;;;14464:136:0;;9082:2:1;14464:136:0;;;9064:21:1;9121:2;9101:18;;;9094:30;-1:-1:-1;;;9140:18:1;;;9133:50;9200:18;;14464:136:0;8880:344:1;14464:136:0;14653:10;14638:11;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;14674:17:0;;-1:-1:-1;14686:4:0;14674:11;:17::i;:::-;14739:26;14768:49;14787:29;14800:16;14787:10;:29;:::i;14768:49::-;14739:78;;14828:32;14863:36;14882:16;14863:18;:36::i;:::-;14828:71;;14944:31;14950:4;14956:18;14944:5;:31::i;:::-;15022:43;15028:10;15040:24;15022:5;:43::i;:::-;15141:10;15132:20;;;;:8;:20;;;;;:40;;;:45;;15128:107;;15194:12;:29;;;;;;;-1:-1:-1;15194:29:0;;;;;;;;-1:-1:-1;;;;;;15194:29:0;15212:10;15194:29;;;15128:107;15292:10;15283:20;;;;:8;:20;;;;;:40;;:60;;15327:16;;15283:20;:60;;15327:16;;15283:60;:::i;:::-;;;;-1:-1:-1;;15359:48:0;;;-1:-1:-1;;;;;9620:15:1;;9602:34;;15378:10:0;9667:2:1;9652:18;;9645:43;9704:18;;;9697:34;;;15359:48:0;;9552:2:1;9537:18;15359:48:0;;;;;;;13198:2217;;;;;;;;;13154:2261;:::o;17183:139::-;-1:-1:-1;;;;;17276:14:0;;17241:7;17276:14;;;:8;:14;;;;;:29;;;17268:38;;:7;:38::i;:::-;:46;;17309:5;17268:46;:::i;:::-;17261:53;17183:139;-1:-1:-1;;17183:139:0:o;11750:368::-;11875:6;;-1:-1:-1;;;;;11875:6:0;11853:81;;;;-1:-1:-1;;;11853:81:0;;9944:2:1;11853:81:0;;;9926:21:1;9983:2;9963:18;;;9956:30;-1:-1:-1;;;10002:18:1;;;9995:41;10053:18;;11853:81:0;9742:335:1;11853:81:0;12007:6;;11985:37;;11999:6;;-1:-1:-1;;;;;12007:6:0;12015;11985:13;:37::i;:::-;-1:-1:-1;12066:6:0;;12058:52;;-1:-1:-1;;;12058:52:0;;-1:-1:-1;;;;;10383:15:1;;;12058:52:0;;;10365:34:1;10435:15;;;10415:18;;;10408:43;12091:10:0;10467:18:1;;;10460:43;10519:18;;;10512:34;;;12066:6:0;;;;12058:19;;10299::1;;12058:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11750:368;;;;:::o;17460:489::-;-1:-1:-1;;;;;17552:14:0;;17518:7;17552:14;;;:8;:14;;;;;:22;:27;;:74;;-1:-1:-1;;;;;;17583:14:0;;;;;;:8;:14;;;;;:24;;;17611:15;-1:-1:-1;17583:43:0;17552:74;17548:115;;;-1:-1:-1;17650:1:0;;17460:489;-1:-1:-1;17460:489:0:o;17548:115::-;-1:-1:-1;;;;;17738:14:0;;17708:9;17738:14;;;:8;:14;;;;;:24;;;17720:42;;:15;:42;:::i;:::-;-1:-1:-1;;;;;17825:14:0;;17803:12;17825:14;;;:8;:14;;;;;:29;;;17708:54;;-1:-1:-1;17803:12:0;17818:36;;17708:54;17818:36;:::i;:::-;-1:-1:-1;;;;;17884:14:0;;;;;;:8;:14;;;;;:22;17803:51;;-1:-1:-1;17874:32:0;;:67;;17934:7;17874:67;;;-1:-1:-1;;;;;17909:14:0;;;;;;:8;:14;;;;;:22;17874:67;17867:74;17460:489;-1:-1:-1;;;;17460:489:0:o;17330:122::-;17389:7;17416:28;17424:19;17438:4;17424:13;:19::i;15829:485::-;15901:7;15921:18;15942:28;15965:4;15942:22;:28::i;:::-;-1:-1:-1;;;;;16003:14:0;;15981:19;16003:14;;;:8;:14;;;;;:34;;;15921:49;;-1:-1:-1;16052:18:0;;;:41;;-1:-1:-1;16074:19:0;;16052:41;16048:82;;;-1:-1:-1;16117:1:0;;15829:485;-1:-1:-1;;;15829:485:0:o;16048:82::-;16292:14;16262:25;5544:6;16262:13;:25;:::i;:::-;16260:46;;;;:::i;9007:218::-;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9095:21:0;::::1;9073:83;;;;-1:-1:-1::0;;;9073:83:0::1;;;;;;;:::i;:::-;9167:6;:16:::0;;-1:-1:-1;;;;;;9167:16:0::1;-1:-1:-1::0;;;;;9167:16:0;::::1;::::0;;::::1;::::0;;;9199:18:::1;::::0;527:51:1;;;9199:18:0::1;::::0;515:2:1;500:18;9199::0::1;;;;;;;;9007:218:::0;:::o;10862:107::-;10928:33;10937:10;10949:3;10954:6;10928:8;:33::i;:::-;10862:107;;:::o;27322:137::-;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;27419:31:::1;::::0;-1:-1:-1;;;27419:31:0;;27444:4:::1;27419:31;::::0;::::1;527:51:1::0;-1:-1:-1;;;;;27391:15:0;::::1;::::0;::::1;::::0;27407:10:::1;::::0;27391:15;;27419:16:::1;::::0;500:18:1;;27419:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27391:60;::::0;-1:-1:-1;;;;;;27391:60:0::1;::::0;;;;;;-1:-1:-1;;;;;11286:32:1;;;27391:60:0::1;::::0;::::1;11268:51:1::0;11335:18;;;11328:34;11241:18;;27391:60:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12803:63::-:0;12840:18;12847:10;12840:6;:18::i;:::-;12803:63::o;24627:178::-;24697:7;24717:8;5170:4;24744:8;;24730:11;:22;;;;:::i;:::-;24728:34;;;;:::i;:::-;24717:45;-1:-1:-1;24780:17:0;24717:45;24780:11;:17;:::i;:::-;24773:24;24627:178;-1:-1:-1;;;24627:178:0:o;18065:108::-;18117:16;18153:12;18146:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18146:19:0;;;;;;;;;;;;;;;;;;;;;;;18065:108;:::o;8780:219::-;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8865:29:0;::::1;8843:91;;;;-1:-1:-1::0;;;8843:91:0::1;;;;;;;:::i;:::-;8945:5;:14:::0;;-1:-1:-1;;;;;;8945:14:0::1;-1:-1:-1::0;;;;;8945:14:0;::::1;::::0;;::::1;::::0;;;8975:16:::1;::::0;527:51:1;;;8975:16:0::1;::::0;515:2:1;500:18;8975:16:0::1;381:203:1::0;26759:158:0;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;26844:13:::1;:29:::0;;-1:-1:-1;;;;26884:25:0;-1:-1:-1;;;26844:29:0;::::1;;::::0;;;::::1;-1:-1:-1::0;;;;26884:25:0;;;;;-1:-1:-1;;;26884:25:0;::::1;;::::0;;;::::1;;::::0;;26759:158::o;16322:290::-;-1:-1:-1;;;;;16423:14:0;;16389:7;16423:14;;;:8;:14;;;;;:34;;;;16498;;;;;16389:7;;16490:43;;:7;:43::i;:::-;16468:65;;16560:14;16551:6;:23;:53;;16603:1;16551:53;;;16577:23;16594:6;16577:14;:23;:::i;7923:849::-;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;5170:4:::1;8194:6:::0;8182:9;8170;8146:21:::1;8157:10:::0;8146:8;:21:::1;:::i;:::-;:33;;;;:::i;:::-;:45;;;;:::i;:::-;:54;;;;:::i;:::-;:63;8124:125;;;::::0;-1:-1:-1;;;8124:125:0;;11825:2:1;8124:125:0::1;::::0;::::1;11807:21:1::0;11864:2;11844:18;;;11837:30;-1:-1:-1;;;11883:18:1;;;11876:42;11935:18;;8124:125:0::1;11623:336:1::0;8124:125:0::1;8293:1;8282:8;:12;:30;;;;;8311:1;8298:10;:14;8282:30;:47;;;;;8328:1;8316:9;:13;8282:47;:61;;;;;8342:1;8333:6;:10;8282:61;8260:122;;;::::0;-1:-1:-1;;;8260:122:0;;12166:2:1;8260:122:0::1;::::0;::::1;12148:21:1::0;12205:2;12185:18;;;12178:30;-1:-1:-1;;;12224:18:1;;;12217:41;12275:18;;8260:122:0::1;11964:335:1::0;8260:122:0::1;8428:3;8415:9;:16;;8393:84;;;::::0;-1:-1:-1;;;8393:84:0;;12506:2:1;8393:84:0::1;::::0;::::1;12488:21:1::0;12545:2;12525:18;;;12518:30;-1:-1:-1;;;12564:18:1;;;12557:48;12622:18;;8393:84:0::1;12304:342:1::0;8393:84:0::1;8498:7;:18:::0;;;8527:9:::1;:22:::0;;;8560:11:::1;:23:::0;;;8594:11:::1;:23:::0;;;8628:8:::1;:17:::0;;;8656:8:::1;:20:::0;;;8694:70:::1;::::0;;12938:25:1;;;12994:2;12979:18;;12972:34;;;13022:18;;;13015:34;;;13080:2;13065:18;;13058:34;;;13123:3;13108:19;;13101:35;;;13167:3;13152:19;;13145:35;;;8694:70:0::1;::::0;12925:3:1;12910:19;8694:70:0::1;;;;;;;7923:849:::0;;;;;;:::o;26925:224::-;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;27048:30:::1;::::0;-1:-1:-1;;;27048:30:0;;27072:4:::1;27048:30;::::0;::::1;527:51:1::0;27025:20:0::1;::::0;27048:5:::1;-1:-1:-1::0;;;;;27048:15:0::1;::::0;::::1;::::0;500:18:1;;27048:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27025:53;;27089:52;27101:4;27107:5;27114:15;27131:9;27089:11;:52::i;:::-;27014:135;26925:224:::0;;;:::o;17044:131::-;-1:-1:-1;;;;;17141:17:0;;17106:7;17141:17;;;:8;:17;;;;;:25;17133:34;;:7;:34::i;6637:25::-;;;;;;;;;;;;1218:132;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;1299:5:::1;::::0;;1290:25:::1;::::0;-1:-1:-1;;;;;1290:25:0;;::::1;::::0;1299:5;::::1;::::0;1290:25:::1;::::0;::::1;1326:5;:16:::0;;-1:-1:-1;;;;;;1326:16:0::1;-1:-1:-1::0;;;;;1326:16:0;;;::::1;::::0;;;::::1;::::0;;1218:132::o;9473:267::-;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9576:29:0;::::1;9554:91;;;;-1:-1:-1::0;;;9554:91:0::1;;;;;;;:::i;:::-;9656:14;:32:::0;;-1:-1:-1;;;;;;9656:32:0::1;-1:-1:-1::0;;;;;9656:32:0;::::1;::::0;;::::1;::::0;;;9704:28:::1;::::0;527:51:1;;;9704:28:0::1;::::0;515:2:1;500:18;9704:28:0::1;381:203:1::0;27157:153:0;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;27223:58:::1;::::0;27212:6:::1;::::0;27231:10:::1;::::0;27255:21:::1;::::0;27212:6;27223:58;27212:6;27223:58;27255:21;27231:10;27223:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27211:70;;;27300:1;27292:10;;;::::0;::::1;;27200:110;27157:153::o:0;16620:279::-;-1:-1:-1;;;;;16714:14:0;;16680:7;16714:14;;;:8;:14;;;;;:32;;;;16787;;;;;16680:7;;16779:41;;:7;:41::i;12126:210::-;12245:6;;-1:-1:-1;;;;;12245:6:0;12231:10;:20;12209:81;;;;-1:-1:-1;;;12209:81:0;;13603:2:1;12209:81:0;;;13585:21:1;13642:2;13622:18;;;13615:30;-1:-1:-1;;;13661:18:1;;;13654:41;13712:18;;12209:81:0;13401:335:1;12209:81:0;12301:27;12310:4;12316:3;12321:6;12301:8;:27::i;:::-;12126:210;;;:::o;17957:100::-;18005:16;18041:8;18034:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18034:15:0;;;;;;;;;;;;;;;;;;;;;;17957:100;:::o;16907:129::-;16959:7;5544:6;16998:16;:14;:16::i;:::-;16988:26;;:7;:26;:::i;:::-;16986:42;;;;:::i;15591:230::-;15638:7;15658:11;15673;;15688:1;15673:16;:34;;15696:11;;15673:34;;;15692:1;15673:34;15733:30;;-1:-1:-1;;;15733:30:0;;15757:4;15733:30;;;527:51:1;15658:49:0;;-1:-1:-1;15718:12:0;;-1:-1:-1;;;;;15733:5:0;:15;;;;500:18:1;;15733:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15718:45;-1:-1:-1;15807:6:0;15783:19;5544:6;15718:45;15783:19;:::i;:::-;15781:32;;;;:::i;:::-;15774:39;;;;15591:230;:::o;9233:232::-;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9325:23:0;::::1;9303:85;;;;-1:-1:-1::0;;;9303:85:0::1;;;;;;;:::i;:::-;9399:8;:20:::0;;-1:-1:-1;;;;;;9399:20:0::1;-1:-1:-1::0;;;;;9399:20:0;::::1;::::0;;::::1;::::0;;;9435:22:::1;::::0;527:51:1;;;9435:22:0::1;::::0;515:2:1;500:18;9435:22:0::1;381:203:1::0;12582:67:0;12620:21;12630:10;12620:9;:21::i;9748:238::-;825:5;;-1:-1:-1;;;;;825:5:0;811:10;:19;803:51;;;;-1:-1:-1;;;803:51:0;;;;;;;:::i;:::-;9854:6:::1;9841:9;:19;;9819:87;;;::::0;-1:-1:-1;;;9819:87:0;;13943:2:1;9819:87:0::1;::::0;::::1;13925:21:1::0;13982:2;13962:18;;;13955:30;-1:-1:-1;;;14001:18:1;;;13994:48;14059:18;;9819:87:0::1;13741:342:1::0;9819:87:0::1;9917:10;:22:::0;;;9955:23:::1;::::0;160:25:1;;;9955:23:0::1;::::0;148:2:1;133:18;9955:23:0::1;14:177:1::0;18181:958:0;18306:8;:15;18382:10;;18263:16;;18306:15;18292:11;;;;18407:4;;18382:22;;18395:9;;18382:22;:::i;:::-;:29;;;;:::i;:::-;18357:56;;18439:6;18434:197;18455:6;18451:1;:10;18434:197;;;18528:15;18484:40;18512:8;18521:1;18512:11;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;18512:11:0;18484:27;:40::i;:::-;:59;18479:109;;18565:7;;;;:::i;:::-;;;;18479:109;18614:3;;18434:197;;;;18651:39;18707:5;18693:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18693:20:0;;18651:62;;18728:5;18737:1;18728:10;18724:72;;18762:22;18181:958;-1:-1:-1;;;;;18181:958:0:o;18724:72::-;18808:10;18838:6;18833:259;18854:6;18850:1;:10;18833:259;;;18927:15;18883:40;18911:8;18920:1;18911:11;;;;;;;;:::i;18883:40::-;:59;18878:171;;18996:8;19005:1;18996:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18996:11:0;18964:22;18987:5;18964:29;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18964:43:0;;;:29;;;;;;;;;;;:43;19026:7;;;;:::i;:::-;;;;18878:171;19075:3;;18833:259;;;-1:-1:-1;19109:22:0;;18181:958;-1:-1:-1;;;;;;18181:958:0:o;26321:430::-;-1:-1:-1;;;;;26398:38:0;;26407:14;;;;:8;:14;;;;;:20;;;26398:8;:30;;:8;;26407:20;26398:30;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;26398:30:0;:38;26376:104;;;;-1:-1:-1;;;26376:104:0;;14694:2:1;26376:104:0;;;14676:21:1;14733:2;14713:18;;;14706:30;-1:-1:-1;;;14752:18:1;;;14745:46;14808:18;;26376:104:0;14492:340:1;26376:104:0;-1:-1:-1;;;;;26565:14:0;;;;;;:8;:14;;;;;;;:20;;;;;26516:8;26525:15;;26565:20;;:14;26516:8;;26525:19;;26565:20;26525:19;:::i;:::-;26516:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;26516:29:0;26493:63;;;;;;;;;;;;26516:29;26493:69;;;:92;;;;26655:8;26664:15;;26655:8;;26664:19;;;:::i;:::-;26655:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;26621:14:0;;;;;:8;:14;;;;;;;26655:29;26621:20;;26598:8;:54;;26655:29;;;;;26598:8;:54;;;;;;:::i;:::-;;;;;;;;;:86;;;;;-1:-1:-1;;;;;26598:86:0;;;;;-1:-1:-1;;;;;26598:86:0;;;;;;26697:8;:14;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;26697:14:0;;;;;-1:-1:-1;;;;;;26697:14:0;;;;;;;;;;;-1:-1:-1;;;;;26729:14:0;;;;;;:8;:14;;;;;;26722:21;;;26697:14;26722:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26321:430::o;25778:346::-;25851:30;;-1:-1:-1;;;25851:30:0;;25875:4;25851:30;;;527:51:1;25840:8:0;;25851:5;-1:-1:-1;;;;;25851:15:0;;;;500:18:1;;25851:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25840:41;;25905:3;25896:6;:12;25892:57;;;25934:3;25925:12;;25892:57;25963:10;;25959:158;;26016:28;;-1:-1:-1;;;26016:28:0;;-1:-1:-1;;;;;11286:32:1;;;26016:28:0;;;11268:51:1;11335:18;;;11328:34;;;26016:5:0;:14;;;;11241:18:1;;26016:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25990:115;;;;-1:-1:-1;;;25990:115:0;;15171:2:1;25990:115:0;;;15153:21:1;15210:2;15190:18;;;15183:30;15249:27;15229:18;;;15222:55;15294:18;;25990:115:0;14969:349:1;25252:518:0;25376:29;;-1:-1:-1;;;25376:29:0;;-1:-1:-1;;;;;545:32:1;;;25376:29:0;;;527:51:1;25342:7:0;;;;25376:16;;;;;500:18:1;;25376:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25425:102;;-1:-1:-1;;;25425:102:0;;25459:10;25425:102;;;9602:34:1;-1:-1:-1;;;;;9672:15:1;;;9652:18;;;9645:43;9704:18;;;9697:34;;;25362:43:0;;-1:-1:-1;25416:6:0;;25425:19;;;;;9537:18:1;;25425:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25554:29;;-1:-1:-1;;;25554:29:0;;-1:-1:-1;;;;;545:32:1;;;25554:29:0;;;527:51:1;25416:111:0;;-1:-1:-1;25538:13:0;;25586:6;;25554:16;;;;;;500:18:1;;25554:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;;;;:::i;:::-;25538:54;;25625:1;:30;;;;;25654:1;25643:8;:12;25625:30;:65;;;;;25684:6;25672:8;:18;;25625:65;25603:133;;;;-1:-1:-1;;;25603:133:0;;15525:2:1;25603:133:0;;;15507:21:1;15564:2;15544:18;;;15537:30;-1:-1:-1;;;15583:18:1;;;15576:48;15641:18;;25603:133:0;15323:342:1;25603:133:0;25754:8;25252:518;-1:-1:-1;;;;;;25252:518:0:o;19317:1477::-;-1:-1:-1;;;;;19420:17:0;;;;;;:44;;;19463:1;19454:6;:10;19420:44;19398:105;;;;-1:-1:-1;;;19398:105:0;;15872:2:1;19398:105:0;;;15854:21:1;15911:2;15891:18;;;15884:30;-1:-1:-1;;;15930:18:1;;;15923:41;15981:18;;19398:105:0;15670:335:1;19398:105:0;19588:1;19566:19;19580:4;19566:13;:19::i;:::-;:23;19562:71;;;19606:15;19616:4;19606:9;:15::i;:::-;19697:30;;-1:-1:-1;;;19697:30:0;;19721:4;19697:30;;;527:51:1;19674:20:0;;19697:5;-1:-1:-1;;;;;19697:15:0;;;;500:18:1;;19697:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19821:14:0;;;;;;:8;:14;;;;;:22;19674:53;;-1:-1:-1;19821:27:0;19817:74;;26207:8;:15;;-1:-1:-1;;;;;26184:14:0;;;;;;:8;:14;;;;;:20;;;;:38;;;;26260:15;26233:24;;;;:42;26286:19;;;;;;;;;;;;;;;-1:-1:-1;;;;;;26286:19:0;;;;;;19865:14;19934:13;19950:43;19964:5;19979:4;19986:6;19950:13;:43::i;:::-;19934:59;;20022:8;20004:14;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;20103:7:0;;20072:12;;5170:4;;20092:18;;:8;:18;:::i;:::-;20091:28;;;;:::i;:::-;20072:47;;20130:15;5170:4;20161:9;;20150:8;:20;;;;:::i;:::-;20149:30;;;;:::i;:::-;20130:49;;20190:16;5170:4;20221:11;;20210:8;:22;;;;:::i;:::-;20209:32;;;;:::i;:::-;20190:51;;20252:13;5170:4;20283:8;;20272;:19;;;;:::i;:::-;20271:29;;;;:::i;:::-;20252:48;-1:-1:-1;20311:16:0;20252:48;20366:11;20343:20;20353:10;20343:7;:20;:::i;:::-;:34;;;;:::i;:::-;:45;;;;:::i;:::-;20330:60;;:8;:60;:::i;:::-;20311:79;;20436:31;20445:8;20455:11;20436:8;:31::i;:::-;20520:5;;:30;;-1:-1:-1;;;20520:30:0;;-1:-1:-1;;;;;11286:32:1;;;20520:30:0;;;11268:51:1;11335:18;;;11328:34;;;20520:5:0;;;;:14;;11241:18:1;;20520:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20593:42;20612:4;20618:3;20623:11;20593:18;:42::i;:::-;20662:10;20646:12;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;20731:55:0;;-1:-1:-1;20743:4:0;20749:7;20758:15;20775:10;20731:11;:55::i;:::-;19387:1407;;;;;;;19317:1477;;;:::o;20802:1078::-;20889:12;20904:19;20918:4;20904:13;:19::i;:::-;20889:34;;20938:7;20949:1;20938:12;20934:51;;20967:7;20802:1078;:::o;20934:51::-;-1:-1:-1;;;;;21011:14:0;;;;;;:8;:14;;;;;:22;21001:32;;20997:97;;;-1:-1:-1;;;;;;21060:14:0;;;;;;:8;:14;;;;;:22;20997:97;21133:18;21154:16;21162:7;21154;:16::i;:::-;21133:37;;21233:7;21218:11;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;21328:14:0;;;;;;:8;:14;;;;;:22;21317:33;;21313:206;;21367:17;21379:4;21367:11;:17::i;:::-;21313:206;;;-1:-1:-1;;;;;21417:14:0;;;;;;:8;:14;;;;;:33;;21443:7;;21417:14;:33;;21443:7;;21417:33;:::i;:::-;;;;-1:-1:-1;;;;;;;21465:14:0;;;;;;:8;:14;;;;;21492:15;21465:24;;;;:42;21313:206;21534:12;;-1:-1:-1;;;21534:12:0;;;;21531:98;;;21597:18;21607:8;21597:7;:18;:::i;:::-;-1:-1:-1;;;;;21562:14:0;;;;;;:8;:14;;;;;:29;;:55;;:29;;:14;:55;;;;;:::i;:::-;;;;-1:-1:-1;;21531:98:0;21670:29;21702:33;21721:13;21702:18;:33::i;:::-;21670:65;;21788:34;21794:4;21800:21;21788:5;:34::i;:::-;21838;;;-1:-1:-1;;;;;11286:32:1;;11268:51;;11350:2;11335:18;;11328:34;;;21838::0;;11241:18:1;21838:34:0;;;;;;;20841:1039;;;20802:1078;:::o;22844:1077::-;-1:-1:-1;;;;;22968:14:0;;;;;;:8;:14;;;;;:32;;:41;;23004:5;;22968:14;:41;;23004:5;;22968:41;:::i;:::-;;;;-1:-1:-1;;;;;;;23020:14:0;;;;;;:8;:14;;;;;:34;;:43;;23058:5;;23020:14;:43;;23058:5;;23020:43;:::i;:::-;;;;-1:-1:-1;;23080:11:0;;:16;;:40;;-1:-1:-1;23100:20:0;;23080:40;23076:838;;;-1:-1:-1;;;;;23139:14:0;;;;;;:8;:14;;;;;:31;;23165:5;;23139:14;:31;;23165:5;;23139:31;:::i;:::-;;;;-1:-1:-1;23220:16:0;;-1:-1:-1;23228:8:0;23220:5;:16;:::i;:::-;-1:-1:-1;;;;;23185:14:0;;;;;;:8;:14;;;;;:29;;:53;;:29;;:14;:53;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;23253:14:0;;;;;;:8;:14;;;;;:32;;:41;;23289:5;;23253:14;:41;;23289:5;;23253:41;:::i;:::-;;;;-1:-1:-1;;;;;;;23309:14:0;;;;;;:8;:14;;;;;:34;;:43;;23347:5;;23309:14;:43;;23347:5;;23309:43;:::i;:::-;;;;;;;;23382:5;23367:11;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;23409:27:0;;;-1:-1:-1;;;;;16230:32:1;;16212:51;;16294:2;16279:18;;16272:34;;;16322:18;;;16315:34;;;23409:27:0;;16200:2:1;16185:18;23409:27:0;;;;;;;23076:838;;;23471:17;23519:27;23537:9;23519:15;:27;:::i;:::-;23507:5;23493:11;;:19;;;;:::i;:::-;23491:57;;;;:::i;:::-;-1:-1:-1;;;;;23563:14:0;;;;;;:8;:14;;;;;:38;;23471:77;;-1:-1:-1;23471:77:0;;23563:14;;;:38;;23471:77;;23563:38;:::i;:::-;;;;-1:-1:-1;;;;;;;23616:14:0;;;;;;:8;:14;;;;;:32;;:48;;23652:12;;23616:14;:48;;23652:12;;23616:48;:::i;:::-;;;;-1:-1:-1;;;;;;;23679:14:0;;;;;;:8;:14;;;;;:34;;:50;;23717:12;;23679:14;:50;;23717:12;;23679:50;:::i;:::-;;;;-1:-1:-1;23779:23:0;;-1:-1:-1;23794:8:0;23779:12;:23;:::i;:::-;-1:-1:-1;;;;;23744:14:0;;;;;;:8;:14;;;;;:29;;:60;;:29;;:14;:60;;;;;:::i;:::-;;;;;;;;23834:12;23819:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;;23868:34:0;;;-1:-1:-1;;;;;16230:32:1;;16212:51;;16294:2;16279:18;;16272:34;;;16322:18;;;16315:34;;;23868::0;;16200:2:1;16185:18;23868:34:0;;;;;;;23454:460;22844:1077;;;;:::o;22120:716::-;22175:12;22190:19;22204:4;22190:13;:19::i;:::-;22175:34;;22220:18;22241:16;22249:7;22241;:16::i;:::-;22220:37;-1:-1:-1;22272:12:0;;;:34;;-1:-1:-1;22288:18:0;;22272:34;22268:73;;;22323:7;;22120:716;:::o;22268:73::-;-1:-1:-1;;;;;22377:14:0;;;;;;:8;:14;;;;;22404:15;22377:24;;;:42;22504:34;;:51;;22542:13;;22377:14;22504:51;;22542:13;;22504:51;:::i;:::-;;;;-1:-1:-1;;;;;;;22566:14:0;;;;;;:8;:14;;;;;:34;;:45;;22604:7;;22566:14;:45;;22604:7;;22566:45;:::i;:::-;;;;-1:-1:-1;;22627:13:0;;-1:-1:-1;;;22627:13:0;;;;22624:99;;;22691:18;22701:8;22691:7;:18;:::i;:::-;-1:-1:-1;;;;;22656:14:0;;;;;;:8;:14;;;;;:29;;:55;;:29;;:14;:55;;;;;:::i;:::-;;;;-1:-1:-1;;22624:99:0;22743:5;;:38;;-1:-1:-1;;;22743:38:0;;-1:-1:-1;;;;;11286:32:1;;;22743:38:0;;;11268:51:1;11335:18;;;11328:34;;;22743:5:0;;;;:17;;11241:18:1;;22743:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22799:29:0;;;-1:-1:-1;;;;;11286:32:1;;11268:51;;11350:2;11335:18;;11328:34;;;22799:29:0;;-1:-1:-1;11241:18:1;;-1:-1:-1;22799:29:0;;;;;;;22162:674;;22120:716;:::o;24813:431::-;24932:5;;24910:40;;-1:-1:-1;;;24910:40:0;;-1:-1:-1;;;;;24932:5:0;;;24910:40;;;11268:51:1;11335:18;;;11328:34;;;24910:5:0;:13;;;;;;11241:18:1;;24910:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;24961:5:0;;:40;;-1:-1:-1;;;24961:40:0;;-1:-1:-1;;;;;24983:5:0;11286:32:1;;24961:40:0;;;11268:51:1;11335:18;;;11328:34;;;24961:5:0;;;;:13;;11241:18:1;;24961:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25051:19;25088:1;25073:12;:16;;;;:::i;:::-;25051:38;-1:-1:-1;25100:21:0;25124:26;25051:38;25124:12;:26;:::i;:::-;25167:8;;25100:50;;-1:-1:-1;25161:30:0;;-1:-1:-1;;;;;25167:8:0;25100:50;25161:5;:30::i;:::-;25208:14;;25202:34;;-1:-1:-1;;;;;25208:14:0;25224:11;25202:5;:34::i;23929:690::-;-1:-1:-1;;;;;24082:19:0;;;24122:1;24082:19;;;:8;:19;;;;;:28;;;;24078:165;;24152:9;-1:-1:-1;;;;;24145:16:0;:3;-1:-1:-1;;;;;24145:16:0;;24141:91;;-1:-1:-1;;;;;24182:19:0;;;;;;;:8;:19;;;;;:28;;:34;;-1:-1:-1;;;;;;24182:34:0;;;;;;;;;;24141:91;-1:-1:-1;;;;;24270:19:0;;;24255:12;24270:19;;;:8;:19;;;;;:28;;;;24379:18;;;;;:31;;;24409:1;24401:5;:9;24379:31;24375:227;;;24427:18;24433:4;24439:5;24427;:18::i;:::-;-1:-1:-1;;;;;24460:14:0;;;;;;:8;:14;;;;;:27;;:36;;24491:5;;24460:14;:36;;24491:5;;24460:36;:::i;:::-;;;;;;;;24532:5;24511:17;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;24375:227:0;;-1:-1:-1;24375:227:0;;24574:8;;24568:22;;-1:-1:-1;;;;;24574:8:0;24584:5;24568;:22::i;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;589:131::-;-1:-1:-1;;;;;664:31:1;;654:42;;644:70;;710:1;707;700:12;725:247;784:6;837:2;825:9;816:7;812:23;808:32;805:52;;;853:1;850;843:12;805:52;892:9;879:23;911:31;936:5;911:31;:::i;1905:539::-;2005:6;2013;2021;2029;2082:3;2070:9;2061:7;2057:23;2053:33;2050:53;;;2099:1;2096;2089:12;2050:53;2138:9;2125:23;2157:31;2182:5;2157:31;:::i;:::-;2207:5;-1:-1:-1;2264:2:1;2249:18;;2236:32;2277:33;2236:32;2277:33;:::i;:::-;1905:539;;2329:7;;-1:-1:-1;;;;2383:2:1;2368:18;;2355:32;;2434:2;2419:18;2406:32;;1905:539::o;2449:315::-;2517:6;2525;2578:2;2566:9;2557:7;2553:23;2549:32;2546:52;;;2594:1;2591;2584:12;2546:52;2633:9;2620:23;2652:31;2677:5;2652:31;:::i;:::-;2702:5;2754:2;2739:18;;;;2726:32;;-1:-1:-1;;;2449:315:1:o;3227:658::-;3398:2;3450:21;;;3520:13;;3423:18;;;3542:22;;;3369:4;;3398:2;3621:15;;;;3595:2;3580:18;;;3369:4;3664:195;3678:6;3675:1;3672:13;3664:195;;;3743:13;;-1:-1:-1;;;;;3739:39:1;3727:52;;3834:15;;;;3799:12;;;;3775:1;3693:9;3664:195;;4156:118;4242:5;4235:13;4228:21;4221:5;4218:32;4208:60;;4264:1;4261;4254:12;4279:376;4341:6;4349;4402:2;4390:9;4381:7;4377:23;4373:32;4370:52;;;4418:1;4415;4408:12;4370:52;4457:9;4444:23;4476:28;4498:5;4476:28;:::i;:::-;4523:5;-1:-1:-1;4580:2:1;4565:18;;4552:32;4593:30;4552:32;4593:30;:::i;:::-;4642:7;4632:17;;;4279:376;;;;;:::o;4660:523::-;4764:6;4772;4780;4788;4796;4804;4857:3;4845:9;4836:7;4832:23;4828:33;4825:53;;;4874:1;4871;4864:12;4825:53;-1:-1:-1;;4897:23:1;;;4967:2;4952:18;;4939:32;;-1:-1:-1;5018:2:1;5003:18;;4990:32;;5069:2;5054:18;;5041:32;;-1:-1:-1;5120:3:1;5105:19;;5092:33;;-1:-1:-1;5172:3:1;5157:19;5144:33;;-1:-1:-1;4660:523:1;-1:-1:-1;4660:523:1:o;5410:383::-;5487:6;5495;5503;5556:2;5544:9;5535:7;5531:23;5527:32;5524:52;;;5572:1;5569;5562:12;5524:52;5611:9;5598:23;5630:31;5655:5;5630:31;:::i;:::-;5680:5;5732:2;5717:18;;5704:32;;-1:-1:-1;5783:2:1;5768:18;;;5755:32;;5410:383;-1:-1:-1;;;5410:383:1:o;5798:456::-;5875:6;5883;5891;5944:2;5932:9;5923:7;5919:23;5915:32;5912:52;;;5960:1;5957;5950:12;5912:52;5999:9;5986:23;6018:31;6043:5;6018:31;:::i;:::-;6068:5;-1:-1:-1;6125:2:1;6110:18;;6097:32;6138:33;6097:32;6138:33;:::i;:::-;5798:456;;6190:7;;-1:-1:-1;;;6244:2:1;6229:18;;;;6216:32;;5798:456::o;6481:336::-;6683:2;6665:21;;;6722:2;6702:18;;;6695:30;-1:-1:-1;;;6756:2:1;6741:18;;6734:42;6808:2;6793:18;;6481:336::o;7520:127::-;7581:10;7576:3;7572:20;7569:1;7562:31;7612:4;7609:1;7602:15;7636:4;7633:1;7626:15;7652:168;7692:7;7758:1;7754;7750:6;7746:14;7743:1;7740:21;7735:1;7728:9;7721:17;7717:45;7714:71;;;7765:18;;:::i;:::-;-1:-1:-1;7805:9:1;;7652:168::o;7825:217::-;7865:1;7891;7881:132;;7935:10;7930:3;7926:20;7923:1;7916:31;7970:4;7967:1;7960:15;7998:4;7995:1;7988:15;7881:132;-1:-1:-1;8027:9:1;;7825:217::o;8750:125::-;8790:4;8818:1;8815;8812:8;8809:34;;;8823:18;;:::i;:::-;-1:-1:-1;8860:9:1;;8750:125::o;9229:128::-;9269:3;9300:1;9296:6;9293:1;9290:13;9287:39;;;9306:18;;:::i;:::-;-1:-1:-1;9342:9:1;;9229:128::o;10557:343::-;10759:2;10741:21;;;10798:2;10778:18;;;10771:30;-1:-1:-1;;;10832:2:1;10817:18;;10810:49;10891:2;10876:18;;10557:343::o;10905:184::-;10975:6;11028:2;11016:9;11007:7;11003:23;10999:32;10996:52;;;11044:1;11041;11034:12;10996:52;-1:-1:-1;11067:16:1;;10905:184;-1:-1:-1;10905:184:1:o;11373:245::-;11440:6;11493:2;11481:9;11472:7;11468:23;11464:32;11461:52;;;11509:1;11506;11499:12;11461:52;11541:9;11535:16;11560:28;11582:5;11560:28;:::i;14088:127::-;14149:10;14144:3;14140:20;14137:1;14130:31;14180:4;14177:1;14170:15;14204:4;14201:1;14194:15;14220:135;14259:3;14280:17;;;14277:43;;14300:18;;:::i;:::-;-1:-1:-1;14347:1:1;14336:13;;14220:135::o;14360:127::-;14421:10;14416:3;14412:20;14409:1;14402:31;14452:4;14449:1;14442:15;14476:4;14473:1;14466:15;14837:127;14898:10;14893:3;14889:20;14886:1;14879:31;14929:4;14926:1;14919:15;14953:4;14950:1;14943:15
Swarm Source
ipfs://32829c9978333462afa5d523957186fbb1cedd97a0be47a818070781e1a41114
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.