ETH Price: $2,382.37 (-0.04%)

Contract

0x61cd0257C5A6288A6af6F2091f2f0Cd4B5D68f3c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer207571792024-09-15 16:21:4718 days ago1726417307IN
0x61cd0257...4B5D68f3c
0 ETH0.000151222.06449018
Approve184761882023-11-01 8:53:11337 days ago1698828791IN
0x61cd0257...4B5D68f3c
0 ETH0.000357714.72214316
Approve184632292023-10-30 13:19:23339 days ago1698671963IN
0x61cd0257...4B5D68f3c
0 ETH0.0013871429.77926222
Approve184554622023-10-29 11:11:59340 days ago1698577919IN
0x61cd0257...4B5D68f3c
0 ETH0.0003759515.51177267
Approve184145492023-10-23 17:46:59346 days ago1698083219IN
0x61cd0257...4B5D68f3c
0 ETH0.0029563163.87758587
Approve184087952023-10-22 22:24:47347 days ago1698013487IN
0x61cd0257...4B5D68f3c
0 ETH0.000461659.92353526
Transfer183910012023-10-20 10:40:35349 days ago1697798435IN
0x61cd0257...4B5D68f3c
0 ETH0.0008148611.0937048
Approve183521732023-10-15 0:22:59355 days ago1697329379IN
0x61cd0257...4B5D68f3c
0 ETH0.000136045.61290667
Approve183485952023-10-14 12:23:11355 days ago1697286191IN
0x61cd0257...4B5D68f3c
0 ETH0.00025185.40563951
Approve182941132023-10-06 21:22:47363 days ago1696627367IN
0x61cd0257...4B5D68f3c
0 ETH0.000165136.2594493
Approve182941112023-10-06 21:22:23363 days ago1696627343IN
0x61cd0257...4B5D68f3c
0 ETH0.000300926.50205557
Approve182931882023-10-06 18:16:35363 days ago1696616195IN
0x61cd0257...4B5D68f3c
0 ETH0.0005591312.01897961
Approve182832922023-10-05 9:03:23364 days ago1696496603IN
0x61cd0257...4B5D68f3c
0 ETH0.000325436.99553716
Approve182550402023-10-01 10:17:59368 days ago1696155479IN
0x61cd0257...4B5D68f3c
0 ETH0.000396998.53356599
Approve182548502023-10-01 9:39:35368 days ago1696153175IN
0x61cd0257...4B5D68f3c
0 ETH0.000433629.32110483
Approve182462502023-09-30 4:51:23370 days ago1696049483IN
0x61cd0257...4B5D68f3c
0 ETH0.000288226.19552123
Approve182407982023-09-29 10:32:59370 days ago1695983579IN
0x61cd0257...4B5D68f3c
0 ETH0.000309696.70025797
Approve182295212023-09-27 20:37:11372 days ago1695847031IN
0x61cd0257...4B5D68f3c
0 ETH0.0007115315.37824901
Approve182182172023-09-26 6:38:23373 days ago1695710303IN
0x61cd0257...4B5D68f3c
0 ETH0.000331637.11956429
Approve182144572023-09-25 18:02:35374 days ago1695664955IN
0x61cd0257...4B5D68f3c
0 ETH0.0008868319.18687996
Approve182123102023-09-25 10:49:23374 days ago1695638963IN
0x61cd0257...4B5D68f3c
0 ETH0.000458479.91912928
Approve182100472023-09-25 3:12:59375 days ago1695611579IN
0x61cd0257...4B5D68f3c
0 ETH0.000349417.51101368
Approve181977672023-09-23 9:56:23376 days ago1695462983IN
0x61cd0257...4B5D68f3c
0 ETH0.000352877.58528756
Approve181971432023-09-23 7:50:59376 days ago1695455459IN
0x61cd0257...4B5D68f3c
0 ETH0.0002487610.23835167
Approve181893072023-09-22 5:27:59378 days ago1695360479IN
0x61cd0257...4B5D68f3c
0 ETH0.000356247.65768104
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
184087952023-10-22 22:24:47347 days ago1698013487
0x61cd0257...4B5D68f3c
0.00222984 ETH
184087952023-10-22 22:24:47347 days ago1698013487
0x61cd0257...4B5D68f3c
0.00222984 ETH
182982732023-10-07 11:21:11362 days ago1696677671
0x61cd0257...4B5D68f3c
0.00249837 ETH
182982732023-10-07 11:21:11362 days ago1696677671
0x61cd0257...4B5D68f3c
0.00249837 ETH
182714192023-10-03 17:13:59366 days ago1696353239
0x61cd0257...4B5D68f3c
0.00308336 ETH
182714192023-10-03 17:13:59366 days ago1696353239
0x61cd0257...4B5D68f3c
0.00308336 ETH
182346862023-09-28 14:00:23371 days ago1695909623
0x61cd0257...4B5D68f3c
0.00378807 ETH
182346862023-09-28 14:00:23371 days ago1695909623
0x61cd0257...4B5D68f3c
0.00378807 ETH
182123162023-09-25 10:50:35374 days ago1695639035
0x61cd0257...4B5D68f3c
0.00411796 ETH
182123162023-09-25 10:50:35374 days ago1695639035
0x61cd0257...4B5D68f3c
0.00411796 ETH
181953602023-09-23 1:51:23377 days ago1695433883
0x61cd0257...4B5D68f3c
0.00513829 ETH
181953602023-09-23 1:51:23377 days ago1695433883
0x61cd0257...4B5D68f3c
0.00513829 ETH
181893122023-09-22 5:28:59378 days ago1695360539
0x61cd0257...4B5D68f3c
0.00683533 ETH
181893122023-09-22 5:28:59378 days ago1695360539
0x61cd0257...4B5D68f3c
0.00683533 ETH
181845262023-09-21 13:23:59378 days ago1695302639
0x61cd0257...4B5D68f3c
0.01529078 ETH
181845262023-09-21 13:23:59378 days ago1695302639
0x61cd0257...4B5D68f3c
0.01529078 ETH
181808012023-09-21 0:51:59379 days ago1695257519
0x61cd0257...4B5D68f3c
0.00749979 ETH
181808012023-09-21 0:51:59379 days ago1695257519
0x61cd0257...4B5D68f3c
0.00749979 ETH
181807082023-09-21 0:33:23379 days ago1695256403
0x61cd0257...4B5D68f3c
0.01669306 ETH
181807082023-09-21 0:33:23379 days ago1695256403
0x61cd0257...4B5D68f3c
0.01669306 ETH
181795062023-09-20 20:31:59379 days ago1695241919
0x61cd0257...4B5D68f3c
0.00927789 ETH
181795062023-09-20 20:31:59379 days ago1695241919
0x61cd0257...4B5D68f3c
0.00927789 ETH
181783982023-09-20 16:48:59379 days ago1695228539
0x61cd0257...4B5D68f3c
0.01197666 ETH
181783982023-09-20 16:48:59379 days ago1695228539
0x61cd0257...4B5D68f3c
0.01197666 ETH
181769982023-09-20 12:07:35379 days ago1695211655
0x61cd0257...4B5D68f3c
0.01161313 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VanishPay

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-12
*/

