ETH Price: $2,823.59 (+7.35%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve210212072024-10-22 12:45:5915 days ago1729601159IN
0x32111B93...14c6d6564
0 ETH0.000242129.96517762
Approve182590132023-10-01 23:37:59402 days ago1696203479IN
0x32111B93...14c6d6564
0 ETH0.000200388.26783995
Approve181758942023-09-20 8:25:23414 days ago1695198323IN
0x32111B93...14c6d6564
0 ETH0.000495910.69294687
Approve174299302023-06-07 17:19:11518 days ago1686158351IN
0x32111B93...14c6d6564
0 ETH0.0012169526.12551206
Approve173394892023-05-25 23:42:47531 days ago1685058167IN
0x32111B93...14c6d6564
0 ETH0.0013443728.86095848
Approve173341502023-05-25 5:40:59532 days ago1684993259IN
0x32111B93...14c6d6564
0 ETH0.0019345541.58448177
Approve173305782023-05-24 17:37:59532 days ago1684949879IN
0x32111B93...14c6d6564
0 ETH0.0027666759.39492969
Approve173298422023-05-24 15:09:35532 days ago1684940975IN
0x32111B93...14c6d6564
0 ETH0.003239169.62666371
Approve173296982023-05-24 14:40:35532 days ago1684939235IN
0x32111B93...14c6d6564
0 ETH0.0028584161.36439658
Approve173291822023-05-24 12:56:11532 days ago1684932971IN
0x32111B93...14c6d6564
0 ETH0.0023801751.16337907
Approve173291462023-05-24 12:48:59532 days ago1684932539IN
0x32111B93...14c6d6564
0 ETH0.002127345.66892255
Approve173289822023-05-24 12:15:59532 days ago1684930559IN
0x32111B93...14c6d6564
0 ETH0.0019465841.78928325
Approve173289802023-05-24 12:15:35532 days ago1684930535IN
0x32111B93...14c6d6564
0 ETH0.0018411939.52666807
Approve173289572023-05-24 12:10:47532 days ago1684930247IN
0x32111B93...14c6d6564
0 ETH0.0020966645.01116856
Approve173289432023-05-24 12:07:59532 days ago1684930079IN
0x32111B93...14c6d6564
0 ETH0.0016446535.60084415
Approve173289382023-05-24 12:06:59532 days ago1684930019IN
0x32111B93...14c6d6564
0 ETH0.0018084138.8229888
Approve173289282023-05-24 12:04:59532 days ago1684929899IN
0x32111B93...14c6d6564
0 ETH0.0020961445
Approve173289222023-05-24 12:03:47532 days ago1684929827IN
0x32111B93...14c6d6564
0 ETH0.0016790936.28983408
Approve173289132023-05-24 12:01:59532 days ago1684929719IN
0x32111B93...14c6d6564
0 ETH0.0019024740.84235694
Approve173288862023-05-24 11:56:23532 days ago1684929383IN
0x32111B93...14c6d6564
0 ETH0.0017431537.42198531
Approve173288842023-05-24 11:55:59532 days ago1684929359IN
0x32111B93...14c6d6564
0 ETH0.001839339.48626395
Approve173288832023-05-24 11:55:47532 days ago1684929347IN
0x32111B93...14c6d6564
0 ETH0.0015668433.63705681
Approve173288782023-05-24 11:54:47532 days ago1684929287IN
0x32111B93...14c6d6564
0 ETH0.0016392635.23712112
Approve173288782023-05-24 11:54:47532 days ago1684929287IN
0x32111B93...14c6d6564
0 ETH0.001814539.00393022
Approve173288772023-05-24 11:54:35532 days ago1684929275IN
0x32111B93...14c6d6564
0 ETH0.0016941836.37077114
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
173287082023-05-24 11:20:11533 days ago1684927211
0x32111B93...14c6d6564
0.08638398 ETH
173287082023-05-24 11:20:11533 days ago1684927211
0x32111B93...14c6d6564
0.08638398 ETH
173287072023-05-24 11:19:59533 days ago1684927199
0x32111B93...14c6d6564
0.02961176 ETH
173287072023-05-24 11:19:59533 days ago1684927199
0x32111B93...14c6d6564
0.02961176 ETH
173287072023-05-24 11:19:59533 days ago1684927199
0x32111B93...14c6d6564
0.12887677 ETH
173287072023-05-24 11:19:59533 days ago1684927199
0x32111B93...14c6d6564
0.12887677 ETH
173287072023-05-24 11:19:59533 days ago1684927199
0x32111B93...14c6d6564
0.20148075 ETH
173287072023-05-24 11:19:59533 days ago1684927199
0x32111B93...14c6d6564
0.20148075 ETH
173286982023-05-24 11:18:11533 days ago1684927091
0x32111B93...14c6d6564
0.17628394 ETH
173286982023-05-24 11:18:11533 days ago1684927091
0x32111B93...14c6d6564
0.17628394 ETH
173285952023-05-24 10:57:11533 days ago1684925831
0x32111B93...14c6d6564
0.04460144 ETH
173285952023-05-24 10:57:11533 days ago1684925831
0x32111B93...14c6d6564
0.04460144 ETH
173285942023-05-24 10:56:59533 days ago1684925819
0x32111B93...14c6d6564
0.07295247 ETH
173285942023-05-24 10:56:59533 days ago1684925819
0x32111B93...14c6d6564
0.07295247 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.03712222 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.03712222 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.03044688 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.03044688 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.04113788 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.04113788 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.03915775 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.03915775 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.04668464 ETH
173285852023-05-24 10:55:11533 days ago1684925711
0x32111B93...14c6d6564
0.04668464 ETH
173285802023-05-24 10:54:11533 days ago1684925651
0x32111B93...14c6d6564
0.02068848 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BernieSanders

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-24
*/

// SPDX-License-Identifier: MIT
/**

Bernie Sanders - 0% TAX

Bernie Sanders is a prominent American politician known for his progressive views and advocacy for social justice issues. He has been a vocal advocate for healthcare reform, income inequality reduction, and climate action. 

Twitter: https://twitter.com/BernieEther
Telegram: https://t.me/BernieETH

**/
pragma solidity 0.8.19;

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 BernieSanders 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 = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=1;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"Bernie Sanders";
    string private constant _symbol = unicode"BERNIE";
    uint256 public _maxTxAmount =   25000 * 10**_decimals;
    uint256 public _maxWalletSize = 25000 * 10**_decimals;
    uint256 public _taxSwapThreshold=4000 * 10**_decimals;
    uint256 public _maxTaxSwap=8000 * 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]);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer 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++;
            }


            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            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 {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        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 isBot(address a) public view returns (bool){
      return bots[a];
    }

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

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

    
    
    function reduceFee(uint256 _newFee) external{
      require(_buyCount>1);
      require(_newFee<=_finalSellTax && _newFee<=_finalBuyTax);
      _finalSellTax=_newFee;
      _finalBuyTax=_newFee;
    }
}

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":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526006805460ff1916905560196007819055600890815560006009819055600a8181556001600b819055600c55600d819055600e919091556200004791906200034a565b62000055906161a862000362565b600f55620000666008600a6200034a565b62000074906161a862000362565b601055620000856008600a6200034a565b6200009390610fa062000362565b601155620000a46008600a6200034a565b620000b290611f4062000362565b6012556014805461ffff60a81b19169055348015620000d057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001376008600a6200034a565b6200014690620f424062000362565b336000908152600160208190526040822092909255600390620001716000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001d53390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020f6008600a6200034a565b6200021e90620f424062000362565b60405190815260200160405180910390a36200037c565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200028c57816000190482111562000270576200027062000235565b808516156200027e57918102915b93841c939080029062000250565b509250929050565b600082620002a55750600162000344565b81620002b45750600062000344565b8160018114620002cd5760028114620002d857620002f8565b600191505062000344565b60ff841115620002ec57620002ec62000235565b50506001821b62000344565b5060208310610133831016604e8410600b84101617156200031d575081810a62000344565b6200032983836200024b565b806000190482111562000340576200034062000235565b0290505b92915050565b60006200035b60ff84168362000294565b9392505050565b808202811582820484141762000344576200034462000235565b611973806200038c6000396000f3fe60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb1461035b578063bf474bed1461037b578063c876d0b914610391578063c9567bf9146103ab578063dd62ed3e146103c0578063ec1f3f631461040657600080fd5b8063751039fc146102c35780637d1db4a5146102d85780638da5cb5b146102ee5780638f9a55c01461031657806395d89b411461032c57600080fd5b8063313ce567116100f2578063313ce5671461020c5780633bbac5791461022857806351bc3c851461026157806370a0823114610278578063715018a6146102ae57600080fd5b806306fdde031461013a578063095ea7b3146101835780630faee56f146101b357806318160ddd146101d757806323b872dd146101ec57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600e81526d4265726e69652053616e6465727360901b60208201525b60405161017a9190611529565b60405180910390f35b34801561018f57600080fd5b506101a361019e36600461158f565b610426565b604051901515815260200161017a565b3480156101bf57600080fd5b506101c960125481565b60405190815260200161017a565b3480156101e357600080fd5b506101c961043d565b3480156101f857600080fd5b506101a36102073660046115bb565b61045d565b34801561021857600080fd5b506040516008815260200161017a565b34801561023457600080fd5b506101a36102433660046115fc565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561026d57600080fd5b506102766104c6565b005b34801561028457600080fd5b506101c96102933660046115fc565b6001600160a01b031660009081526001602052604090205490565b3480156102ba57600080fd5b5061027661051e565b3480156102cf57600080fd5b5061027661059b565b3480156102e457600080fd5b506101c9600f5481565b3480156102fa57600080fd5b506000546040516001600160a01b03909116815260200161017a565b34801561032257600080fd5b506101c960105481565b34801561033857600080fd5b506040805180820190915260068152654245524e494560d01b602082015261016d565b34801561036757600080fd5b506101a361037636600461158f565b610654565b34801561038757600080fd5b506101c960115481565b34801561039d57600080fd5b506006546101a39060ff1681565b3480156103b757600080fd5b50610276610661565b3480156103cc57600080fd5b506101c96103db366004611619565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561041257600080fd5b50610276610421366004611652565b610a1c565b6000610433338484610a52565b5060015b92915050565b600061044b6008600a611765565b61045890620f4240611774565b905090565b600061046a848484610b76565b6104bc84336104b785604051806060016040528060288152602001611916602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061116f565b610a52565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104eb57600080fd5b30600090815260016020526040902054801561050a5761050a816111a9565b47801561051a5761051a8161133c565b5050565b6000546001600160a01b031633146105515760405162461bcd60e51b81526004016105489061178b565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105c55760405162461bcd60e51b81526004016105489061178b565b6105d16008600a611765565b6105de90620f4240611774565b600f556105ed6008600a611765565b6105fa90620f4240611774565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106346008600a611765565b61064190620f4240611774565b60405190815260200160405180910390a1565b6000610433338484610b76565b6000546001600160a01b0316331461068b5760405162461bcd60e51b81526004016105489061178b565b601454600160a01b900460ff16156106e55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610548565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561072d9030906107206008600a611765565b6104b790620f4240611774565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a491906117c0565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082a91906117c0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089b91906117c0565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108e3816001600160a01b031660009081526001602052604090205490565b6000806108f86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610960573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061098591906117dd565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a02919061180b565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600e5411610a2b57600080fd5b600a548111158015610a3f57506009548111155b610a4857600080fd5b600a819055600955565b6001600160a01b038316610ab45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610548565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610548565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610548565b6001600160a01b038216610c3c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610548565b60008111610c9e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610548565b600080546001600160a01b03858116911614801590610ccb57506000546001600160a01b03848116911614155b1561102c576001600160a01b03841660009081526004602052604090205460ff16158015610d1257506001600160a01b03831660009081526004602052604090205460ff16155b610d1b57600080fd5b60065460ff1615610dd4576013546001600160a01b03848116911614801590610d5257506014546001600160a01b03848116911614155b15610dd457326000908152600560205260409020544311610dc15760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610548565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610dff57506013546001600160a01b03848116911614155b8015610e2457506001600160a01b03831660009081526003602052604090205460ff16155b15610f0c57600f54821115610e7b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610548565b60105482610e9e856001600160a01b031660009081526001602052604090205490565b610ea8919061182d565b1115610ef65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610548565b600e8054906000610f0683611840565b91905055505b610f386064610f32600b54600e5411610f2757600754610f2b565b6009545b859061137a565b90611403565b6014549091506001600160a01b038481169116148015610f6157506001600160a01b0384163014155b15610f8e57610f8b6064610f32600c54600e5411610f8157600854610f2b565b600a54859061137a565b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610fc557506014546001600160a01b038581169116145b8015610fda5750601454600160b01b900460ff165b8015610fe7575060115481115b8015610ff65750600d54600e54115b1561102a576110186110138461100e84601254611445565b611445565b6111a9565b478015611028576110284761133c565b505b505b80156110a6573060009081526001602052604090205461104c908261145a565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061109d9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546110c990836114b9565b6001600160a01b03851660009081526001602052604090205561110e6110ef83836114b9565b6001600160a01b0385166000908152600160205260409020549061145a565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61115885856114b9565b60405190815260200160405180910390a350505050565b600081848411156111935760405162461bcd60e51b81526004016105489190611529565b5060006111a08486611859565b95945050505050565b6014805460ff60a81b1916600160a81b179055801561132c57601454600160a01b900460ff161561132c5760408051600280825260608201835260009260208301908036833701905050905030816000815181106112095761120961186c565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128691906117c0565b816001815181106112995761129961186c565b6001600160a01b0392831660209182029290920101526013546112bf9130911684610a52565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112f8908590600090869030904290600401611882565b600060405180830381600087803b15801561131257600080fd5b505af1158015611326573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561051a573d6000803e3d6000fd5b60008260000361138c57506000610437565b60006113988385611774565b9050826113a585836118f3565b146113fc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610548565b9392505050565b60006113fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114fb565b600081831161145457826113fc565b50919050565b600080611467838561182d565b9050838110156113fc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610548565b60006113fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061116f565b6000818361151c5760405162461bcd60e51b81526004016105489190611529565b5060006111a084866118f3565b600060208083528351808285015260005b818110156115565785810183015185820160400152820161153a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461158c57600080fd5b50565b600080604083850312156115a257600080fd5b82356115ad81611577565b946020939093013593505050565b6000806000606084860312156115d057600080fd5b83356115db81611577565b925060208401356115eb81611577565b929592945050506040919091013590565b60006020828403121561160e57600080fd5b81356113fc81611577565b6000806040838503121561162c57600080fd5b823561163781611577565b9150602083013561164781611577565b809150509250929050565b60006020828403121561166457600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116bc5781600019048211156116a2576116a261166b565b808516156116af57918102915b93841c9390800290611686565b509250929050565b6000826116d357506001610437565b816116e057506000610437565b81600181146116f657600281146117005761171c565b6001915050610437565b60ff8411156117115761171161166b565b50506001821b610437565b5060208310610133831016604e8410600b841016171561173f575081810a610437565b6117498383611681565b806000190482111561175d5761175d61166b565b029392505050565b60006113fc60ff8416836116c4565b80820281158282048414176104375761043761166b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117d257600080fd5b81516113fc81611577565b6000806000606084860312156117f257600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561181d57600080fd5b815180151581146113fc57600080fd5b808201808211156104375761043761166b565b6000600182016118525761185261166b565b5060010190565b818103818111156104375761043761166b565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118d25784516001600160a01b0316835293830193918301916001016118ad565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261191057634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122079826a0316059b4728e15e17f6e4aab84c3d30a6f8bfe828bab524e953ff217864736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb1461035b578063bf474bed1461037b578063c876d0b914610391578063c9567bf9146103ab578063dd62ed3e146103c0578063ec1f3f631461040657600080fd5b8063751039fc146102c35780637d1db4a5146102d85780638da5cb5b146102ee5780638f9a55c01461031657806395d89b411461032c57600080fd5b8063313ce567116100f2578063313ce5671461020c5780633bbac5791461022857806351bc3c851461026157806370a0823114610278578063715018a6146102ae57600080fd5b806306fdde031461013a578063095ea7b3146101835780630faee56f146101b357806318160ddd146101d757806323b872dd146101ec57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600e81526d4265726e69652053616e6465727360901b60208201525b60405161017a9190611529565b60405180910390f35b34801561018f57600080fd5b506101a361019e36600461158f565b610426565b604051901515815260200161017a565b3480156101bf57600080fd5b506101c960125481565b60405190815260200161017a565b3480156101e357600080fd5b506101c961043d565b3480156101f857600080fd5b506101a36102073660046115bb565b61045d565b34801561021857600080fd5b506040516008815260200161017a565b34801561023457600080fd5b506101a36102433660046115fc565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561026d57600080fd5b506102766104c6565b005b34801561028457600080fd5b506101c96102933660046115fc565b6001600160a01b031660009081526001602052604090205490565b3480156102ba57600080fd5b5061027661051e565b3480156102cf57600080fd5b5061027661059b565b3480156102e457600080fd5b506101c9600f5481565b3480156102fa57600080fd5b506000546040516001600160a01b03909116815260200161017a565b34801561032257600080fd5b506101c960105481565b34801561033857600080fd5b506040805180820190915260068152654245524e494560d01b602082015261016d565b34801561036757600080fd5b506101a361037636600461158f565b610654565b34801561038757600080fd5b506101c960115481565b34801561039d57600080fd5b506006546101a39060ff1681565b3480156103b757600080fd5b50610276610661565b3480156103cc57600080fd5b506101c96103db366004611619565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561041257600080fd5b50610276610421366004611652565b610a1c565b6000610433338484610a52565b5060015b92915050565b600061044b6008600a611765565b61045890620f4240611774565b905090565b600061046a848484610b76565b6104bc84336104b785604051806060016040528060288152602001611916602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061116f565b610a52565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104eb57600080fd5b30600090815260016020526040902054801561050a5761050a816111a9565b47801561051a5761051a8161133c565b5050565b6000546001600160a01b031633146105515760405162461bcd60e51b81526004016105489061178b565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105c55760405162461bcd60e51b81526004016105489061178b565b6105d16008600a611765565b6105de90620f4240611774565b600f556105ed6008600a611765565b6105fa90620f4240611774565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106346008600a611765565b61064190620f4240611774565b60405190815260200160405180910390a1565b6000610433338484610b76565b6000546001600160a01b0316331461068b5760405162461bcd60e51b81526004016105489061178b565b601454600160a01b900460ff16156106e55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610548565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561072d9030906107206008600a611765565b6104b790620f4240611774565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a491906117c0565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082a91906117c0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089b91906117c0565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108e3816001600160a01b031660009081526001602052604090205490565b6000806108f86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610960573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061098591906117dd565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a02919061180b565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600e5411610a2b57600080fd5b600a548111158015610a3f57506009548111155b610a4857600080fd5b600a819055600955565b6001600160a01b038316610ab45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610548565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610548565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610548565b6001600160a01b038216610c3c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610548565b60008111610c9e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610548565b600080546001600160a01b03858116911614801590610ccb57506000546001600160a01b03848116911614155b1561102c576001600160a01b03841660009081526004602052604090205460ff16158015610d1257506001600160a01b03831660009081526004602052604090205460ff16155b610d1b57600080fd5b60065460ff1615610dd4576013546001600160a01b03848116911614801590610d5257506014546001600160a01b03848116911614155b15610dd457326000908152600560205260409020544311610dc15760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610548565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610dff57506013546001600160a01b03848116911614155b8015610e2457506001600160a01b03831660009081526003602052604090205460ff16155b15610f0c57600f54821115610e7b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610548565b60105482610e9e856001600160a01b031660009081526001602052604090205490565b610ea8919061182d565b1115610ef65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610548565b600e8054906000610f0683611840565b91905055505b610f386064610f32600b54600e5411610f2757600754610f2b565b6009545b859061137a565b90611403565b6014549091506001600160a01b038481169116148015610f6157506001600160a01b0384163014155b15610f8e57610f8b6064610f32600c54600e5411610f8157600854610f2b565b600a54859061137a565b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610fc557506014546001600160a01b038581169116145b8015610fda5750601454600160b01b900460ff165b8015610fe7575060115481115b8015610ff65750600d54600e54115b1561102a576110186110138461100e84601254611445565b611445565b6111a9565b478015611028576110284761133c565b505b505b80156110a6573060009081526001602052604090205461104c908261145a565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061109d9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546110c990836114b9565b6001600160a01b03851660009081526001602052604090205561110e6110ef83836114b9565b6001600160a01b0385166000908152600160205260409020549061145a565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61115885856114b9565b60405190815260200160405180910390a350505050565b600081848411156111935760405162461bcd60e51b81526004016105489190611529565b5060006111a08486611859565b95945050505050565b6014805460ff60a81b1916600160a81b179055801561132c57601454600160a01b900460ff161561132c5760408051600280825260608201835260009260208301908036833701905050905030816000815181106112095761120961186c565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128691906117c0565b816001815181106112995761129961186c565b6001600160a01b0392831660209182029290920101526013546112bf9130911684610a52565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112f8908590600090869030904290600401611882565b600060405180830381600087803b15801561131257600080fd5b505af1158015611326573d6000803e3d6000fd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561051a573d6000803e3d6000fd5b60008260000361138c57506000610437565b60006113988385611774565b9050826113a585836118f3565b146113fc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610548565b9392505050565b60006113fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114fb565b600081831161145457826113fc565b50919050565b600080611467838561182d565b9050838110156113fc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610548565b60006113fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061116f565b6000818361151c5760405162461bcd60e51b81526004016105489190611529565b5060006111a084866118f3565b600060208083528351808285015260005b818110156115565785810183015185820160400152820161153a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461158c57600080fd5b50565b600080604083850312156115a257600080fd5b82356115ad81611577565b946020939093013593505050565b6000806000606084860312156115d057600080fd5b83356115db81611577565b925060208401356115eb81611577565b929592945050506040919091013590565b60006020828403121561160e57600080fd5b81356113fc81611577565b6000806040838503121561162c57600080fd5b823561163781611577565b9150602083013561164781611577565b809150509250929050565b60006020828403121561166457600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116bc5781600019048211156116a2576116a261166b565b808516156116af57918102915b93841c9390800290611686565b509250929050565b6000826116d357506001610437565b816116e057506000610437565b81600181146116f657600281146117005761171c565b6001915050610437565b60ff8411156117115761171161166b565b50506001821b610437565b5060208310610133831016604e8410600b841016171561173f575081810a610437565b6117498383611681565b806000190482111561175d5761175d61166b565b029392505050565b60006113fc60ff8416836116c4565b80820281158282048414176104375761043761166b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156117d257600080fd5b81516113fc81611577565b6000806000606084860312156117f257600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561181d57600080fd5b815180151581146113fc57600080fd5b808201808211156104375761043761166b565b6000600182016118525761185261166b565b5060010190565b818103818111156104375761043761166b565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118d25784516001600160a01b0316835293830193918301916001016118ad565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261191057634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122079826a0316059b4728e15e17f6e4aab84c3d30a6f8bfe828bab524e953ff217864736f6c63430008130033

