ETH Price: $3,369.53 (+2.77%)

Contract

0x7d7470Bc321A60cb11c7989356ad66a161C56628
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00
Transaction Hash
Method
Block
From
To
Approve205972512024-08-24 8:25:23121 days ago1724487923IN
ZAP Protocol: ZAP Token
0 ETH0.000022470.92343371
Approve205512782024-08-17 22:18:23128 days ago1723933103IN
ZAP Protocol: ZAP Token
0 ETH0.000024561.00905616
Approve205054822024-08-11 12:50:59134 days ago1723380659IN
ZAP Protocol: ZAP Token
0 ETH0.000104754.30343283
Approve199966522024-06-01 11:24:47205 days ago1717241087IN
ZAP Protocol: ZAP Token
0 ETH0.000104334.2860475
Approve198400392024-05-10 13:49:35227 days ago1715348975IN
ZAP Protocol: ZAP Token
0 ETH0.000136475.60669421
Approve194881322024-03-22 5:37:59276 days ago1711085879IN
ZAP Protocol: ZAP Token
0 ETH0.0004683919.24233496
Approve194815692024-03-21 7:31:23277 days ago1711006283IN
ZAP Protocol: ZAP Token
0 ETH0.0007028828.87524492
Approve194439682024-03-16 0:40:59283 days ago1710549659IN
ZAP Protocol: ZAP Token
0 ETH0.0008807336.18151317
Approve190313292024-01-18 4:21:11340 days ago1705551671IN
ZAP Protocol: ZAP Token
0 ETH0.0006677627.43275201
Approve188077922023-12-17 19:22:47372 days ago1702840967IN
ZAP Protocol: ZAP Token
0 ETH0.0007985832.80686703
Approve187009072023-12-02 19:47:59387 days ago1701546479IN
ZAP Protocol: ZAP Token
0 ETH0.001142346.92718235
Approve187008952023-12-02 19:45:35387 days ago1701546335IN
ZAP Protocol: ZAP Token
0 ETH0.0010934444.92006866
Approve183391542023-10-13 4:41:23437 days ago1697172083IN
ZAP Protocol: ZAP Token
0 ETH0.000271695.86780925
Approve183019252023-10-07 23:35:11443 days ago1696721711IN
ZAP Protocol: ZAP Token
0 ETH0.000150556.18479362
Approve183019232023-10-07 23:34:47443 days ago1696721687IN
ZAP Protocol: ZAP Token
0 ETH0.00013955.7309255
Approve179661812023-08-21 22:48:11490 days ago1692658091IN
ZAP Protocol: ZAP Token
0 ETH0.0004791719.68523561
Approve179661802023-08-21 22:47:59490 days ago1692658079IN
ZAP Protocol: ZAP Token
0 ETH0.000469119.27126609
Approve171835322023-05-03 23:44:59600 days ago1683157499IN
ZAP Protocol: ZAP Token
0 ETH0.0016076266.04345664
Approve170986502023-04-22 1:36:23612 days ago1682127383IN
ZAP Protocol: ZAP Token
0 ETH0.0007372630.28776177
Approve170572362023-04-16 4:54:59617 days ago1681620899IN
ZAP Protocol: ZAP Token
0 ETH0.0005363422.03385882
Approve170513972023-04-15 9:02:11618 days ago1681549331IN
ZAP Protocol: ZAP Token
0 ETH0.0011709725.28987406
Approve169696742023-04-03 16:27:47630 days ago1680539267IN
ZAP Protocol: ZAP Token
0 ETH0.0009249938
Approve169513132023-04-01 2:23:59632 days ago1680315839IN
ZAP Protocol: ZAP Token
0 ETH0.0005293721.74735432
Approve168920452023-03-23 18:34:11641 days ago1679596451IN
ZAP Protocol: ZAP Token
0 ETH0.000845534.73434067
Approve168920432023-03-23 18:33:47641 days ago1679596427IN
ZAP Protocol: ZAP Token
0 ETH0.0008568235.19958756
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ZAP

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-23
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.6.0;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

} 

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract ZAP is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    IUniswapV2Router02 public sushiswapRouter;
    address public sushiswapPair;
    
    
    string private _name = 'ZAP';
    string private _symbol = 'ZAP';
    uint8 private _decimals = 18;
    
    uint256 private constant MAX_UINT256 = ~uint256(0);
    uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 1 * 1e7 * 1e18;
    uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);
    
    uint256 public constant MAG = 10 ** 18;
    uint256 public  rateOfChange = MAG;

    uint256 private _totalSupply;
    uint256 public _gonsPerFragment;
    
    mapping(address => uint256) public _gonBalances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping(address => bool) public blacklist;
    mapping (address => uint256) public _buyInfo;

    uint256 public _percentForTxLimit = 2; //2% of total supply;
    uint256 public _percentForRebase = 5; //5% of total supply;
    uint256 public _timeLimitFromLastBuy = 5 minutes;
    
    uint256 private uniswapV2PairAmount;
    uint256 private sushiswapPairAmount;
    
    bool public _live = false;
    
    
    constructor () public {
        _totalSupply = INITIAL_FRAGMENTS_SUPPLY;
        _gonBalances[_msgSender()] = TOTAL_GONS;
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
        
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        
        sushiswapRouter = IUniswapV2Router02(0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F);
        sushiswapPair = IUniswapV2Factory(sushiswapRouter.factory()).createPair(address(this), sushiswapRouter.WETH());

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if(account == uniswapV2Pair)
            return uniswapV2PairAmount;
        if(account == sushiswapPair)
            return sushiswapPairAmount;
        return _gonBalances[account].div(_gonsPerFragment);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function rebasePlus(uint256 _amount) private {
         _totalSupply = _totalSupply.add(_amount.div(5));
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "ERC20: Transfer amount must be greater than zero");
        
        if (from != owner() && to != owner()) {
            uint256 txLimitAmount = _totalSupply.mul(_percentForTxLimit).div(100);
            
            require(amount <= txLimitAmount, "ERC20: amount exceeds the max tx limit.");
            
            if(from != uniswapV2Pair && from != sushiswapPair) {
                require(!blacklist[from] && !blacklist[to], 'ERC20: the transaction was blocked.');
                require(_buyInfo[from] == 0 || _buyInfo[from].add(_timeLimitFromLastBuy) < now, "ERC20: Tx not allowed yet.");
                
                if(to != address(uniswapV2Router) && to != uniswapV2Pair && to != address(sushiswapRouter) && to != sushiswapPair)
                    _tokenTransfer(from, to, amount, 0);
                else
                    _tokenTransfer(from, to, amount, 0);
            }
            else {
                if(!_live)
                    blacklist[to] = true;
                
                require(balanceOf(to) <= txLimitAmount, 'ERC20: current balance exceeds the max limit.');
                
                _buyInfo[to] = now;
                _tokenTransfer(from, to, amount, 0);

                uint256 rebaseLimitAmount = _totalSupply.mul(_percentForRebase).div(100);
                uint256 currentBalance = balanceOf(to);
                uint256 newBalance = currentBalance.add(amount);
                if(currentBalance < rebaseLimitAmount && newBalance < rebaseLimitAmount) {
                    rebasePlus(amount);
                }
            }
        } else {
            _tokenTransfer(from, to, amount, 0);
        }
    }
    
    function _tokenTransfer(address from, address to, uint256 amount, uint256 taxFee) internal {
        if(to == uniswapV2Pair)
            uniswapV2PairAmount = uniswapV2PairAmount.add(amount);
        else if(from == uniswapV2Pair)
            uniswapV2PairAmount = uniswapV2PairAmount.sub(amount);
        else if(to == sushiswapPair)
            sushiswapPairAmount = sushiswapPairAmount.add(amount);
        else if(from == sushiswapPair)
            sushiswapPairAmount = sushiswapPairAmount.sub(amount);
        
        uint256 burnAmount = amount.mul(taxFee).div(100);
        uint256 transferAmount = amount.sub(burnAmount);
        
        uint256 gonTotalValue = amount.mul(_gonsPerFragment);
        uint256 gonValue = transferAmount.mul(_gonsPerFragment);
        
        _gonBalances[from] = _gonBalances[from].sub(gonTotalValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        
        emit Transfer(from, to, transferAmount);
        
        if(burnAmount > 0)
            emit Transfer(from, address(0x0), burnAmount);
    }
    
    function updateLive() external {
        if(!_live) {
            _live = true;
        }
    }
    
    function unblockWallet(address account) public onlyOwner {
        blacklist[account] = false;
    }
    
    function updatePercentForTxLimit(uint256 percentForTxLimit) public onlyOwner {
        require(percentForTxLimit >= 1, 'ERC20: max tx limit should be greater than 1');
        _percentForTxLimit = percentForTxLimit;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAG","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_gonBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_gonsPerFragment","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_live","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_percentForRebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_percentForTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_timeLimitFromLastBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateOfChange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sushiswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sushiswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unblockWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updateLive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentForTxLimit","type":"uint256"}],"name":"updatePercentForTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600381526020017f5a41500000000000000000000000000000000000000000000000000000000000815250600690805190602001906200005192919062000958565b506040518060400160405280600381526020017f5a41500000000000000000000000000000000000000000000000000000000000815250600790805190602001906200009f92919062000958565b506012600860006101000a81548160ff021916908360ff160217905550670de0b6b3a76400006009556002601055600560115561012c6012556000601560006101000a81548160ff0219169083151502179055503480156200010057600080fd5b506000620001136200083360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506a084595161401484a000000600a819055506a084595161401484a00000060001981620001da57fe5b0660001903600c6000620001f36200083360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000268600a546a084595161401484a000000600019816200024f57fe5b06600019036200083b60201b620012061790919060201c565b600b81905550737a250d5630b4cf539739df2c5dacb4c659f2488d600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032c57600080fd5b505afa15801562000341573d6000803e3d6000fd5b505050506040513d60208110156200035857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ee57600080fd5b505afa15801562000403573d6000803e3d6000fd5b505050506040513d60208110156200041a57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200049557600080fd5b505af1158015620004aa573d6000803e3d6000fd5b505050506040513d6020811015620004c157600080fd5b8101908080519060200190929190505050600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d9e1ce17f2641f24ae83637ab66a2cca9c378b9f600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620005d057600080fd5b505afa158015620005e5573d6000803e3d6000fd5b505050506040513d6020811015620005fc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200069257600080fd5b505afa158015620006a7573d6000803e3d6000fd5b505050506040513d6020811015620006be57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200073957600080fd5b505af11580156200074e573d6000803e3d6000fd5b505050506040513d60208110156200076557600080fd5b8101908080519060200190929190505050600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620007c66200083360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040518082815260200191505060405180910390a3620009fe565b600033905090565b60006200088583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200088d60201b60201c565b905092915050565b600080831182906200093d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000901578082015181840152602081019050620008e4565b50505050905090810190601f1680156200092f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200094a57fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200099b57805160ff1916838001178555620009cc565b82800160010185558215620009cc579182015b82811115620009cb578251825591602001919060010190620009ae565b5b509050620009db9190620009df565b5090565b5b80821115620009fa576000816000905550600101620009e0565b5090565b61261e8062000a0e6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638da5cb5b116100f9578063c82a8fed11610097578063e9240c2d11610071578063e9240c2d146107a2578063ed82193c146107d6578063f9f92be41461082e578063fd2dbb0e14610888576101c4565b8063c82a8fed146106de578063dd62ed3e1461070c578063e679e27c14610784576101c4565b8063a9059cbb116100d3578063a9059cbb14610620578063bce87b3314610684578063bef18a19146106a2578063c4996f51146106c0576101c4565b80638da5cb5b1461053557806395d89b4114610569578063a3306dc3146105ec576101c4565b806336fed9751161016657806356e0ec721161014057806356e0ec72146104955780636b0a26d2146104b557806370a08231146104d3578063715018a61461052b576101c4565b806336fed975146103eb57806349bd5a5e146104435780634c4be8a614610477576101c4565b806318160ddd116101a257806318160ddd146102e45780631c8e11791461030257806323b872dd14610346578063313ce567146103ca576101c4565b806306fdde03146101c9578063095ea7b31461024c5780631694505e146102b0575b600080fd5b6101d1610892565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102986004803603604081101561026257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610934565b60405180821515815260200191505060405180910390f35b6102b8610952565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ec610978565b6040518082815260200191505060405180910390f35b6103446004803603602081101561031857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610982565b005b6103b26004803603606081101561035c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aa5565b60405180821515815260200191505060405180910390f35b6103d2610b7e565b604051808260ff16815260200191505060405180910390f35b61042d6004803603602081101561040157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b95565b6040518082815260200191505060405180910390f35b61044b610bad565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61047f610bd3565b6040518082815260200191505060405180910390f35b61049d610bdf565b60405180821515815260200191505060405180910390f35b6104bd610bf2565b6040518082815260200191505060405180910390f35b610515600480360360208110156104e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf8565b6040518082815260200191505060405180910390f35b610533610d16565b005b61053d610e9c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610571610ec5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b1578082015181840152602081019050610596565b50505050905090810190601f1680156105de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105f4610f67565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61066c6004803603604081101561063657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f8d565b60405180821515815260200191505060405180910390f35b61068c610fab565b6040518082815260200191505060405180910390f35b6106aa610fb1565b6040518082815260200191505060405180910390f35b6106c8610fb7565b6040518082815260200191505060405180910390f35b61070a600480360360208110156106f457600080fd5b8101908080359060200190929190505050610fbd565b005b61076e6004803603604081101561072257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e9565b6040518082815260200191505060405180910390f35b61078c611170565b6040518082815260200191505060405180910390f35b6107aa611176565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061119c565b6040518082815260200191505060405180910390f35b6108706004803603602081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111b4565b60405180821515815260200191505060405180910390f35b6108906111d4565b005b606060068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050905090565b6000610948610941611250565b8484611258565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a54905090565b61098a611250565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610ab284848461144f565b610b7384610abe611250565b610b6e8560405180606001604052806028815260200161255560289139600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b24611250565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca79092919063ffffffff16565b611258565b600190509392505050565b6000600860009054906101000a900460ff16905090565b600c6020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b670de0b6b3a764000081565b601560009054906101000a900460ff1681565b60095481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c5a576013549050610d11565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cba576014549050610d11565b610d0e600b54600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120690919063ffffffff16565b90505b919050565b610d1e611250565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dde576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f5d5780601f10610f3257610100808354040283529160200191610f5d565b820191906000526020600020905b815481529060010190602001808311610f4057829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610fa1610f9a611250565b848461144f565b6001905092915050565b60105481565b60115481565b600b5481565b610fc5611250565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611085576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018110156110df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612508602c913960400191505060405180910390fd5b8060108190555050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60125481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900460ff16611204576001601560006101000a81548160ff0219169083151502179055505b565b600061124883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d67565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806125c56024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611364576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806124e66022913960400191505060405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806125a06025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561155b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061243f6023913960400191505060405180910390fd5b600081116115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806124b66030913960400191505060405180910390fd5b6115bc610e9c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561162a57506115fa610e9c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c9457600061165b606461164d601054600a54611e2d90919063ffffffff16565b61120690919063ffffffff16565b9050808211156116b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061248f6027913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117625750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611afc57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561180b5750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061257d6023913960400191505060405180910390fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414806119005750426118fe601254600f60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb390919063ffffffff16565b105b611972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f45524332303a205478206e6f7420616c6c6f776564207965742e00000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a1e5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a785750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ad25750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ae957611ae48484846000611f3b565b611af7565b611af68484846000611f3b565b5b611c8e565b601560009054906101000a900460ff16611b69576001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80611b7384610bf8565b1115611bca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612462602d913960400191505060405180910390fd5b42600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1b8484846000611f3b565b6000611c476064611c39601154600a54611e2d90919063ffffffff16565b61120690919063ffffffff16565b90506000611c5485610bf8565b90506000611c6b8583611eb390919063ffffffff16565b90508282108015611c7b57508281105b15611c8a57611c898561238e565b5b5050505b50611ca2565b611ca18383836000611f3b565b5b505050565b6000838311158290611d54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d19578082015181840152602081019050611cfe565b50505050905090810190601f168015611d465780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611e13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dd8578082015181840152602081019050611dbd565b50505050905090810190601f168015611e055780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611e1f57fe5b049050809150509392505050565b600080831415611e405760009050611ead565b6000828402905082848281611e5157fe5b0414611ea8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125346021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015611f31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fb157611fa682601354611eb390919063ffffffff16565b601381905550612112565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156120275761201c826013546123f490919063ffffffff16565b601381905550612111565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561209d5761209282601454611eb390919063ffffffff16565b601481905550612110565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561210f57612108826014546123f490919063ffffffff16565b6014819055505b5b5b5b600061213a606461212c8486611e2d90919063ffffffff16565b61120690919063ffffffff16565b9050600061215182856123f490919063ffffffff16565b9050600061216a600b5486611e2d90919063ffffffff16565b90506000612183600b5484611e2d90919063ffffffff16565b90506121d782600c60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f490919063ffffffff16565b600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061226c81600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb390919063ffffffff16565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600084111561238457600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35b5050505050505050565b6123b66123a560058361120690919063ffffffff16565b600a54611eb390919063ffffffff16565b600a819055506123eb600a546a084595161401484a000000600019816123d857fe5b066000190361120690919063ffffffff16565b600b8190555050565b600061243683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ca7565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a2063757272656e742062616c616e6365206578636565647320746865206d6178206c696d69742e45524332303a20616d6f756e74206578636565647320746865206d6178207478206c696d69742e45524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206d6178207478206c696d69742073686f756c642062652067726561746572207468616e2031536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20746865207472616e73616374696f6e2077617320626c6f636b65642e45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212208a091033b23165944d9c18c20c2cc8ba6b682552287503feebe98b0ddbddb97064736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80638da5cb5b116100f9578063c82a8fed11610097578063e9240c2d11610071578063e9240c2d146107a2578063ed82193c146107d6578063f9f92be41461082e578063fd2dbb0e14610888576101c4565b8063c82a8fed146106de578063dd62ed3e1461070c578063e679e27c14610784576101c4565b8063a9059cbb116100d3578063a9059cbb14610620578063bce87b3314610684578063bef18a19146106a2578063c4996f51146106c0576101c4565b80638da5cb5b1461053557806395d89b4114610569578063a3306dc3146105ec576101c4565b806336fed9751161016657806356e0ec721161014057806356e0ec72146104955780636b0a26d2146104b557806370a08231146104d3578063715018a61461052b576101c4565b806336fed975146103eb57806349bd5a5e146104435780634c4be8a614610477576101c4565b806318160ddd116101a257806318160ddd146102e45780631c8e11791461030257806323b872dd14610346578063313ce567146103ca576101c4565b806306fdde03146101c9578063095ea7b31461024c5780631694505e146102b0575b600080fd5b6101d1610892565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102986004803603604081101561026257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610934565b60405180821515815260200191505060405180910390f35b6102b8610952565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ec610978565b6040518082815260200191505060405180910390f35b6103446004803603602081101561031857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610982565b005b6103b26004803603606081101561035c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aa5565b60405180821515815260200191505060405180910390f35b6103d2610b7e565b604051808260ff16815260200191505060405180910390f35b61042d6004803603602081101561040157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b95565b6040518082815260200191505060405180910390f35b61044b610bad565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61047f610bd3565b6040518082815260200191505060405180910390f35b61049d610bdf565b60405180821515815260200191505060405180910390f35b6104bd610bf2565b6040518082815260200191505060405180910390f35b610515600480360360208110156104e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf8565b6040518082815260200191505060405180910390f35b610533610d16565b005b61053d610e9c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610571610ec5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b1578082015181840152602081019050610596565b50505050905090810190601f1680156105de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105f4610f67565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61066c6004803603604081101561063657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f8d565b60405180821515815260200191505060405180910390f35b61068c610fab565b6040518082815260200191505060405180910390f35b6106aa610fb1565b6040518082815260200191505060405180910390f35b6106c8610fb7565b6040518082815260200191505060405180910390f35b61070a600480360360208110156106f457600080fd5b8101908080359060200190929190505050610fbd565b005b61076e6004803603604081101561072257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e9565b6040518082815260200191505060405180910390f35b61078c611170565b6040518082815260200191505060405180910390f35b6107aa611176565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061119c565b6040518082815260200191505060405180910390f35b6108706004803603602081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111b4565b60405180821515815260200191505060405180910390f35b6108906111d4565b005b606060068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050905090565b6000610948610941611250565b8484611258565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a54905090565b61098a611250565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610ab284848461144f565b610b7384610abe611250565b610b6e8560405180606001604052806028815260200161255560289139600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b24611250565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca79092919063ffffffff16565b611258565b600190509392505050565b6000600860009054906101000a900460ff16905090565b600c6020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b670de0b6b3a764000081565b601560009054906101000a900460ff1681565b60095481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c5a576013549050610d11565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cba576014549050610d11565b610d0e600b54600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120690919063ffffffff16565b90505b919050565b610d1e611250565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dde576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f5d5780601f10610f3257610100808354040283529160200191610f5d565b820191906000526020600020905b815481529060010190602001808311610f4057829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610fa1610f9a611250565b848461144f565b6001905092915050565b60105481565b60115481565b600b5481565b610fc5611250565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611085576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018110156110df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612508602c913960400191505060405180910390fd5b8060108190555050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60125481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900460ff16611204576001601560006101000a81548160ff0219169083151502179055505b565b600061124883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d67565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806125c56024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611364576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806124e66022913960400191505060405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806125a06025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561155b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061243f6023913960400191505060405180910390fd5b600081116115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806124b66030913960400191505060405180910390fd5b6115bc610e9c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561162a57506115fa610e9c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c9457600061165b606461164d601054600a54611e2d90919063ffffffff16565b61120690919063ffffffff16565b9050808211156116b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061248f6027913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117625750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611afc57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561180b5750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061257d6023913960400191505060405180910390fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414806119005750426118fe601254600f60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb390919063ffffffff16565b105b611972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f45524332303a205478206e6f7420616c6c6f776564207965742e00000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a1e5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a785750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ad25750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ae957611ae48484846000611f3b565b611af7565b611af68484846000611f3b565b5b611c8e565b601560009054906101000a900460ff16611b69576001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80611b7384610bf8565b1115611bca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612462602d913960400191505060405180910390fd5b42600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1b8484846000611f3b565b6000611c476064611c39601154600a54611e2d90919063ffffffff16565b61120690919063ffffffff16565b90506000611c5485610bf8565b90506000611c6b8583611eb390919063ffffffff16565b90508282108015611c7b57508281105b15611c8a57611c898561238e565b5b5050505b50611ca2565b611ca18383836000611f3b565b5b505050565b6000838311158290611d54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d19578082015181840152602081019050611cfe565b50505050905090810190601f168015611d465780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611e13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dd8578082015181840152602081019050611dbd565b50505050905090810190601f168015611e055780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611e1f57fe5b049050809150509392505050565b600080831415611e405760009050611ead565b6000828402905082848281611e5157fe5b0414611ea8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125346021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015611f31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fb157611fa682601354611eb390919063ffffffff16565b601381905550612112565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156120275761201c826013546123f490919063ffffffff16565b601381905550612111565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561209d5761209282601454611eb390919063ffffffff16565b601481905550612110565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561210f57612108826014546123f490919063ffffffff16565b6014819055505b5b5b5b600061213a606461212c8486611e2d90919063ffffffff16565b61120690919063ffffffff16565b9050600061215182856123f490919063ffffffff16565b9050600061216a600b5486611e2d90919063ffffffff16565b90506000612183600b5484611e2d90919063ffffffff16565b90506121d782600c60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123f490919063ffffffff16565b600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061226c81600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eb390919063ffffffff16565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600084111561238457600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35b5050505050505050565b6123b66123a560058361120690919063ffffffff16565b600a54611eb390919063ffffffff16565b600a819055506123eb600a546a084595161401484a000000600019816123d857fe5b066000190361120690919063ffffffff16565b600b8190555050565b600061243683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ca7565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a2063757272656e742062616c616e6365206578636565647320746865206d6178206c696d69742e45524332303a20616d6f756e74206578636565647320746865206d6178207478206c696d69742e45524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206d6178207478206c696d69742073686f756c642062652067726561746572207468616e2031536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20746865207472616e73616374696f6e2077617320626c6f636b65642e45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212208a091033b23165944d9c18c20c2cc8ba6b682552287503feebe98b0ddbddb97064736f6c634300060c0033

Deployed Bytecode Sourcemap

6282:7641:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8363:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9384:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6401:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8640:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13582:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9553:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8549:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7100:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6449:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6933:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7613:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6978:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8748:302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5362:148;;;:::i;:::-;;5148:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8454:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6538:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9058:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7331:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7397:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7056:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13696:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9233:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7462:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6490:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7278:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7230:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13471:99;;;:::i;:::-;;8363:83;8400:13;8433:5;8426:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8363:83;:::o;9384:161::-;9459:4;9476:39;9485:12;:10;:12::i;:::-;9499:7;9508:6;9476:8;:39::i;:::-;9533:4;9526:11;;9384:161;;;;:::o;6401:41::-;;;;;;;;;;;;;:::o;8640:100::-;8693:7;8720:12;;8713:19;;8640:100;:::o;13582:102::-;5285:12;:10;:12::i;:::-;5275:22;;:6;;;;;;;;;;:22;;;5267:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13671:5:::1;13650:9;:18;13660:7;13650:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;13582:102:::0;:::o;9553:313::-;9651:4;9668:36;9678:6;9686:9;9697:6;9668:9;:36::i;:::-;9715:121;9724:6;9732:12;:10;:12::i;:::-;9746:89;9784:6;9746:89;;;;;;;;;;;;;;;;;:11;:19;9758:6;9746:19;;;;;;;;;;;;;;;:33;9766:12;:10;:12::i;:::-;9746:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9715:8;:121::i;:::-;9854:4;9847:11;;9553:313;;;;;:::o;8549:83::-;8590:5;8615:9;;;;;;;;;;;8608:16;;8549:83;:::o;7100:47::-;;;;;;;;;;;;;;;;;:::o;6449:28::-;;;;;;;;;;;;;:::o;6933:38::-;6963:8;6933:38;:::o;7613:25::-;;;;;;;;;;;;;:::o;6978:34::-;;;;:::o;8748:302::-;8814:7;8848:13;;;;;;;;;;;8837:24;;:7;:24;;;8834:68;;;8883:19;;8876:26;;;;8834:68;8927:13;;;;;;;;;;;8916:24;;:7;:24;;;8913:68;;;8962:19;;8955:26;;;;8913:68;8999:43;9025:16;;8999:12;:21;9012:7;8999:21;;;;;;;;;;;;;;;;:25;;:43;;;;:::i;:::-;8992:50;;8748:302;;;;:::o;5362:148::-;5285:12;:10;:12::i;:::-;5275:22;;:6;;;;;;;;;;:22;;;5267:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5469:1:::1;5432:40;;5453:6;::::0;::::1;;;;;;;;5432:40;;;;;;;;;;;;5500:1;5483:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5362:148::o:0;5148:79::-;5186:7;5213:6;;;;;;;;;;;5206:13;;5148:79;:::o;8454:87::-;8493:13;8526:7;8519:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8454:87;:::o;6538:28::-;;;;;;;;;;;;;:::o;9058:167::-;9136:4;9153:42;9163:12;:10;:12::i;:::-;9177:9;9188:6;9153:9;:42::i;:::-;9213:4;9206:11;;9058:167;;;;:::o;7331:37::-;;;;:::o;7397:36::-;;;;:::o;7056:31::-;;;;:::o;13696:224::-;5285:12;:10;:12::i;:::-;5275:22;;:6;;;;;;;;;;:22;;;5267:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13813:1:::1;13792:17;:22;;13784:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13895:17;13874:18;:38;;;;13696:224:::0;:::o;9233:143::-;9314:7;9341:11;:18;9353:5;9341:18;;;;;;;;;;;;;;;:27;9360:7;9341:27;;;;;;;;;;;;;;;;9334:34;;9233:143;;;;:::o;7462:48::-;;;;:::o;6490:41::-;;;;;;;;;;;;;:::o;7278:44::-;;;;;;;;;;;;;;;;;:::o;7230:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;13471:99::-;13517:5;;;;;;;;;;;13513:50;;13547:4;13539:5;;:12;;;;;;;;;;;;;;;;;;13513:50;13471:99::o;1821:132::-;1879:7;1906:39;1910:1;1913;1906:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1899:46;;1821:132;;;;:::o;102:106::-;155:15;190:10;183:17;;102:106;:::o;9878:335::-;9988:1;9971:19;;:5;:19;;;;9963:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10069:1;10050:21;;:7;:21;;;;10042:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10151:6;10121:11;:18;10133:5;10121:18;;;;;;;;;;;;;;;:27;10140:7;10121:27;;;;;;;;;;;;;;;:36;;;;10189:7;10173:32;;10182:5;10173:32;;;10198:6;10173:32;;;;;;;;;;;;;;;;;;9878:335;;;:::o;10403:1959::-;10507:1;10491:18;;:4;:18;;;;10483:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10584:1;10570:16;;:2;:16;;;;10562:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10654:1;10645:6;:10;10637:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10741:7;:5;:7::i;:::-;10733:15;;:4;:15;;;;:32;;;;;10758:7;:5;:7::i;:::-;10752:13;;:2;:13;;;;10733:32;10729:1626;;;10782:21;10806:45;10847:3;10806:36;10823:18;;10806:12;;:16;;:36;;;;:::i;:::-;:40;;:45;;;;:::i;:::-;10782:69;;10898:13;10888:6;:23;;10880:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10995:13;;;;;;;;;;;10987:21;;:4;:21;;;;:46;;;;;11020:13;;;;;;;;;;;11012:21;;:4;:21;;;;10987:46;10984:1292;;;11063:9;:15;11073:4;11063:15;;;;;;;;;;;;;;;;;;;;;;;;;11062:16;:34;;;;;11083:9;:13;11093:2;11083:13;;;;;;;;;;;;;;;;;;;;;;;;;11082:14;11062:34;11054:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11181:1;11163:8;:14;11172:4;11163:14;;;;;;;;;;;;;;;;:19;:70;;;;11230:3;11186:41;11205:21;;11186:8;:14;11195:4;11186:14;;;;;;;;;;;;;;;;:18;;:41;;;;:::i;:::-;:47;11163:70;11155:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11318:15;;;;;;;;;;;11304:30;;:2;:30;;;;:53;;;;;11344:13;;;;;;;;;;;11338:19;;:2;:19;;;;11304:53;:87;;;;;11375:15;;;;;;;;;;;11361:30;;:2;:30;;;;11304:87;:110;;;;;11401:13;;;;;;;;;;;11395:19;;:2;:19;;;;11304:110;11301:251;;;11437:35;11452:4;11458:2;11462:6;11470:1;11437:14;:35::i;:::-;11301:251;;;11517:35;11532:4;11538:2;11542:6;11550:1;11517:14;:35::i;:::-;11301:251;10984:1292;;;11610:5;;;;;;;;;;;11606:52;;11654:4;11638:9;:13;11648:2;11638:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11606:52;11720:13;11703;11713:2;11703:9;:13::i;:::-;:30;;11695:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11835:3;11820:8;:12;11829:2;11820:12;;;;;;;;;;;;;;;:18;;;;11857:35;11872:4;11878:2;11882:6;11890:1;11857:14;:35::i;:::-;11913:25;11941:44;11981:3;11941:35;11958:17;;11941:12;;:16;;:35;;;;:::i;:::-;:39;;:44;;;;:::i;:::-;11913:72;;12004:22;12029:13;12039:2;12029:9;:13::i;:::-;12004:38;;12061:18;12082:26;12101:6;12082:14;:18;;:26;;;;:::i;:::-;12061:47;;12147:17;12130:14;:34;:68;;;;;12181:17;12168:10;:30;12130:68;12127:134;;;12223:18;12234:6;12223:10;:18::i;:::-;12127:134;10984:1292;;;;10729:1626;;;;12308:35;12323:4;12329:2;12333:6;12341:1;12308:14;:35::i;:::-;10729:1626;10403:1959;;;:::o;1369:190::-;1455:7;1488:1;1483;:6;;1491:12;1475:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1515:9;1531:1;1527;:5;1515:17;;1550:1;1543:8;;;1369:190;;;;;:::o;1961:189::-;2047:7;2079:1;2075;:5;2082:12;2067:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2106:9;2122:1;2118;:5;;;;;;2106:17;;2141:1;2134:8;;;1961:189;;;;;:::o;1567:246::-;1625:7;1654:1;1649;:6;1645:47;;;1679:1;1672:8;;;;1645:47;1702:9;1718:1;1714;:5;1702:17;;1747:1;1742;1738;:5;;;;;;:10;1730:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1804:1;1797:8;;;1567:246;;;;;:::o;1038:179::-;1096:7;1116:9;1132:1;1128;:5;1116:17;;1157:1;1152;:6;;1144:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1208:1;1201:8;;;1038:179;;;;:::o;12374:1085::-;12485:13;;;;;;;;;;;12479:19;;:2;:19;;;12476:412;;;12535:31;12559:6;12535:19;;:23;;:31;;;;:::i;:::-;12513:19;:53;;;;12476:412;;;12593:13;;;;;;;;;;;12585:21;;:4;:21;;;12582:306;;;12643:31;12667:6;12643:19;;:23;;:31;;;;:::i;:::-;12621:19;:53;;;;12582:306;;;12699:13;;;;;;;;;;;12693:19;;:2;:19;;;12690:198;;;12749:31;12773:6;12749:19;;:23;;:31;;;;:::i;:::-;12727:19;:53;;;;12690:198;;;12807:13;;;;;;;;;;;12799:21;;:4;:21;;;12796:92;;;12857:31;12881:6;12857:19;;:23;;:31;;;;:::i;:::-;12835:19;:53;;;;12796:92;12690:198;12582:306;12476:412;12909:18;12930:27;12953:3;12930:18;12941:6;12930;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;12909:48;;12968:22;12993;13004:10;12993:6;:10;;:22;;;;:::i;:::-;12968:47;;13036:21;13060:28;13071:16;;13060:6;:10;;:28;;;;:::i;:::-;13036:52;;13099:16;13118:36;13137:16;;13118:14;:18;;:36;;;;:::i;:::-;13099:55;;13196:37;13219:13;13196:12;:18;13209:4;13196:18;;;;;;;;;;;;;;;;:22;;:37;;;;:::i;:::-;13175:12;:18;13188:4;13175:18;;;;;;;;;;;;;;;:58;;;;13263:30;13284:8;13263:12;:16;13276:2;13263:16;;;;;;;;;;;;;;;;:20;;:30;;;;:::i;:::-;13244:12;:16;13257:2;13244:16;;;;;;;;;;;;;;;:49;;;;13334:2;13319:34;;13328:4;13319:34;;;13338:14;13319:34;;;;;;;;;;;;;;;;;;13390:1;13377:10;:14;13374:77;;;13434:3;13411:40;;13420:4;13411:40;;;13440:10;13411:40;;;;;;;;;;;;;;;;;;13374:77;12374:1085;;;;;;;;:::o;10225:170::-;10297:32;10314:14;10326:1;10314:7;:11;;:14;;;;:::i;:::-;10297:12;;:16;;:32;;;;:::i;:::-;10282:12;:47;;;;10359:28;10374:12;;6807:14;6746:1;6737:11;6881:38;;;;;;6746:1;6737:11;6866:54;10359:14;;:28;;;;:::i;:::-;10340:16;:47;;;;10225:170;:::o;1225:136::-;1283:7;1310:43;1314:1;1317;1310:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1303:50;;1225:136;;;;:::o

Swarm Source

ipfs://8a091033b23165944d9c18c20c2cc8ba6b682552287503feebe98b0ddbddb970

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

ZAP is a novel DeFi protocol that generates passive yield for existing holders every time a new buy order executes. The yield is instantaneous and approximately 10,101% higher than the standard RFI contract.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.