/**

   🌐Vanishpay - $VPAY🌐

"Securing Your Crypto Identity Anonymously"

Our platform harnesses advanced cryptographic techniques and 
cutting-edge technology to facilitate cryptocurrency transactions 
that are truly anonymous, all while maintaining the highest levels 
of security


Socials
Telegram: https://t.me/vanishpay
Twitter:  https://twitter.com/vanishpay
Website:  https://vanishpay.tech

// SPDX-License-Identifier: MIT

**/
pragma solidity 0.8.17;

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

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;
    }

}

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

    constructor () {
        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 VanishPay is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=18;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=4;
    uint256 private _finalSellTax=4;
    uint256 private _reduceBuyTaxAt=15;
    uint256 private _reduceSellTaxAt=25;
    uint256 private _preventSwapBefore=25;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"Vanishpay";
    string private constant _symbol = unicode"VPAY";
    uint256 public _maxTxAmount = 1000000 * 10**_decimals;
    uint256 public _maxWalletSize = 1000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 100000 * 10**_decimals;
    uint256 public _maxTaxSwap= 700000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    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 _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, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff1916600117905560126007556019600881905560046009818155600a918255600f600b55600c839055600d929092556000600e556200004a919062000353565b6200005990620f42406200036b565b600f556200006a6009600a62000353565b6200007990620f42406200036b565b6010556200008a6009600a62000353565b6200009990620186a06200036b565b601155620000aa6009600a62000353565b620000b990620aae606200036b565b6012556014805461ffff60a81b19169055348015620000d757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200013e6009600a62000353565b6200014e906305f5e1006200036b565b336000908152600160208190526040822092909255600390620001796000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001dd3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002176009600a62000353565b62000227906305f5e1006200036b565b60405190815260200160405180910390a362000385565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002955781600019048211156200027957620002796200023e565b808516156200028757918102915b93841c939080029062000259565b509250929050565b600082620002ae575060016200034d565b81620002bd575060006200034d565b8160018114620002d65760028114620002e15762000301565b60019150506200034d565b60ff841115620002f557620002f56200023e565b50506001821b6200034d565b5060208310610133831016604e8410600b841016171562000326575081810a6200034d565b62000332838362000254565b80600019048211156200034957620003496200023e565b0290505b92915050565b60006200036460ff8416836200029d565b9392505050565b80820281158282048414176200034d576200034d6200023e565b61195680620003956000396000f3fe6080604052600436106101235760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed14610330578063c876d0b914610346578063c9567bf914610360578063dd62ed3e14610375578063ec1f3f63146103bb57600080fd5b80637d1db4a51461028f5780638da5cb5b146102a55780638f9a55c0146102cd57806395d89b41146102e3578063a9059cbb1461031057600080fd5b8063313ce567116100e7578063313ce567146101fc57806351bc3c851461021857806370a082311461022f578063715018a614610265578063751039fc1461027a57600080fd5b806306fdde031461012f578063095ea7b3146101735780630faee56f146101a357806318160ddd146101c757806323b872dd146101dc57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600981526856616e69736870617960b81b60208201525b60405161016a919061150c565b60405180910390f35b34801561017f57600080fd5b5061019361018e366004611572565b6103db565b604051901515815260200161016a565b3480156101af57600080fd5b506101b960125481565b60405190815260200161016a565b3480156101d357600080fd5b506101b96103f2565b3480156101e857600080fd5b506101936101f736600461159e565b610413565b34801561020857600080fd5b506040516009815260200161016a565b34801561022457600080fd5b5061022d61047c565b005b34801561023b57600080fd5b506101b961024a3660046115df565b6001600160a01b031660009081526001602052604090205490565b34801561027157600080fd5b5061022d6104d4565b34801561028657600080fd5b5061022d610551565b34801561029b57600080fd5b506101b9600f5481565b3480156102b157600080fd5b506000546040516001600160a01b03909116815260200161016a565b3480156102d957600080fd5b506101b960105481565b3480156102ef57600080fd5b506040805180820190915260048152635650415960e01b602082015261015d565b34801561031c57600080fd5b5061019361032b366004611572565b61060d565b34801561033c57600080fd5b506101b960115481565b34801561035257600080fd5b506006546101939060ff1681565b34801561036c57600080fd5b5061022d61061a565b34801561038157600080fd5b506101b96103903660046115fc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c757600080fd5b5061022d6103d6366004611635565b6109d6565b60006103e8338484610a22565b5060015b92915050565b60006104006009600a611748565b61040e906305f5e100611757565b905090565b6000610420848484610b46565b610472843361046d856040518060600160405280602881526020016118f9602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061116b565b610a22565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104a157600080fd5b3060009081526001602052604090205480156104c0576104c0816111a5565b4780156104d0576104d08161131f565b5050565b6000546001600160a01b031633146105075760405162461bcd60e51b81526004016104fe9061176e565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461057b5760405162461bcd60e51b81526004016104fe9061176e565b6105876009600a611748565b610595906305f5e100611757565b600f556105a46009600a611748565b6105b2906305f5e100611757565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ec6009600a611748565b6105fa906305f5e100611757565b60405190815260200160405180910390a1565b60006103e8338484610b46565b6000546001600160a01b031633146106445760405162461bcd60e51b81526004016104fe9061176e565b601454600160a01b900460ff161561069e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104fe565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106e79030906106d96009600a611748565b61046d906305f5e100611757565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e91906117a3565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e491906117a3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085591906117a3565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d719473061089d816001600160a01b031660009081526001602052604090205490565b6000806108b26000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561091a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061093f91906117c0565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bc91906117ee565b506014805462ff00ff60a01b19166201000160a01b179055565b60065461010090046001600160a01b0316336001600160a01b0316146109fb57600080fd5b6009548111158015610a0f5750600a548111155b610a1857600080fd5b6009819055600a55565b6001600160a01b038316610a845760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104fe565b6001600160a01b038216610ae55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104fe565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610baa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104fe565b6001600160a01b038216610c0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104fe565b60008111610c6e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104fe565b600080546001600160a01b03858116911614801590610c9b57506000546001600160a01b03848116911614155b15611028576001600160a01b03841660009081526004602052604090205460ff16158015610ce257506001600160a01b03831660009081526004602052604090205460ff16155b610ceb57600080fd5b610d176064610d11600b54600e5411610d0657600754610d0a565b6009545b859061135d565b906113e6565b60065490915060ff1615610dff576013546001600160a01b03848116911614801590610d5157506014546001600160a01b03848116911614155b15610dff57326000908152600560205260409020544311610dec5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104fe565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610e2a57506013546001600160a01b03848116911614155b8015610e4f57506001600160a01b03831660009081526003602052604090205460ff16155b15610f3757600f54821115610ea65760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104fe565b60105482610ec9856001600160a01b031660009081526001602052604090205490565b610ed39190611810565b1115610f215760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104fe565b600e8054906000610f3183611823565b91905055505b6014546001600160a01b038481169116148015610f5d57506001600160a01b0384163014155b15610f8a57610f876064610d11600c54600e5411610f7d57600854610d0a565b600a54859061135d565b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610fc157506014546001600160a01b038581169116145b8015610fd65750601454600160b01b900460ff165b8015610fe3575060115481115b8015610ff25750600d54600e54115b156110265761101461100f8461100a84601254611428565b611428565b6111a5565b478015611024576110244761131f565b505b505b80156110a25730600090815260016020526040902054611048908261143d565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110999085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546110c5908361149c565b6001600160a01b03851660009081526001602052604090205561110a6110eb838361149c565b6001600160a01b0385166000908152600160205260409020549061143d565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611154858561149c565b60405190815260200160405180910390a350505050565b6000818484111561118f5760405162461bcd60e51b81526004016104fe919061150c565b50600061119c848661183c565b95945050505050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111ed576111ed61184f565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126a91906117a3565b8160018151811061127d5761127d61184f565b6001600160a01b0392831660209182029290920101526013546112a39130911684610a22565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112dc908590600090869030904290600401611865565b600060405180830381600087803b1580156112f657600080fd5b505af115801561130a573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156104d0573d6000803e3d6000fd5b60008260000361136f575060006103ec565b600061137b8385611757565b90508261138885836118d6565b146113df5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104fe565b9392505050565b60006113df83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114de565b600081831161143757826113df565b50919050565b60008061144a8385611810565b9050838110156113df5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104fe565b60006113df83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061116b565b600081836114ff5760405162461bcd60e51b81526004016104fe919061150c565b50600061119c84866118d6565b600060208083528351808285015260005b818110156115395785810183015185820160400152820161151d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461156f57600080fd5b50565b6000806040838503121561158557600080fd5b82356115908161155a565b946020939093013593505050565b6000806000606084860312156115b357600080fd5b83356115be8161155a565b925060208401356115ce8161155a565b929592945050506040919091013590565b6000602082840312156115f157600080fd5b81356113df8161155a565b6000806040838503121561160f57600080fd5b823561161a8161155a565b9150602083013561162a8161155a565b809150509250929050565b60006020828403121561164757600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561169f5781600019048211156116855761168561164e565b8085161561169257918102915b93841c9390800290611669565b509250929050565b6000826116b6575060016103ec565b816116c3575060006103ec565b81600181146116d957600281146116e3576116ff565b60019150506103ec565b60ff8411156116f4576116f461164e565b50506001821b6103ec565b5060208310610133831016604e8410600b8410161715611722575081810a6103ec565b61172c8383611664565b80600019048211156117405761174061164e565b029392505050565b60006113df60ff8416836116a7565b80820281158282048414176103ec576103ec61164e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117b557600080fd5b81516113df8161155a565b6000806000606084860312156117d557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561180057600080fd5b815180151581146113df57600080fd5b808201808211156103ec576103ec61164e565b6000600182016118355761183561164e565b5060010190565b818103818111156103ec576103ec61164e565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118b55784516001600160a01b031683529383019391830191600101611890565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826118f357634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c7d825417ca7bb41bdfb40f378dbbda2b5f80cfe8f1f8d544fdf93c66be6958764736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed14610330578063c876d0b914610346578063c9567bf914610360578063dd62ed3e14610375578063ec1f3f63146103bb57600080fd5b80637d1db4a51461028f5780638da5cb5b146102a55780638f9a55c0146102cd57806395d89b41146102e3578063a9059cbb1461031057600080fd5b8063313ce567116100e7578063313ce567146101fc57806351bc3c851461021857806370a082311461022f578063715018a614610265578063751039fc1461027a57600080fd5b806306fdde031461012f578063095ea7b3146101735780630faee56f146101a357806318160ddd146101c757806323b872dd146101dc57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600981526856616e69736870617960b81b60208201525b60405161016a919061150c565b60405180910390f35b34801561017f57600080fd5b5061019361018e366004611572565b6103db565b604051901515815260200161016a565b3480156101af57600080fd5b506101b960125481565b60405190815260200161016a565b3480156101d357600080fd5b506101b96103f2565b3480156101e857600080fd5b506101936101f736600461159e565b610413565b34801561020857600080fd5b506040516009815260200161016a565b34801561022457600080fd5b5061022d61047c565b005b34801561023b57600080fd5b506101b961024a3660046115df565b6001600160a01b031660009081526001602052604090205490565b34801561027157600080fd5b5061022d6104d4565b34801561028657600080fd5b5061022d610551565b34801561029b57600080fd5b506101b9600f5481565b3480156102b157600080fd5b506000546040516001600160a01b03909116815260200161016a565b3480156102d957600080fd5b506101b960105481565b3480156102ef57600080fd5b506040805180820190915260048152635650415960e01b602082015261015d565b34801561031c57600080fd5b5061019361032b366004611572565b61060d565b34801561033c57600080fd5b506101b960115481565b34801561035257600080fd5b506006546101939060ff1681565b34801561036c57600080fd5b5061022d61061a565b34801561038157600080fd5b506101b96103903660046115fc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c757600080fd5b5061022d6103d6366004611635565b6109d6565b60006103e8338484610a22565b5060015b92915050565b60006104006009600a611748565b61040e906305f5e100611757565b905090565b6000610420848484610b46565b610472843361046d856040518060600160405280602881526020016118f9602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061116b565b610a22565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104a157600080fd5b3060009081526001602052604090205480156104c0576104c0816111a5565b4780156104d0576104d08161131f565b5050565b6000546001600160a01b031633146105075760405162461bcd60e51b81526004016104fe9061176e565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461057b5760405162461bcd60e51b81526004016104fe9061176e565b6105876009600a611748565b610595906305f5e100611757565b600f556105a46009600a611748565b6105b2906305f5e100611757565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ec6009600a611748565b6105fa906305f5e100611757565b60405190815260200160405180910390a1565b60006103e8338484610b46565b6000546001600160a01b031633146106445760405162461bcd60e51b81526004016104fe9061176e565b601454600160a01b900460ff161561069e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104fe565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106e79030906106d96009600a611748565b61046d906305f5e100611757565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e91906117a3565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e491906117a3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085591906117a3565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d719473061089d816001600160a01b031660009081526001602052604090205490565b6000806108b26000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561091a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061093f91906117c0565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bc91906117ee565b506014805462ff00ff60a01b19166201000160a01b179055565b60065461010090046001600160a01b0316336001600160a01b0316146109fb57600080fd5b6009548111158015610a0f5750600a548111155b610a1857600080fd5b6009819055600a55565b6001600160a01b038316610a845760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104fe565b6001600160a01b038216610ae55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104fe565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610baa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104fe565b6001600160a01b038216610c0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104fe565b60008111610c6e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104fe565b600080546001600160a01b03858116911614801590610c9b57506000546001600160a01b03848116911614155b15611028576001600160a01b03841660009081526004602052604090205460ff16158015610ce257506001600160a01b03831660009081526004602052604090205460ff16155b610ceb57600080fd5b610d176064610d11600b54600e5411610d0657600754610d0a565b6009545b859061135d565b906113e6565b60065490915060ff1615610dff576013546001600160a01b03848116911614801590610d5157506014546001600160a01b03848116911614155b15610dff57326000908152600560205260409020544311610dec5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104fe565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610e2a57506013546001600160a01b03848116911614155b8015610e4f57506001600160a01b03831660009081526003602052604090205460ff16155b15610f3757600f54821115610ea65760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104fe565b60105482610ec9856001600160a01b031660009081526001602052604090205490565b610ed39190611810565b1115610f215760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104fe565b600e8054906000610f3183611823565b91905055505b6014546001600160a01b038481169116148015610f5d57506001600160a01b0384163014155b15610f8a57610f876064610d11600c54600e5411610f7d57600854610d0a565b600a54859061135d565b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610fc157506014546001600160a01b038581169116145b8015610fd65750601454600160b01b900460ff165b8015610fe3575060115481115b8015610ff25750600d54600e54115b156110265761101461100f8461100a84601254611428565b611428565b6111a5565b478015611024576110244761131f565b505b505b80156110a25730600090815260016020526040902054611048908261143d565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110999085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546110c5908361149c565b6001600160a01b03851660009081526001602052604090205561110a6110eb838361149c565b6001600160a01b0385166000908152600160205260409020549061143d565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611154858561149c565b60405190815260200160405180910390a350505050565b6000818484111561118f5760405162461bcd60e51b81526004016104fe919061150c565b50600061119c848661183c565b95945050505050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111ed576111ed61184f565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126a91906117a3565b8160018151811061127d5761127d61184f565b6001600160a01b0392831660209182029290920101526013546112a39130911684610a22565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112dc908590600090869030904290600401611865565b600060405180830381600087803b1580156112f657600080fd5b505af115801561130a573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156104d0573d6000803e3d6000fd5b60008260000361136f575060006103ec565b600061137b8385611757565b90508261138885836118d6565b146113df5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104fe565b9392505050565b60006113df83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114de565b600081831161143757826113df565b50919050565b60008061144a8385611810565b9050838110156113df5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104fe565b60006113df83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061116b565b600081836114ff5760405162461bcd60e51b81526004016104fe919061150c565b50600061119c84866118d6565b600060208083528351808285015260005b818110156115395785810183015185820160400152820161151d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461156f57600080fd5b50565b6000806040838503121561158557600080fd5b82356115908161155a565b946020939093013593505050565b6000806000606084860312156115b357600080fd5b83356115be8161155a565b925060208401356115ce8161155a565b929592945050506040919091013590565b6000602082840312156115f157600080fd5b81356113df8161155a565b6000806040838503121561160f57600080fd5b823561161a8161155a565b9150602083013561162a8161155a565b809150509250929050565b60006020828403121561164757600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561169f5781600019048211156116855761168561164e565b8085161561169257918102915b93841c9390800290611669565b509250929050565b6000826116b6575060016103ec565b816116c3575060006103ec565b81600181146116d957600281146116e3576116ff565b60019150506103ec565b60ff8411156116f4576116f461164e565b50506001821b6103ec565b5060208310610133831016604e8410600b8410161715611722575081810a6103ec565b61172c8383611664565b80600019048211156117405761174061164e565b029392505050565b60006113df60ff8416836116a7565b80820281158282048414176103ec576103ec61164e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117b557600080fd5b81516113df8161155a565b6000806000606084860312156117d557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561180057600080fd5b815180151581146113df57600080fd5b808201808211156103ec576103ec61164e565b6000600182016118355761183561164e565b5060010190565b818103818111156103ec576103ec61164e565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118b55784516001600160a01b031683529383019391830191600101611890565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826118f357634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c7d825417ca7bb41bdfb40f378dbbda2b5f80cfe8f1f8d544fdf93c66be6958764736f6c63430008110033

Deployed Bytecode Sourcemap

3901:8250:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5829:83;;;;;;;;;;-1:-1:-1;5899:5:0;;;;;;;;;;;;-1:-1:-1;;;5899:5:0;;;;5829:83;;;;;;;:::i;:::-;;;;;;;;6662:161;;;;;;;;;;-1:-1:-1;6662:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6662:161:0;1023:187:1;5106:50:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5106:50:0;1215:177:1;6106:95:0;;;;;;;;;;;;;:::i;6831:313::-;;;;;;;;;;-1:-1:-1;6831:313:0;;;;;:::i;:::-;;:::i;6015:83::-;;;;;;;;;;-1:-1:-1;6015:83:0;;4735:1;2000:36:1;;1988:2;1973:18;6015:83:0;1858:184:1;11800:348:0;;;;;;;;;;;;;:::i;:::-;;6209:119;;;;;;;;;;-1:-1:-1;6209:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6302:18:0;6275:7;6302:18;;;:9;:18;;;;;;;6209:119;2982:148;;;;;;;;;;;;;:::i;10548:196::-;;;;;;;;;;;;;:::i;4921:53::-;;;;;;;;;;;;;;;;2768:79;;;;;;;;;;-1:-1:-1;2806:7:0;2833:6;2768:79;;-1:-1:-1;;;;;2833:6:0;;;2445:51:1;;2433:2;2418:18;2768:79:0;2299:203:1;4981:55:0;;;;;;;;;;;;;;;;5920:87;;;;;;;;;;-1:-1:-1;5992:7:0;;;;;;;;;;;;-1:-1:-1;;;5992:7:0;;;;5920:87;;6336:167;;;;;;;;;;-1:-1:-1;6336:167:0;;;;;:::i;:::-;;:::i;5043:56::-;;;;;;;;;;;;;;;;4292:39;;;;;;;;;;-1:-1:-1;4292:39:0;;;;;;;;10852:671;;;;;;;;;;;;;:::i;6511:143::-;;;;;;;;;;-1:-1:-1;6511:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6619:18:0;;;6592:7;6619:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6511:143;11537:218;;;;;;;;;;-1:-1:-1;11537:218:0;;;;;:::i;:::-;;:::i;6662:161::-;6737:4;6754:39;603:10;6777:7;6786:6;6754:8;:39::i;:::-;-1:-1:-1;6811:4:0;6662:161;;;;;:::o;6106:95::-;6159:7;4790:13;4735:1;4790:2;:13;:::i;:::-;4778:25;;:9;:25;:::i;:::-;6179:14;;6106:95;:::o;6831:313::-;6929:4;6946:36;6956:6;6964:9;6975:6;6946:9;:36::i;:::-;6993:121;7002:6;603:10;7024:89;7062:6;7024:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7024:19:0;;;;;;:11;:19;;;;;;;;603:10;7024:33;;;;;;;;;;:37;:89::i;:::-;6993:8;:121::i;:::-;-1:-1:-1;7132:4:0;6831:313;;;;;:::o;11800:348::-;11864:10;;;;;-1:-1:-1;;;;;11864:10:0;603;-1:-1:-1;;;;;11850:24:0;;11842:33;;;;;;11925:4;11886:20;6302:18;;;:9;:18;;;;;;11945:14;;11942:73;;11973:30;11990:12;11973:16;:30::i;:::-;12044:21;12079:12;;12076:65;;12105:24;12118:10;12105:12;:24::i;:::-;11831:317;;11800:348::o;2982:148::-;2895:6;;-1:-1:-1;;;;;2895:6:0;603:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;;;;;;:::i;:::-;;;;;;;;;3089:1:::1;3073:6:::0;;3052:40:::1;::::0;-1:-1:-1;;;;;3073:6:0;;::::1;::::0;3052:40:::1;::::0;3089:1;;3052:40:::1;3120:1;3103:19:::0;;-1:-1:-1;;;;;;3103:19:0::1;::::0;;2982:148::o;10548:196::-;2895:6;;-1:-1:-1;;;;;2895:6:0;603:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;;;;;;:::i;:::-;4790:13:::1;4735:1;4790:2;:13;:::i;:::-;4778:25;::::0;:9:::1;:25;:::i;:::-;10601:12;:22:::0;4790:13:::1;4735:1;4790:2;:13;:::i;:::-;4778:25;::::0;:9:::1;:25;:::i;:::-;10634:14;:22:::0;10667:20:::1;:26:::0;;-1:-1:-1;;10667:26:0::1;::::0;;10709:27:::1;4790:13;4735:1;-1:-1:-1::0;4790:13:0::1;:::i;:::-;4778:25;::::0;:9:::1;:25;:::i;:::-;10709:27;::::0;1361:25:1;;;1349:2;1334:18;10709:27:0::1;;;;;;;10548:196::o:0;6336:167::-;6414:4;6431:42;603:10;6455:9;6466:6;6431:9;:42::i;10852:671::-;2895:6;;-1:-1:-1;;;;;2895:6:0;603:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;;;;;;:::i;:::-;10916:11:::1;::::0;-1:-1:-1;;;10916:11:0;::::1;;;10915:12;10907:47;;;::::0;-1:-1:-1;;;10907:47:0;;5336:2:1;10907:47:0::1;::::0;::::1;5318:21:1::0;5375:2;5355:18;;;5348:30;5414:25;5394:18;;;5387:53;5457:18;;10907:47:0::1;5134:347:1::0;10907:47:0::1;10965:15;:80:::0;;-1:-1:-1;;;;;;10965:80:0::1;11002:42;10965:80:::0;;::::1;::::0;;;11056:58:::1;::::0;11073:4:::1;::::0;4790:13:::1;4735:1;4790:2;:13;:::i;:::-;4778:25;::::0;:9:::1;:25;:::i;11056:58::-;11159:15;;;;;;;;;-1:-1:-1::0;;;;;11159:15:0::1;-1:-1:-1::0;;;;;11159:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11141:55:0::1;;11205:4;11212:15;;;;;;;;;-1:-1:-1::0;;;;;11212:15:0::1;-1:-1:-1::0;;;;;11212:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11141:94;::::0;-1:-1:-1;;;;;;11141:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5972:15:1;;;11141:94:0::1;::::0;::::1;5954:34:1::0;6024:15;;6004:18;;;5997:43;5889:18;;11141:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11125:13;:110:::0;;-1:-1:-1;;;;;11125:110:0;;::::1;-1:-1:-1::0;;;;;;11125:110:0;;::::1;;::::0;;11246:15:::1;::::0;::::1;:31;11285:21;11316:4;11322:24;11316:4:::0;-1:-1:-1;;;;;6302:18:0;6275:7;6302:18;;;:9;:18;;;;;;;6209:119;11322:24:::1;11347:1;11349::::0;11351:7:::1;2806::::0;2833:6;-1:-1:-1;;;;;2833:6:0;;2768:79;11351:7:::1;11246:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11246:129:0;;;-1:-1:-1;;;;;6410:15:1;;;11246:129:0::1;::::0;::::1;6392:34:1::0;6442:18;;;6435:34;;;;6485:18;;;6478:34;;;;6528:18;;;6521:34;6592:15;;;6571:19;;;6564:44;11359:15:0::1;6624:19:1::0;;;6617:35;6326:19;;11246:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11393:13:0::1;::::0;11424:15:::1;::::0;11386:71:::1;::::0;-1:-1:-1;;;11386:71:0;;-1:-1:-1;;;;;11424:15:0;;::::1;11386:71;::::0;::::1;7148:51:1::0;-1:-1:-1;;7215:18:1;;;7208:34;11393:13:0;::::1;::::0;-1:-1:-1;11386:29:0::1;::::0;7121:18:1;;11386:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11468:11:0::1;:18:::0;;-1:-1:-1;;;;11497:18:0;-1:-1:-1;;;11497:18:0;;;10852:671::o;11537:218::-;11612:10;;;;;-1:-1:-1;;;;;11612:10:0;603;-1:-1:-1;;;;;11598:24:0;;11590:33;;;;;;11649:12;;11640:7;:21;;:47;;;;;11674:13;;11665:7;:22;;11640:47;11632:56;;;;;;11697:12;:20;;;11726:13;:21;11537:218::o;7152:335::-;-1:-1:-1;;;;;7245:19:0;;7237:68;;;;-1:-1:-1;;;7237:68:0;;7737:2:1;7237:68:0;;;7719:21:1;7776:2;7756:18;;;7749:30;7815:34;7795:18;;;7788:62;-1:-1:-1;;;7866:18:1;;;7859:34;7910:19;;7237:68:0;7535:400:1;7237:68:0;-1:-1:-1;;;;;7324:21:0;;7316:68;;;;-1:-1:-1;;;7316:68:0;;8142:2:1;7316:68:0;;;8124:21:1;8181:2;8161:18;;;8154:30;8220:34;8200:18;;;8193:62;-1:-1:-1;;;8271:18:1;;;8264:32;8313:19;;7316:68:0;7940:398:1;7316:68:0;-1:-1:-1;;;;;7395:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7447:32;;1361:25:1;;;7447:32:0;;1334:18:1;7447:32:0;;;;;;;7152:335;;;:::o;7495:2446::-;-1:-1:-1;;;;;7583:18:0;;7575:68;;;;-1:-1:-1;;;7575:68:0;;8545:2:1;7575:68:0;;;8527:21:1;8584:2;8564:18;;;8557:30;8623:34;8603:18;;;8596:62;-1:-1:-1;;;8674:18:1;;;8667:35;8719:19;;7575:68:0;8343:401:1;7575:68:0;-1:-1:-1;;;;;7662:16:0;;7654:64;;;;-1:-1:-1;;;7654:64:0;;8951:2:1;7654:64:0;;;8933:21:1;8990:2;8970:18;;;8963:30;9029:34;9009:18;;;9002:62;-1:-1:-1;;;9080:18:1;;;9073:33;9123:19;;7654:64:0;8749:399:1;7654:64:0;7746:1;7737:6;:10;7729:64;;;;-1:-1:-1;;;7729:64:0;;9355:2:1;7729:64:0;;;9337:21:1;9394:2;9374:18;;;9367:30;9433:34;9413:18;;;9406:62;-1:-1:-1;;;9484:18:1;;;9477:39;9533:19;;7729:64:0;9153:405:1;7729:64:0;7804:17;2833:6;;-1:-1:-1;;;;;7838:15:0;;;2833:6;;7838:15;;;;:32;;-1:-1:-1;2806:7:0;2833:6;-1:-1:-1;;;;;7857:13:0;;;2833:6;;7857:13;;7838:32;7834:1751;;;-1:-1:-1;;;;;7896:10:0;;;;;;:4;:10;;;;;;;;7895:11;:24;;;;-1:-1:-1;;;;;;7911:8:0;;;;;;:4;:8;;;;;;;;7910:9;7895:24;7887:33;;;;;;7947:76;8019:3;7947:67;7969:15;;7959:9;;:25;7958:55;;7999:14;;7958:55;;;7986:12;;7958:55;7947:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8044:20;;7935:88;;-1:-1:-1;8044:20:0;;8040:508;;;8105:15;;-1:-1:-1;;;;;8091:30:0;;;8105:15;;8091:30;;;;:62;;-1:-1:-1;8139:13:0;;-1:-1:-1;;;;;8125:28:0;;;8139:13;;8125:28;;8091:62;8087:444;;;8245:9;8216:39;;;;:28;:39;;;;;;8289:12;-1:-1:-1;8180:250:0;;;;-1:-1:-1;;;8180:250:0;;9765:2:1;8180:250:0;;;9747:21:1;9804:2;9784:18;;;9777:30;9843:34;9823:18;;;9816:62;9914:34;9894:18;;;9887:62;-1:-1:-1;;;9965:19:1;;;9958:40;10015:19;;8180:250:0;9563:477:1;8180:250:0;8484:9;8455:39;;;;:28;:39;;;;;8497:12;8455:54;;8087:444;8576:13;;-1:-1:-1;;;;;8568:21:0;;;8576:13;;8568:21;:55;;;;-1:-1:-1;8607:15:0;;-1:-1:-1;;;;;8593:30:0;;;8607:15;;8593:30;;8568:55;:83;;;;-1:-1:-1;;;;;;8629:22:0;;;;;;:18;:22;;;;;;;;8627:24;8568:83;8564:313;;;8691:12;;8681:6;:22;;8673:60;;;;-1:-1:-1;;;8673:60:0;;10247:2:1;8673:60:0;;;10229:21:1;10286:2;10266:18;;;10259:30;10325:27;10305:18;;;10298:55;10370:18;;8673:60:0;10045:349:1;8673:60:0;8786:14;;8776:6;8760:13;8770:2;-1:-1:-1;;;;;6302:18:0;6275:7;6302:18;;;:9;:18;;;;;;;6209:119;8760:13;:22;;;;:::i;:::-;:40;;8752:79;;;;-1:-1:-1;;;8752:79:0;;10731:2:1;8752:79:0;;;10713:21:1;10770:2;10750:18;;;10743:30;10809:28;10789:18;;;10782:56;10855:18;;8752:79:0;10529:350:1;8752:79:0;8850:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8564:313;8902:13;;-1:-1:-1;;;;;8896:19:0;;;8902:13;;8896:19;:43;;;;-1:-1:-1;;;;;;8919:20:0;;8934:4;8919:20;;8896:43;8893:174;;;8972:79;9047:3;8972:70;8994:16;;8984:9;;:26;8983:58;;9026:15;;8983:58;;;9012:13;;8972:6;;:10;:70::i;:79::-;8960:91;;8893:174;9132:4;9083:28;6302:18;;;:9;:18;;;;;;9158:6;;-1:-1:-1;;;9158:6:0;;;;9157:7;:32;;;;-1:-1:-1;9176:13:0;;-1:-1:-1;;;;;9168:21:0;;;9176:13;;9168:21;9157:32;:47;;;;-1:-1:-1;9193:11:0;;-1:-1:-1;;;9193:11:0;;;;9157:47;:89;;;;;9229:17;;9208:20;:38;9157:89;:121;;;;;9260:18;;9250:9;;:28;9157:121;9153:421;;;9299:67;9316:49;9320:6;9327:37;9331:20;9352:11;;9327:3;:37::i;:::-;9316:3;:49::i;:::-;9299:16;:67::i;:::-;9414:21;9457:22;;9454:105;;9504:35;9517:21;9504:12;:35::i;:::-;9280:294;9153:421;7872:1713;7834:1751;9600:11;;9597:161;;9668:4;9650:24;;;;:9;:24;;;;;;:39;;9679:9;9650:28;:39::i;:::-;9643:4;9625:24;;;;:9;:24;;;;;;;:64;;;;9707:39;;-1:-1:-1;;;;;9707:39:0;;;;;;;9736:9;1361:25:1;;1349:2;1334:18;;1215:177;9707:39:0;;;;;;;;9597:161;-1:-1:-1;;;;;9784:15:0;;;;;;:9;:15;;;;;;:27;;9804:6;9784:19;:27::i;:::-;-1:-1:-1;;;;;9768:15:0;;;;;;:9;:15;;;;;:43;9836:40;9854:21;:6;9865:9;9854:10;:21::i;:::-;-1:-1:-1;;;;;9836:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9822:13:0;;;;;;;:9;:13;;;;;:54;;;;9892:41;;;9911:21;:6;9922:9;9911:10;:21::i;:::-;9892:41;;1361:25:1;;;1349:2;1334:18;9892:41:0;;;;;;;7564:2377;7495:2446;;;:::o;1660:190::-;1746:7;1782:12;1774:6;;;;1766:29;;;;-1:-1:-1;;;1766:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1806:9:0;1818:5;1822:1;1818;:5;:::i;:::-;1806:17;1660:190;-1:-1:-1;;;;;1660:190:0:o;10057:483::-;5438:6;:13;;-1:-1:-1;;;;5438:13:0;-1:-1:-1;;;5438:13:0;;;10159:16:::1;::::0;;10173:1:::1;10159:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10159:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10159:16:0::1;10135:40;;10204:4;10186;10191:1;10186:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10186:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10230:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10230:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10186:7;;10230:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10220:4;10225:1;10220:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10220:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10295:15:::1;::::0;10263:62:::1;::::0;10280:4:::1;::::0;10295:15:::1;10313:11:::0;10263:8:::1;:62::i;:::-;10336:15;::::0;:196:::1;::::0;-1:-1:-1;;;10336:196:0;;-1:-1:-1;;;;;10336:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10417:11;;10336:15:::1;::::0;10459:4;;10486::::1;::::0;10506:15:::1;::::0;10336:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5474:6:0;:14;;-1:-1:-1;;;;5474:14:0;;;-1:-1:-1;;;;10057:483:0:o;10752:92::-;10809:10;;:27;;:10;;;;-1:-1:-1;;;;;10809:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1858:246;1916:7;1940:1;1945;1940:6;1936:47;;-1:-1:-1;1970:1:0;1963:8;;1936:47;1993:9;2005:5;2009:1;2005;:5;:::i;:::-;1993:17;-1:-1:-1;2038:1:0;2029:5;2033:1;1993:17;2029:5;:::i;:::-;:10;2021:56;;;;-1:-1:-1;;;2021:56:0;;12830:2:1;2021:56:0;;;12812:21:1;12869:2;12849:18;;;12842:30;12908:34;12888:18;;;12881:62;-1:-1:-1;;;12959:18:1;;;12952:31;13000:19;;2021:56:0;12628:397:1;2021:56:0;2095:1;1858:246;-1:-1:-1;;;1858:246:0:o;2112:132::-;2170:7;2197:39;2201:1;2204;2197:39;;;;;;;;;;;;;;;;;:3;:39::i;9951:98::-;10008:7;10035:1;10033;:3;10032:9;;10040:1;10032:9;;;-1:-1:-1;10038:1:0;9951:98;-1:-1:-1;9951:98:0:o;1329:179::-;1387:7;;1419:5;1423:1;1419;:5;:::i;:::-;1407:17;;1448:1;1443;:6;;1435:46;;;;-1:-1:-1;;;1435:46:0;;13232:2:1;1435:46:0;;;13214:21:1;13271:2;13251:18;;;13244:30;13310:29;13290:18;;;13283:57;13357:18;;1435:46:0;13030:351:1;1516:136:0;1574:7;1601:43;1605:1;1608;1601:43;;;;;;;;;;;;;;;;;:3;:43::i;2252:189::-;2338:7;2373:12;2366:5;2358:28;;;;-1:-1:-1;;;2358:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2397:9:0;2409:5;2413:1;2409;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:422;3306:1;3349:5;3306:1;3363:270;3384:7;3374:8;3371:21;3363:270;;;3443:4;3439:1;3435:6;3431:17;3425:4;3422:27;3419:53;;;3452:18;;:::i;:::-;3502:7;3492:8;3488:22;3485:55;;;3522:16;;;;3485:55;3601:22;;;;3561:15;;;;3363:270;;;3367:3;3217:422;;;;;:::o;3644:806::-;3693:5;3723:8;3713:80;;-1:-1:-1;3764:1:1;3778:5;;3713:80;3812:4;3802:76;;-1:-1:-1;3849:1:1;3863:5;;3802:76;3894:4;3912:1;3907:59;;;;3980:1;3975:130;;;;3887:218;;3907:59;3937:1;3928:10;;3951:5;;;3975:130;4012:3;4002:8;3999:17;3996:43;;;4019:18;;:::i;:::-;-1:-1:-1;;4075:1:1;4061:16;;4090:5;;3887:218;;4189:2;4179:8;4176:16;4170:3;4164:4;4161:13;4157:36;4151:2;4141:8;4138:16;4133:2;4127:4;4124:12;4120:35;4117:77;4114:159;;;-1:-1:-1;4226:19:1;;;4258:5;;4114:159;4305:34;4330:8;4324:4;4305:34;:::i;:::-;4375:6;4371:1;4367:6;4363:19;4354:7;4351:32;4348:58;;;4386:18;;:::i;:::-;4424:20;;3644:806;-1:-1:-1;;;3644:806:1:o;4455:140::-;4513:5;4542:47;4583:4;4573:8;4569:19;4563:4;4542:47;:::i;4600:168::-;4673:9;;;4704;;4721:15;;;4715:22;;4701:37;4691:71;;4742:18;;:::i;4773:356::-;4975:2;4957:21;;;4994:18;;;4987:30;5053:34;5048:2;5033:18;;5026:62;5120:2;5105:18;;4773:356::o;5486:251::-;5556:6;5609:2;5597:9;5588:7;5584:23;5580:32;5577:52;;;5625:1;5622;5615:12;5577:52;5657:9;5651:16;5676:31;5701:5;5676:31;:::i;6663:306::-;6751:6;6759;6767;6820:2;6808:9;6799:7;6795:23;6791:32;6788:52;;;6836:1;6833;6826:12;6788:52;6865:9;6859:16;6849:26;;6915:2;6904:9;6900:18;6894:25;6884:35;;6959:2;6948:9;6944:18;6938:25;6928:35;;6663:306;;;;;:::o;7253:277::-;7320:6;7373:2;7361:9;7352:7;7348:23;7344:32;7341:52;;;7389:1;7386;7379:12;7341:52;7421:9;7415:16;7474:5;7467:13;7460:21;7453:5;7450:32;7440:60;;7496:1;7493;7486:12;10399:125;10464:9;;;10485:10;;;10482:36;;;10498:18;;:::i;10884:135::-;10923:3;10944:17;;;10941:43;;10964:18;;:::i;:::-;-1:-1:-1;11011:1:1;11000:13;;10884:135::o;11024:128::-;11091:9;;;11112:11;;;11109:37;;;11126:18;;:::i;11289:127::-;11350:10;11345:3;11341:20;11338:1;11331:31;11381:4;11378:1;11371:15;11405:4;11402:1;11395:15;11421:980;11683:4;11731:3;11720:9;11716:19;11762:6;11751:9;11744:25;11788:2;11826:6;11821:2;11810:9;11806:18;11799:34;11869:3;11864:2;11853:9;11849:18;11842:31;11893:6;11928;11922:13;11959:6;11951;11944:22;11997:3;11986:9;11982:19;11975:26;;12036:2;12028:6;12024:15;12010:29;;12057:1;12067:195;12081:6;12078:1;12075:13;12067:195;;;12146:13;;-1:-1:-1;;;;;12142:39:1;12130:52;;12237:15;;;;12202:12;;;;12178:1;12096:9;12067:195;;;-1:-1:-1;;;;;;;12318:32:1;;;;12313:2;12298:18;;12291:60;-1:-1:-1;;;12382:3:1;12367:19;12360:35;12279:3;11421:980;-1:-1:-1;;;11421:980:1:o;12406:217::-;12446:1;12472;12462:132;;12516:10;12511:3;12507:20;12504:1;12497:31;12551:4;12548:1;12541:15;12579:4;12576:1;12569:15;12462:132;-1:-1:-1;12608:9:1;;12406:217::o

Swarm Source

ipfs://c7d825417ca7bb41bdfb40f378dbbda2b5f80cfe8f1f8d544fdf93c66be69587

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.