Deployed Bytecode Sourcemap

3815:8244:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5743:83;;;;;;;;;;-1:-1:-1;5813:5:0;;;;;;;;;;;;-1:-1:-1;;;5813:5:0;;;;5743:83;;;;;;;:::i;:::-;;;;;;;;6576:161;;;;;;;;;;-1:-1:-1;6576:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6576:161:0;1023:187:1;5023:47:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5023:47:0;1215:177:1;6020:95:0;;;;;;;;;;;;;:::i;6745:313::-;;;;;;;;;;-1:-1:-1;6745:313:0;;;;;:::i;:::-;;:::i;5929:83::-;;;;;;;;;;-1:-1:-1;5929:83:0;;4652:1;2000:36:1;;1988:2;1973:18;5929:83:0;1858:184:1;10676:83:0;;;;;;;;;;-1:-1:-1;10676:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;10744:7:0;10723:4;10744:7;;;:4;:7;;;;;;;;;10676:83;11483:348;;;;;;;;;;;;;:::i;:::-;;6123:119;;;;;;;;;;-1:-1:-1;6123:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6216:18:0;6189:7;6216:18;;;:9;:18;;;;;;;6123:119;2896:148;;;;;;;;;;;;;:::i;10372:196::-;;;;;;;;;;;;;:::i;4843:53::-;;;;;;;;;;;;;;;;2682:79;;;;;;;;;;-1:-1:-1;2720:7:0;2747:6;2682:79;;-1:-1:-1;;;;;2747:6:0;;;2445:51:1;;2433:2;2418:18;2682:79:0;2299:203:1;4903:53:0;;;;;;;;;;;;;;;;5834:87;;;;;;;;;;-1:-1:-1;5906:7:0;;;;;;;;;;;;-1:-1:-1;;;5906:7:0;;;;5834:87;;6250:167;;;;;;;;;;-1:-1:-1;6250:167:0;;;;;:::i;:::-;;:::i;4963:53::-;;;;;;;;;;;;;;;;4210:40;;;;;;;;;;-1:-1:-1;4210:40:0;;;;;;;;10767:671;;;;;;;;;;;;;:::i;6425:143::-;;;;;;;;;;-1:-1:-1;6425:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6533:18:0;;;6506:7;6533:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6425:143;11851:205;;;;;;;;;;-1:-1:-1;11851:205:0;;;;;:::i;:::-;;:::i;6576:161::-;6651:4;6668:39;517:10;6691:7;6700:6;6668:8;:39::i;:::-;-1:-1:-1;6725:4:0;6576:161;;;;;:::o;6020:95::-;6073:7;4705:13;4652:1;4705:2;:13;:::i;:::-;4695:23;;:7;:23;:::i;:::-;6093:14;;6020:95;:::o;6745:313::-;6843:4;6860:36;6870:6;6878:9;6889:6;6860:9;:36::i;:::-;6907:121;6916:6;517:10;6938:89;6976:6;6938:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6938:19:0;;;;;;:11;:19;;;;;;;;517:10;6938:33;;;;;;;;;;:37;:89::i;:::-;6907:8;:121::i;:::-;-1:-1:-1;7046:4:0;6745:313;;;;;:::o;11483:348::-;11547:10;;;;;-1:-1:-1;;;;;11547:10:0;517;-1:-1:-1;;;;;11533:24:0;;11525:33;;;;;;11608:4;11569:20;6216:18;;;:9;:18;;;;;;11628:14;;11625:73;;11656:30;11673:12;11656:16;:30::i;:::-;11727:21;11762:12;;11759:65;;11788:24;11801:10;11788:12;:24::i;:::-;11514:317;;11483:348::o;2896:148::-;2809:6;;-1:-1:-1;;;;;2809:6:0;517:10;2809:22;2801:67;;;;-1:-1:-1;;;2801:67:0;;;;;;;:::i;:::-;;;;;;;;;3003:1:::1;2987:6:::0;;2966:40:::1;::::0;-1:-1:-1;;;;;2987:6:0;;::::1;::::0;2966:40:::1;::::0;3003:1;;2966:40:::1;3034:1;3017:19:::0;;-1:-1:-1;;;;;;3017:19:0::1;::::0;;2896:148::o;10372:196::-;2809:6;;-1:-1:-1;;;;;2809:6:0;517:10;2809:22;2801:67;;;;-1:-1:-1;;;2801:67:0;;;;;;;:::i;:::-;4705:13:::1;4652:1;4705:2;:13;:::i;:::-;4695:23;::::0;:7:::1;:23;:::i;:::-;10425:12;:22:::0;4705:13:::1;4652:1;4705:2;:13;:::i;:::-;4695:23;::::0;:7:::1;:23;:::i;:::-;10458:14;:22:::0;10491:20:::1;:26:::0;;-1:-1:-1;;10491:26:0::1;::::0;;10533:27:::1;4705:13;4652:1;-1:-1:-1::0;4705:13:0::1;:::i;:::-;4695:23;::::0;:7:::1;:23;:::i;:::-;10533:27;::::0;1361:25:1;;;1349:2;1334:18;10533:27:0::1;;;;;;;10372:196::o:0;6250:167::-;6328:4;6345:42;517:10;6369:9;6380:6;6345:9;:42::i;10767:671::-;2809:6;;-1:-1:-1;;;;;2809:6:0;517:10;2809:22;2801:67;;;;-1:-1:-1;;;2801:67:0;;;;;;;:::i;:::-;10831:11:::1;::::0;-1:-1:-1;;;10831:11:0;::::1;;;10830:12;10822:47;;;::::0;-1:-1:-1;;;10822:47:0;;5336:2:1;10822:47:0::1;::::0;::::1;5318:21:1::0;5375:2;5355:18;;;5348:30;5414:25;5394:18;;;5387:53;5457:18;;10822:47:0::1;5134:347:1::0;10822:47:0::1;10880:15;:80:::0;;-1:-1:-1;;;;;;10880:80:0::1;10917:42;10880:80:::0;;::::1;::::0;;;10971:58:::1;::::0;10988:4:::1;::::0;4705:13:::1;4652:1;4705:2;:13;:::i;:::-;4695:23;::::0;:7:::1;:23;:::i;10971:58::-;11074:15;;;;;;;;;-1:-1:-1::0;;;;;11074:15:0::1;-1:-1:-1::0;;;;;11074:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11056:55:0::1;;11120:4;11127:15;;;;;;;;;-1:-1:-1::0;;;;;11127:15:0::1;-1:-1:-1::0;;;;;11127:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11056:94;::::0;-1:-1:-1;;;;;;11056:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5972:15:1;;;11056:94:0::1;::::0;::::1;5954:34:1::0;6024:15;;6004:18;;;5997:43;5889:18;;11056:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11040:13;:110:::0;;-1:-1:-1;;;;;11040:110:0;;::::1;-1:-1:-1::0;;;;;;11040:110:0;;::::1;;::::0;;11161:15:::1;::::0;::::1;:31;11200:21;11231:4;11237:24;11231:4:::0;-1:-1:-1;;;;;6216:18:0;6189:7;6216:18;;;:9;:18;;;;;;;6123:119;11237:24:::1;11262:1;11264::::0;11266:7:::1;2720::::0;2747:6;-1:-1:-1;;;;;2747:6:0;;2682:79;11266:7:::1;11161:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11161:129:0;;;-1:-1:-1;;;;;6410:15:1;;;11161: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;11274:15:0::1;6624:19:1::0;;;6617:35;6326:19;;11161:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11308:13:0::1;::::0;11339:15:::1;::::0;11301:71:::1;::::0;-1:-1:-1;;;11301:71:0;;-1:-1:-1;;;;;11339:15:0;;::::1;11301:71;::::0;::::1;7148:51:1::0;-1:-1:-1;;7215:18:1;;;7208:34;11308:13:0;::::1;::::0;-1:-1:-1;11301:29:0::1;::::0;7121:18:1;;11301:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11383:11:0::1;:18:::0;;-1:-1:-1;;;;11412:18:0;-1:-1:-1;;;11412:18:0;;;10767:671::o;11851:205::-;11922:1;11912:9;;:11;11904:20;;;;;;11950:13;;11941:7;:22;;:47;;;;;11976:12;;11967:7;:21;;11941:47;11933:56;;;;;;11998:13;:21;;;12028:12;:20;11851:205::o;7066:335::-;-1:-1:-1;;;;;7159:19:0;;7151:68;;;;-1:-1:-1;;;7151:68:0;;7737:2:1;7151: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;;7151:68:0;7535:400:1;7151:68:0;-1:-1:-1;;;;;7238:21:0;;7230:68;;;;-1:-1:-1;;;7230:68:0;;8142:2:1;7230: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;;7230:68:0;7940:398:1;7230:68:0;-1:-1:-1;;;;;7309:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7361:32;;1361:25:1;;;7361:32:0;;1334:18:1;7361:32:0;;;;;;;7066:335;;;:::o;7409:2284::-;-1:-1:-1;;;;;7497:18:0;;7489:68;;;;-1:-1:-1;;;7489:68:0;;8545:2:1;7489: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;;7489:68:0;8343:401:1;7489:68:0;-1:-1:-1;;;;;7576:16:0;;7568:64;;;;-1:-1:-1;;;7568:64:0;;8951:2:1;7568: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;;7568:64:0;8749:399:1;7568:64:0;7660:1;7651:6;:10;7643:64;;;;-1:-1:-1;;;7643:64:0;;9355:2:1;7643: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;;7643:64:0;9153:405:1;7643:64:0;7718:17;2747:6;;-1:-1:-1;;;;;7752:15:0;;;2747:6;;7752:15;;;;:32;;-1:-1:-1;2720:7:0;2747:6;-1:-1:-1;;;;;7771:13:0;;;2747:6;;7771:13;;7752:32;7748:1589;;;-1:-1:-1;;;;;7810:10:0;;;;;;:4;:10;;;;;;;;7809:11;:24;;;;-1:-1:-1;;;;;;7825:8:0;;;;;;:4;:8;;;;;;;;7824:9;7809:24;7801:33;;;;;;7855:20;;;;7851:346;;;7914:15;;-1:-1:-1;;;;;7900:30:0;;;7914:15;;7900:30;;;;:62;;-1:-1:-1;7948:13:0;;-1:-1:-1;;;;;7934:28:0;;;7948:13;;7934:28;;7900:62;7896:286;;;8022:9;7993:39;;;;:28;:39;;;;;;8035:12;-1:-1:-1;7985:102:0;;;;-1:-1:-1;;;7985:102:0;;9765:2:1;7985:102:0;;;9747:21:1;9804:2;9784:18;;;9777:30;9843:34;9823:18;;;9816:62;-1:-1:-1;;;9894:18:1;;;9887:34;9938:19;;7985:102:0;9563:400:1;7985:102:0;8137:9;8108:39;;;;:28;:39;;;;;8150:12;8108:54;;7896:286;8225:13;;-1:-1:-1;;;;;8217:21:0;;;8225:13;;8217:21;:55;;;;-1:-1:-1;8256:15:0;;-1:-1:-1;;;;;8242:30:0;;;8256:15;;8242:30;;8217:55;:83;;;;-1:-1:-1;;;;;;8278:22:0;;;;;;:18;:22;;;;;;;;8276:24;8217:83;8213:313;;;8340:12;;8330:6;:22;;8322:60;;;;-1:-1:-1;;;8322:60:0;;10170:2:1;8322:60:0;;;10152:21:1;10209:2;10189:18;;;10182:30;10248:27;10228:18;;;10221:55;10293:18;;8322:60:0;9968:349:1;8322:60:0;8435:14;;8425:6;8409:13;8419:2;-1:-1:-1;;;;;6216:18:0;6189:7;6216:18;;;:9;:18;;;;;;;6123:119;8409:13;:22;;;;:::i;:::-;:40;;8401:79;;;;-1:-1:-1;;;8401:79:0;;10654:2:1;8401:79:0;;;10636:21:1;10693:2;10673:18;;;10666:30;10732:28;10712:18;;;10705:56;10778:18;;8401:79:0;10452:350:1;8401:79:0;8499:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8213:313;8556:76;8628:3;8556:67;8578:15;;8568:9;;:25;8567:55;;8608:14;;8567:55;;;8595:12;;8567:55;8556:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8656:13;;8544:88;;-1:-1:-1;;;;;;8650:19:0;;;8656:13;;8650:19;:43;;;;-1:-1:-1;;;;;;8673:20:0;;8688:4;8673:20;;8650:43;8647:174;;;8726:79;8801:3;8726:70;8748:16;;8738:9;;:26;8737:58;;8780:15;;8737:58;;;8766:13;;8726:6;;:10;:70::i;:79::-;8714:91;;8647:174;8886:4;8837:28;6216:18;;;:9;:18;;;;;;8912:6;;-1:-1:-1;;;8912:6:0;;;;8911:7;:30;;;;-1:-1:-1;8928:13:0;;-1:-1:-1;;;;;8922:19:0;;;8928:13;;8922:19;8911:30;:45;;;;-1:-1:-1;8945:11:0;;-1:-1:-1;;;8945:11:0;;;;8911:45;:87;;;;;8981:17;;8960:20;:38;8911:87;:119;;;;;9012:18;;9002:9;;:28;8911:119;8907:419;;;9051:67;9068:49;9072:6;9079:37;9083:20;9104:11;;9079:3;:37::i;:::-;9068:3;:49::i;:::-;9051:16;:67::i;:::-;9166:21;9209:22;;9206:105;;9256:35;9269:21;9256:12;:35::i;:::-;9032:294;8907:419;7786:1551;7748:1589;9352:11;;9349:161;;9420:4;9402:24;;;;:9;:24;;;;;;:39;;9431:9;9402:28;:39::i;:::-;9395:4;9377:24;;;;:9;:24;;;;;;;:64;;;;9459:39;;-1:-1:-1;;;;;9459:39:0;;;;;;;9488:9;1361:25:1;;1349:2;1334:18;;1215:177;9459:39:0;;;;;;;;9349:161;-1:-1:-1;;;;;9536:15:0;;;;;;:9;:15;;;;;;:27;;9556:6;9536:19;:27::i;:::-;-1:-1:-1;;;;;9520:15:0;;;;;;:9;:15;;;;;:43;9588:40;9606:21;:6;9617:9;9606:10;:21::i;:::-;-1:-1:-1;;;;;9588:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9574:13:0;;;;;;;:9;:13;;;;;:54;;;;9644:41;;;9663:21;:6;9674:9;9663:10;:21::i;:::-;9644:41;;1361:25:1;;;1349:2;1334:18;9644:41:0;;;;;;;7478:2215;7409:2284;;;:::o;1574:190::-;1660:7;1696:12;1688:6;;;;1680:29;;;;-1:-1:-1;;;1680:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1720:9:0;1732:5;1736:1;1732;:5;:::i;:::-;1720:17;1574:190;-1:-1:-1;;;;;1574:190:0:o;9809:555::-;5352:6;:13;;-1:-1:-1;;;;5352:13:0;-1:-1:-1;;;5352:13:0;;;9887:27;;9906:7:::1;9887:27;9928:11;::::0;-1:-1:-1;;;9928:11:0;::::1;;;9924:25:::0;9941:7:::1;9924:25;9983:16;::::0;;9997:1:::1;9983:16:::0;;;;;::::1;::::0;;9959:21:::1;::::0;9983:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9983:16:0::1;9959:40;;10028:4;10010;10015:1;10010:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10010:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10054:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10054:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10010:7;;10054:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10044:4;10049:1;10044:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10044:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10119:15:::1;::::0;10087:62:::1;::::0;10104:4:::1;::::0;10119:15:::1;10137:11:::0;10087:8:::1;:62::i;:::-;10160:15;::::0;:196:::1;::::0;-1:-1:-1;;;10160:196:0;;-1:-1:-1;;;;;10160:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10241:11;;10160:15:::1;::::0;10283:4;;10310::::1;::::0;10330:15:::1;::::0;10160:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9876:488;5376:1;-1:-1:-1::0;5388:6:0;:14;;-1:-1:-1;;;;5388:14:0;;;9809:555::o;10576:92::-;10633:10;;:27;;:10;;;;-1:-1:-1;;;;;10633:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1772:246;1830:7;1854:1;1859;1854:6;1850:47;;-1:-1:-1;1884:1:0;1877:8;;1850:47;1907:9;1919:5;1923:1;1919;:5;:::i;:::-;1907:17;-1:-1:-1;1952:1:0;1943:5;1947:1;1907:17;1943:5;:::i;:::-;:10;1935:56;;;;-1:-1:-1;;;1935:56:0;;12753:2:1;1935:56:0;;;12735:21:1;12792:2;12772:18;;;12765:30;12831:34;12811:18;;;12804:62;-1:-1:-1;;;12882:18:1;;;12875:31;12923:19;;1935:56:0;12551:397:1;1935:56:0;2009:1;1772:246;-1:-1:-1;;;1772:246:0:o;2026:132::-;2084:7;2111:39;2115:1;2118;2111:39;;;;;;;;;;;;;;;;;:3;:39::i;9703:98::-;9760:7;9787:1;9785;:3;9784:9;;9792:1;9784:9;;;-1:-1:-1;9790:1:0;9703:98;-1:-1:-1;9703:98:0:o;1243:179::-;1301:7;;1333:5;1337:1;1333;:5;:::i;:::-;1321:17;;1362:1;1357;:6;;1349:46;;;;-1:-1:-1;;;1349:46:0;;13155:2:1;1349:46:0;;;13137:21:1;13194:2;13174:18;;;13167:30;13233:29;13213:18;;;13206:57;13280:18;;1349:46:0;12953:351:1;1430:136:0;1488:7;1515:43;1519:1;1522;1515:43;;;;;;;;;;;;;;;;;:3;:43::i;2166:189::-;2252:7;2287:12;2280:5;2272:28;;;;-1:-1:-1;;;2272:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2311:9:0;2323:5;2327:1;2323;: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;10322:125;10387:9;;;10408:10;;;10405:36;;;10421:18;;:::i;10807:135::-;10846:3;10867:17;;;10864:43;;10887:18;;:::i;:::-;-1:-1:-1;10934:1:1;10923:13;;10807:135::o;10947:128::-;11014:9;;;11035:11;;;11032:37;;;11049:18;;:::i;11212:127::-;11273:10;11268:3;11264:20;11261:1;11254:31;11304:4;11301:1;11294:15;11328:4;11325:1;11318:15;11344:980;11606:4;11654:3;11643:9;11639:19;11685:6;11674:9;11667:25;11711:2;11749:6;11744:2;11733:9;11729:18;11722:34;11792:3;11787:2;11776:9;11772:18;11765:31;11816:6;11851;11845:13;11882:6;11874;11867:22;11920:3;11909:9;11905:19;11898:26;;11959:2;11951:6;11947:15;11933:29;;11980:1;11990:195;12004:6;12001:1;11998:13;11990:195;;;12069:13;;-1:-1:-1;;;;;12065:39:1;12053:52;;12160:15;;;;12125:12;;;;12101:1;12019:9;11990:195;;;-1:-1:-1;;;;;;;12241:32:1;;;;12236:2;12221:18;;12214:60;-1:-1:-1;;;12305:3:1;12290:19;12283:35;12202:3;11344:980;-1:-1:-1;;;11344:980:1:o;12329:217::-;12369:1;12395;12385:132;;12439:10;12434:3;12430:20;12427:1;12420:31;12474:4;12471:1;12464:15;12502:4;12499:1;12492:15;12385:132;-1:-1:-1;12531:9:1;;12329:217::o

Swarm Source

ipfs://79826a0316059b4728e15e17f6e4aab84c3d30a6f8bfe828bab524e953ff2178

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.