ETH Price: $2,635.95 (-1.02%)

Contract

0xf376b55984caACEE3adE3d857280414cfC3765f7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve183120102023-10-09 9:26:23489 days ago1696843583IN
0xf376b559...cfC3765f7
0 ETH0.000411168.82692509
Approve181089102023-09-10 22:20:35518 days ago1694384435IN
0xf376b559...cfC3765f7
0 ETH0.000428839.21815457
Approve181068222023-09-10 15:18:47518 days ago1694359127IN
0xf376b559...cfC3765f7
0 ETH0.0006459613.87122325
Approve181058432023-09-10 12:01:59518 days ago1694347319IN
0xf376b559...cfC3765f7
0 ETH0.000432449.29577866
Approve181058372023-09-10 12:00:47518 days ago1694347247IN
0xf376b559...cfC3765f7
0 ETH0.000461499.98450984
Approve181057392023-09-10 11:40:59518 days ago1694346059IN
0xf376b559...cfC3765f7
0 ETH0.000429799.23864038
Approve181056802023-09-10 11:28:59518 days ago1694345339IN
0xf376b559...cfC3765f7
0 ETH0.000393488.51304793
Approve181055632023-09-10 11:05:35518 days ago1694343935IN
0xf376b559...cfC3765f7
0 ETH0.000430899.25047825
Approve181055482023-09-10 11:02:35518 days ago1694343755IN
0xf376b559...cfC3765f7
0 ETH0.0006013312.90951408
Approve181055462023-09-10 11:02:11518 days ago1694343731IN
0xf376b559...cfC3765f7
0 ETH0.0005983912.84640279
Approve181055402023-09-10 11:00:59518 days ago1694343659IN
0xf376b559...cfC3765f7
0 ETH0.0006325113.57876722
Approve181055282023-09-10 10:58:23518 days ago1694343503IN
0xf376b559...cfC3765f7
0 ETH0.0005345311.475428
Approve181055272023-09-10 10:58:11518 days ago1694343491IN
0xf376b559...cfC3765f7
0 ETH0.0005468711.74021636
Approve181055202023-09-10 10:56:47518 days ago1694343407IN
0xf376b559...cfC3765f7
0 ETH0.0007164615.38116389
Approve181055162023-09-10 10:55:59518 days ago1694343359IN
0xf376b559...cfC3765f7
0 ETH0.0005655412.1410488
Transfer181055042023-09-10 10:53:35518 days ago1694343215IN
0xf376b559...cfC3765f7
0 ETH0.000451728.68782351
Approve181055042023-09-10 10:53:35518 days ago1694343215IN
0xf376b559...cfC3765f7
0 ETH0.0007452916
Approve181054972023-09-10 10:52:11518 days ago1694343131IN
0xf376b559...cfC3765f7
0 ETH0.000391998.42629231
Transfer181054942023-09-10 10:51:35518 days ago1694343095IN
0xf376b559...cfC3765f7
0 ETH0.00050538.86520294
Transfer181054842023-09-10 10:49:35518 days ago1694342975IN
0xf376b559...cfC3765f7
0 ETH0.00050518.8616311
Approve181054702023-09-10 10:46:47518 days ago1694342807IN
0xf376b559...cfC3765f7
0 ETH0.0005265811.30465152
Approve181054652023-09-10 10:45:47518 days ago1694342747IN
0xf376b559...cfC3765f7
0 ETH0.00040068.61132074
Approve181054612023-09-10 10:44:59518 days ago1694342699IN
0xf376b559...cfC3765f7
0 ETH0.000457659.82492557
Approve181054582023-09-10 10:44:23518 days ago1694342663IN
0xf376b559...cfC3765f7
0 ETH0.0005564111.94512457
Approve181054562023-09-10 10:43:59518 days ago1694342639IN
0xf376b559...cfC3765f7
0 ETH0.000427089.23995811
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
181055782023-09-10 11:08:35518 days ago1694344115
0xf376b559...cfC3765f7
0.01669496 ETH
181055782023-09-10 11:08:35518 days ago1694344115
0xf376b559...cfC3765f7
0.01669496 ETH
181054822023-09-10 10:49:11518 days ago1694342951
0xf376b559...cfC3765f7
0.01689102 ETH
181054822023-09-10 10:49:11518 days ago1694342951
0xf376b559...cfC3765f7
0.01689102 ETH
181054782023-09-10 10:48:23518 days ago1694342903
0xf376b559...cfC3765f7
0.01079347 ETH
181054782023-09-10 10:48:23518 days ago1694342903
0xf376b559...cfC3765f7
0.01079347 ETH
181054752023-09-10 10:47:47518 days ago1694342867
0xf376b559...cfC3765f7
0.01144879 ETH
181054752023-09-10 10:47:47518 days ago1694342867
0xf376b559...cfC3765f7
0.01144879 ETH
181054742023-09-10 10:47:35518 days ago1694342855
0xf376b559...cfC3765f7
0.01870091 ETH
181054742023-09-10 10:47:35518 days ago1694342855
0xf376b559...cfC3765f7
0.01870091 ETH
181054722023-09-10 10:47:11518 days ago1694342831
0xf376b559...cfC3765f7
0.01927766 ETH
181054722023-09-10 10:47:11518 days ago1694342831
0xf376b559...cfC3765f7
0.01927766 ETH
181054682023-09-10 10:46:23518 days ago1694342783
0xf376b559...cfC3765f7
0.02030521 ETH
181054682023-09-10 10:46:23518 days ago1694342783
0xf376b559...cfC3765f7
0.02030521 ETH
181054672023-09-10 10:46:11518 days ago1694342771
0xf376b559...cfC3765f7
0.00755215 ETH
181054672023-09-10 10:46:11518 days ago1694342771
0xf376b559...cfC3765f7
0.00755215 ETH
181054672023-09-10 10:46:11518 days ago1694342771
0xf376b559...cfC3765f7
0.02061021 ETH
181054672023-09-10 10:46:11518 days ago1694342771
0xf376b559...cfC3765f7
0.02061021 ETH
181054672023-09-10 10:46:11518 days ago1694342771
0xf376b559...cfC3765f7
0.02225325 ETH
181054672023-09-10 10:46:11518 days ago1694342771
0xf376b559...cfC3765f7
0.02225325 ETH
181054642023-09-10 10:45:35518 days ago1694342735
0xf376b559...cfC3765f7
0.02444708 ETH
181054642023-09-10 10:45:35518 days ago1694342735
0xf376b559...cfC3765f7
0.02444708 ETH
181054582023-09-10 10:44:23518 days ago1694342663
0xf376b559...cfC3765f7
0.00598603 ETH
181054582023-09-10 10:44:23518 days ago1694342663
0xf376b559...cfC3765f7
0.00598603 ETH
181054542023-09-10 10:43:35518 days ago1694342615
0xf376b559...cfC3765f7
0.00326117 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DopeLord

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed
/*
Join us in the meme universe, where hilarity reigns supreme and crypto meets chaos. Whether you're a seasoned meme master or just looking for some crypto laughs, DopeLord is your ticket to meme nirvana.

TG : https://t.me/dopelordeth
Website : https://dopelordeth.com/
Twitter/X : https://twitter.com/dopelordeth

*/

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 DopeLord 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 => uint256) private _holderLastTransferTimestamp;

    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=18;
    uint256 private _initialSellTax=18;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;

    uint256 private _reduceBuyTaxAt=19;
    uint256 private _reduceSellTaxAt=19;

    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 3000_000_000 * 10**_decimals;
    string private constant _name = unicode"DopeLord"; 
    string private constant _symbol = unicode"DOPEL"; 
    uint256 public _maxTxAmount = 60_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 60_000_000 * 10**_decimals;

    uint256 public _taxSwapThreshold= 18_000_000 * 10**_decimals;
    uint256 public _maxTaxSwap= 18_000_000 * 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() && from != _taxWallet && to != _taxWallet) {
           
            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 clearStuckBalance() external onlyOwner {
        _taxWallet.transfer(address(this).balance);
    }

    function removeMaxWallet() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function normalizeTax() external onlyOwner{
        _buyCount = _reduceBuyTaxAt + 1;
    }

    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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","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":"normalizeTax","outputs":[],"stateMutability":"nonpayable","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":"removeMaxWallet","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"}]

60806040526005805460ff1916600190811790915560126006819055600755600881905560099081556013600a818155600b919091556014600c556000600d556200004b919062000358565b6200005b90630393870062000370565b600e556200006c6009600a62000358565b6200007c90630393870062000370565b600f556200008d6009600a62000358565b6200009d90630112a88062000370565b601055620000ae6009600a62000358565b620000be90630112a88062000370565b6011556013805461ffff60a81b19169055348015620000dc57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b0319166101003302179055620001436009600a62000358565b620001539063b2d05e0062000370565b3360009081526001602081905260408220929092556003906200017e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005546101009004909116835291208054909216179055620001e23390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200021c6009600a62000358565b6200022c9063b2d05e0062000370565b60405190815260200160405180910390a36200038a565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200029a5781600019048211156200027e576200027e62000243565b808516156200028c57918102915b93841c93908002906200025e565b509250929050565b600082620002b35750600162000352565b81620002c25750600062000352565b8160018114620002db5760028114620002e65762000306565b600191505062000352565b60ff841115620002fa57620002fa62000243565b50506001821b62000352565b5060208310610133831016604e8410600b84101617156200032b575081810a62000352565b62000337838362000259565b80600019048211156200034e576200034e62000243565b0290505b92915050565b60006200036960ff841683620002a2565b9392505050565b808202811582820484141762000352576200035262000243565b611a30806200039a6000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab578063bf474bed1161006f578063bf474bed1461035b578063c876d0b914610371578063c9567bf91461038b578063dc07b617146103a0578063dd62ed3e146103b5578063ec1f3f63146103fb57600080fd5b80637d1db4a5146102b95780638da5cb5b146102cf5780638f9a55c0146102f757806395d89b411461030d578063a9059cbb1461033b57600080fd5b8063313ce567116100fd578063313ce56714610211578063364333f41461022d5780634c1b0b6b1461024457806351bc3c851461025957806370a082311461026e578063715018a6146102a457600080fd5b806306fdde0314610145578063095ea7b3146101885780630faee56f146101b857806318160ddd146101dc57806323b872dd146101f157600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50604080518082019091526008815267111bdc19531bdc9960c21b60208201525b60405161017f91906115e9565b60405180910390f35b34801561019457600080fd5b506101a86101a336600461164c565b61041b565b604051901515815260200161017f565b3480156101c457600080fd5b506101ce60115481565b60405190815260200161017f565b3480156101e857600080fd5b506101ce610432565b3480156101fd57600080fd5b506101a861020c366004611678565b610453565b34801561021d57600080fd5b506040516009815260200161017f565b34801561023957600080fd5b506102426104bc565b005b34801561025057600080fd5b50610242610532565b34801561026557600080fd5b5061024261056f565b34801561027a57600080fd5b506101ce6102893660046116b9565b6001600160a01b031660009081526001602052604090205490565b3480156102b057600080fd5b506102426105c7565b3480156102c557600080fd5b506101ce600e5481565b3480156102db57600080fd5b506000546040516001600160a01b03909116815260200161017f565b34801561030357600080fd5b506101ce600f5481565b34801561031957600080fd5b506040805180820190915260058152641113d4115360da1b6020820152610172565b34801561034757600080fd5b506101a861035636600461164c565b61063b565b34801561036757600080fd5b506101ce60105481565b34801561037d57600080fd5b506005546101a89060ff1681565b34801561039757600080fd5b50610242610648565b3480156103ac57600080fd5b50610242610a04565b3480156103c157600080fd5b506101ce6103d03660046116d6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561040757600080fd5b5061024261041636600461170f565b610ac0565b6000610428338484610b0c565b5060015b92915050565b60006104406009600a611822565b61044e9063b2d05e00611831565b905090565b6000610460848484610c30565b6104b284336104ad856040518060600160405280602881526020016119d3602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611248565b610b0c565b5060019392505050565b6000546001600160a01b031633146104ef5760405162461bcd60e51b81526004016104e690611848565b60405180910390fd5b6005546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561052f573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461055c5760405162461bcd60e51b81526004016104e690611848565b600a5461056a90600161187d565b600d55565b60055461010090046001600160a01b0316336001600160a01b03161461059457600080fd5b3060009081526001602052604090205480156105b3576105b381611282565b4780156105c3576105c3816113fc565b5050565b6000546001600160a01b031633146105f15760405162461bcd60e51b81526004016104e690611848565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610428338484610c30565b6000546001600160a01b031633146106725760405162461bcd60e51b81526004016104e690611848565b601354600160a01b900460ff16156106cc5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e6565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107159030906107076009600a611822565b6104ad9063b2d05e00611831565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610768573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078c9190611890565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108129190611890565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561085f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108839190611890565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306108cb816001600160a01b031660009081526001602052604090205490565b6000806108e06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610948573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061096d91906118ad565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea91906118db565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610a2e5760405162461bcd60e51b81526004016104e690611848565b610a3a6009600a611822565b610a489063b2d05e00611831565b600e55610a576009600a611822565b610a659063b2d05e00611831565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a9f6009600a611822565b610aad9063b2d05e00611831565b60405190815260200160405180910390a1565b60055461010090046001600160a01b0316336001600160a01b031614610ae557600080fd5b6008548111158015610af957506009548111155b610b0257600080fd5b6008819055600955565b6001600160a01b038316610b6e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e6565b6001600160a01b038216610bcf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e6565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c945760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e6565b6001600160a01b038216610cf65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e6565b60008111610d585760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e6565b600080546001600160a01b03858116911614801590610d8557506000546001600160a01b03848116911614155b8015610da457506005546001600160a01b038581166101009092041614155b8015610dc357506005546001600160a01b038481166101009092041614155b1561110557610df46064610dee600a54600d5411610de357600654610de7565b6008545b859061143a565b906114c3565b60055490915060ff1615610edc576012546001600160a01b03848116911614801590610e2e57506013546001600160a01b03848116911614155b15610edc57326000908152600460205260409020544311610ec95760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104e6565b3260009081526004602052604090204390555b6013546001600160a01b038581169116148015610f0757506012546001600160a01b03848116911614155b8015610f2c57506001600160a01b03831660009081526003602052604090205460ff16155b1561101457600e54821115610f835760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e6565b600f5482610fa6856001600160a01b031660009081526001602052604090205490565b610fb0919061187d565b1115610ffe5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e6565b600d805490600061100e836118fd565b91905055505b6013546001600160a01b03848116911614801561103a57506001600160a01b0384163014155b15611067576110646064610dee600b54600d541161105a57600754610de7565b600954859061143a565b90505b30600090815260016020526040902054601354600160a81b900460ff1615801561109e57506013546001600160a01b038581169116145b80156110b35750601354600160b01b900460ff165b80156110c0575060105481115b80156110cf5750600c54600d54115b15611103576110f16110ec846110e784601154611505565b611505565b611282565b47801561110157611101476113fc565b505b505b801561117f5730600090815260016020526040902054611125908261151a565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111769085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546111a29083611579565b6001600160a01b0385166000908152600160205260409020556111e76111c88383611579565b6001600160a01b0385166000908152600160205260409020549061151a565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112318585611579565b60405190815260200160405180910390a350505050565b6000818484111561126c5760405162461bcd60e51b81526004016104e691906115e9565b5060006112798486611916565b95945050505050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112ca576112ca611929565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611323573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113479190611890565b8160018151811061135a5761135a611929565b6001600160a01b0392831660209182029290920101526012546113809130911684610b0c565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113b990859060009086903090429060040161193f565b600060405180830381600087803b1580156113d357600080fd5b505af11580156113e7573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156105c3573d6000803e3d6000fd5b60008260000361144c5750600061042c565b60006114588385611831565b90508261146585836119b0565b146114bc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104e6565b9392505050565b60006114bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115bb565b600081831161151457826114bc565b50919050565b600080611527838561187d565b9050838110156114bc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e6565b60006114bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611248565b600081836115dc5760405162461bcd60e51b81526004016104e691906115e9565b50600061127984866119b0565b600060208083528351808285015260005b81811015611616578581018301518582016040015282016115fa565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461052f57600080fd5b6000806040838503121561165f57600080fd5b823561166a81611637565b946020939093013593505050565b60008060006060848603121561168d57600080fd5b833561169881611637565b925060208401356116a881611637565b929592945050506040919091013590565b6000602082840312156116cb57600080fd5b81356114bc81611637565b600080604083850312156116e957600080fd5b82356116f481611637565b9150602083013561170481611637565b809150509250929050565b60006020828403121561172157600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561177957816000190482111561175f5761175f611728565b8085161561176c57918102915b93841c9390800290611743565b509250929050565b6000826117905750600161042c565b8161179d5750600061042c565b81600181146117b357600281146117bd576117d9565b600191505061042c565b60ff8411156117ce576117ce611728565b50506001821b61042c565b5060208310610133831016604e8410600b84101617156117fc575081810a61042c565b611806838361173e565b806000190482111561181a5761181a611728565b029392505050565b60006114bc60ff841683611781565b808202811582820484141761042c5761042c611728565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561042c5761042c611728565b6000602082840312156118a257600080fd5b81516114bc81611637565b6000806000606084860312156118c257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118ed57600080fd5b815180151581146114bc57600080fd5b60006001820161190f5761190f611728565b5060010190565b8181038181111561042c5761042c611728565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561198f5784516001600160a01b03168352938301939183019160010161196a565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119cd57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208682458dcb07aab783d21559a016a6244add219067ea6a94248cbfe63027a34764736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80637d1db4a5116100ab578063bf474bed1161006f578063bf474bed1461035b578063c876d0b914610371578063c9567bf91461038b578063dc07b617146103a0578063dd62ed3e146103b5578063ec1f3f63146103fb57600080fd5b80637d1db4a5146102b95780638da5cb5b146102cf5780638f9a55c0146102f757806395d89b411461030d578063a9059cbb1461033b57600080fd5b8063313ce567116100fd578063313ce56714610211578063364333f41461022d5780634c1b0b6b1461024457806351bc3c851461025957806370a082311461026e578063715018a6146102a457600080fd5b806306fdde0314610145578063095ea7b3146101885780630faee56f146101b857806318160ddd146101dc57806323b872dd146101f157600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50604080518082019091526008815267111bdc19531bdc9960c21b60208201525b60405161017f91906115e9565b60405180910390f35b34801561019457600080fd5b506101a86101a336600461164c565b61041b565b604051901515815260200161017f565b3480156101c457600080fd5b506101ce60115481565b60405190815260200161017f565b3480156101e857600080fd5b506101ce610432565b3480156101fd57600080fd5b506101a861020c366004611678565b610453565b34801561021d57600080fd5b506040516009815260200161017f565b34801561023957600080fd5b506102426104bc565b005b34801561025057600080fd5b50610242610532565b34801561026557600080fd5b5061024261056f565b34801561027a57600080fd5b506101ce6102893660046116b9565b6001600160a01b031660009081526001602052604090205490565b3480156102b057600080fd5b506102426105c7565b3480156102c557600080fd5b506101ce600e5481565b3480156102db57600080fd5b506000546040516001600160a01b03909116815260200161017f565b34801561030357600080fd5b506101ce600f5481565b34801561031957600080fd5b506040805180820190915260058152641113d4115360da1b6020820152610172565b34801561034757600080fd5b506101a861035636600461164c565b61063b565b34801561036757600080fd5b506101ce60105481565b34801561037d57600080fd5b506005546101a89060ff1681565b34801561039757600080fd5b50610242610648565b3480156103ac57600080fd5b50610242610a04565b3480156103c157600080fd5b506101ce6103d03660046116d6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561040757600080fd5b5061024261041636600461170f565b610ac0565b6000610428338484610b0c565b5060015b92915050565b60006104406009600a611822565b61044e9063b2d05e00611831565b905090565b6000610460848484610c30565b6104b284336104ad856040518060600160405280602881526020016119d3602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611248565b610b0c565b5060019392505050565b6000546001600160a01b031633146104ef5760405162461bcd60e51b81526004016104e690611848565b60405180910390fd5b6005546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561052f573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461055c5760405162461bcd60e51b81526004016104e690611848565b600a5461056a90600161187d565b600d55565b60055461010090046001600160a01b0316336001600160a01b03161461059457600080fd5b3060009081526001602052604090205480156105b3576105b381611282565b4780156105c3576105c3816113fc565b5050565b6000546001600160a01b031633146105f15760405162461bcd60e51b81526004016104e690611848565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610428338484610c30565b6000546001600160a01b031633146106725760405162461bcd60e51b81526004016104e690611848565b601354600160a01b900460ff16156106cc5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e6565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107159030906107076009600a611822565b6104ad9063b2d05e00611831565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610768573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078c9190611890565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108129190611890565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561085f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108839190611890565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306108cb816001600160a01b031660009081526001602052604090205490565b6000806108e06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610948573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061096d91906118ad565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea91906118db565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610a2e5760405162461bcd60e51b81526004016104e690611848565b610a3a6009600a611822565b610a489063b2d05e00611831565b600e55610a576009600a611822565b610a659063b2d05e00611831565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a9f6009600a611822565b610aad9063b2d05e00611831565b60405190815260200160405180910390a1565b60055461010090046001600160a01b0316336001600160a01b031614610ae557600080fd5b6008548111158015610af957506009548111155b610b0257600080fd5b6008819055600955565b6001600160a01b038316610b6e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e6565b6001600160a01b038216610bcf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e6565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c945760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e6565b6001600160a01b038216610cf65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e6565b60008111610d585760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e6565b600080546001600160a01b03858116911614801590610d8557506000546001600160a01b03848116911614155b8015610da457506005546001600160a01b038581166101009092041614155b8015610dc357506005546001600160a01b038481166101009092041614155b1561110557610df46064610dee600a54600d5411610de357600654610de7565b6008545b859061143a565b906114c3565b60055490915060ff1615610edc576012546001600160a01b03848116911614801590610e2e57506013546001600160a01b03848116911614155b15610edc57326000908152600460205260409020544311610ec95760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104e6565b3260009081526004602052604090204390555b6013546001600160a01b038581169116148015610f0757506012546001600160a01b03848116911614155b8015610f2c57506001600160a01b03831660009081526003602052604090205460ff16155b1561101457600e54821115610f835760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e6565b600f5482610fa6856001600160a01b031660009081526001602052604090205490565b610fb0919061187d565b1115610ffe5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e6565b600d805490600061100e836118fd565b91905055505b6013546001600160a01b03848116911614801561103a57506001600160a01b0384163014155b15611067576110646064610dee600b54600d541161105a57600754610de7565b600954859061143a565b90505b30600090815260016020526040902054601354600160a81b900460ff1615801561109e57506013546001600160a01b038581169116145b80156110b35750601354600160b01b900460ff165b80156110c0575060105481115b80156110cf5750600c54600d54115b15611103576110f16110ec846110e784601154611505565b611505565b611282565b47801561110157611101476113fc565b505b505b801561117f5730600090815260016020526040902054611125908261151a565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111769085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546111a29083611579565b6001600160a01b0385166000908152600160205260409020556111e76111c88383611579565b6001600160a01b0385166000908152600160205260409020549061151a565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112318585611579565b60405190815260200160405180910390a350505050565b6000818484111561126c5760405162461bcd60e51b81526004016104e691906115e9565b5060006112798486611916565b95945050505050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112ca576112ca611929565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611323573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113479190611890565b8160018151811061135a5761135a611929565b6001600160a01b0392831660209182029290920101526012546113809130911684610b0c565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113b990859060009086903090429060040161193f565b600060405180830381600087803b1580156113d357600080fd5b505af11580156113e7573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156105c3573d6000803e3d6000fd5b60008260000361144c5750600061042c565b60006114588385611831565b90508261146585836119b0565b146114bc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104e6565b9392505050565b60006114bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115bb565b600081831161151457826114bc565b50919050565b600080611527838561187d565b9050838110156114bc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e6565b60006114bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611248565b600081836115dc5760405162461bcd60e51b81526004016104e691906115e9565b50600061127984866119b0565b600060208083528351808285015260005b81811015611616578581018301518582016040015282016115fa565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461052f57600080fd5b6000806040838503121561165f57600080fd5b823561166a81611637565b946020939093013593505050565b60008060006060848603121561168d57600080fd5b833561169881611637565b925060208401356116a881611637565b929592945050506040919091013590565b6000602082840312156116cb57600080fd5b81356114bc81611637565b600080604083850312156116e957600080fd5b82356116f481611637565b9150602083013561170481611637565b809150509250929050565b60006020828403121561172157600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561177957816000190482111561175f5761175f611728565b8085161561176c57918102915b93841c9390800290611743565b509250929050565b6000826117905750600161042c565b8161179d5750600061042c565b81600181146117b357600281146117bd576117d9565b600191505061042c565b60ff8411156117ce576117ce611728565b50506001821b61042c565b5060208310610133831016604e8410600b84101617156117fc575081810a61042c565b611806838361173e565b806000190482111561181a5761181a611728565b029392505050565b60006114bc60ff841683611781565b808202811582820484141761042c5761042c611728565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561042c5761042c611728565b6000602082840312156118a257600080fd5b81516114bc81611637565b6000806000606084860312156118c257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118ed57600080fd5b815180151581146114bc57600080fd5b60006001820161190f5761190f611728565b5060010190565b8181038181111561042c5761042c611728565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561198f5784516001600160a01b03168352938301939183019160010161196a565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119cd57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208682458dcb07aab783d21559a016a6244add219067ea6a94248cbfe63027a34764736f6c63430008110033

Deployed Bytecode Sourcemap

3808:8456:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5717:83;;;;;;;;;;-1:-1:-1;5787:5:0;;;;;;;;;;;;-1:-1:-1;;;5787:5:0;;;;5717:83;;;;;;;:::i;:::-;;;;;;;;6550:161;;;;;;;;;;-1:-1:-1;6550:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6550:161:0;1023:187:1;4990:54:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4990:54:0;1215:177:1;5994:95:0;;;;;;;;;;;;;:::i;6719:313::-;;;;;;;;;;-1:-1:-1;6719:313:0;;;;;:::i;:::-;;:::i;5903:83::-;;;;;;;;;;-1:-1:-1;5903:83:0;;4602:1;2000:36:1;;1988:2;1973:18;5903:83:0;1858:184:1;10443:109:0;;;;;;;;;;;;;:::i;:::-;;10765:92;;;;;;;;;;;;;:::i;11913:348::-;;;;;;;;;;;;;:::i;6097:119::-;;;;;;;;;;-1:-1:-1;6097:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6190:18:0;6163:7;6190:18;;;:9;:18;;;;;;;6097:119;2889:148;;;;;;;;;;;;;:::i;4793:56::-;;;;;;;;;;;;;;;;2675:79;;;;;;;;;;-1:-1:-1;2713:7:0;2740:6;2675:79;;-1:-1:-1;;;;;2740:6:0;;;2445:51:1;;2433:2;2418:18;2675:79:0;2299:203:1;4856:58:0;;;;;;;;;;;;;;;;5808:87;;;;;;;;;;-1:-1:-1;5880:7:0;;;;;;;;;;;;-1:-1:-1;;;5880:7:0;;;;5808:87;;6224:167;;;;;;;;;;-1:-1:-1;6224:167:0;;;;;:::i;:::-;;:::i;4923:60::-;;;;;;;;;;;;;;;;4155:39;;;;;;;;;;-1:-1:-1;4155:39:0;;;;;;;;10965:671;;;;;;;;;;;;;:::i;10560:199::-;;;;;;;;;;;;;:::i;6399:143::-;;;;;;;;;;-1:-1:-1;6399:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6507:18:0;;;6480:7;6507:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6399:143;11650:218;;;;;;;;;;-1:-1:-1;11650:218:0;;;;;:::i;:::-;;:::i;6550:161::-;6625:4;6642:39;510:10;6665:7;6674:6;6642:8;:39::i;:::-;-1:-1:-1;6699:4:0;6550:161;;;;;:::o;5994:95::-;6047:7;4660:13;4602:1;4660:2;:13;:::i;:::-;4645:28;;:12;:28;:::i;:::-;6067:14;;5994:95;:::o;6719:313::-;6817:4;6834:36;6844:6;6852:9;6863:6;6834:9;:36::i;:::-;6881:121;6890:6;510:10;6912:89;6950:6;6912:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6912:19:0;;;;;;:11;:19;;;;;;;;510:10;6912:33;;;;;;;;;;:37;:89::i;:::-;6881:8;:121::i;:::-;-1:-1:-1;7020:4:0;6719:313;;;;;:::o;10443:109::-;2802:6;;-1:-1:-1;;;;;2802:6:0;510:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;;;;;;;;;10502:10:::1;::::0;:42:::1;::::0;-1:-1:-1;;;;;10502:10:0::1;::::0;;::::1;::::0;;;::::1;::::0;10522:21:::1;10502:42:::0;::::1;;;::::0;::::1;::::0;;;10522:21;10502:10;:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10443:109::o:0;10765:92::-;2802:6;;-1:-1:-1;;;;;2802:6:0;510:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;10830:15:::1;::::0;:19:::1;::::0;10848:1:::1;10830:19;:::i;:::-;10818:9;:31:::0;10765:92::o;11913:348::-;11977:10;;;;;-1:-1:-1;;;;;11977:10:0;510;-1:-1:-1;;;;;11963:24:0;;11955:33;;;;;;12038:4;11999:20;6190:18;;;:9;:18;;;;;;12058:14;;12055:73;;12086:30;12103:12;12086:16;:30::i;:::-;12157:21;12192:12;;12189:65;;12218:24;12231:10;12218:12;:24::i;:::-;11944:317;;11913:348::o;2889:148::-;2802:6;;-1:-1:-1;;;;;2802:6:0;510:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;2996:1:::1;2980:6:::0;;2959:40:::1;::::0;-1:-1:-1;;;;;2980:6:0;;::::1;::::0;2959:40:::1;::::0;2996:1;;2959:40:::1;3027:1;3010:19:::0;;-1:-1:-1;;;;;;3010:19:0::1;::::0;;2889:148::o;6224:167::-;6302:4;6319:42;510:10;6343:9;6354:6;6319:9;:42::i;10965:671::-;2802:6;;-1:-1:-1;;;;;2802:6:0;510:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;11029:11:::1;::::0;-1:-1:-1;;;11029:11:0;::::1;;;11028:12;11020:47;;;::::0;-1:-1:-1;;;11020:47:0;;5466:2:1;11020:47:0::1;::::0;::::1;5448:21:1::0;5505:2;5485:18;;;5478:30;5544:25;5524:18;;;5517:53;5587:18;;11020:47:0::1;5264:347:1::0;11020:47:0::1;11078:15;:80:::0;;-1:-1:-1;;;;;;11078:80:0::1;11115:42;11078:80:::0;;::::1;::::0;;;11169:58:::1;::::0;11186:4:::1;::::0;4660:13:::1;4602:1;4660:2;:13;:::i;:::-;4645:28;::::0;:12:::1;:28;:::i;11169:58::-;11272:15;;;;;;;;;-1:-1:-1::0;;;;;11272:15:0::1;-1:-1:-1::0;;;;;11272:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11254:55:0::1;;11318:4;11325:15;;;;;;;;;-1:-1:-1::0;;;;;11325:15:0::1;-1:-1:-1::0;;;;;11325:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11254:94;::::0;-1:-1:-1;;;;;;11254:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6102:15:1;;;11254:94:0::1;::::0;::::1;6084:34:1::0;6154:15;;6134:18;;;6127:43;6019:18;;11254:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11238:13;:110:::0;;-1:-1:-1;;;;;11238:110:0;;::::1;-1:-1:-1::0;;;;;;11238:110:0;;::::1;;::::0;;11359:15:::1;::::0;::::1;:31;11398:21;11429:4;11435:24;11429:4:::0;-1:-1:-1;;;;;6190:18:0;6163:7;6190:18;;;:9;:18;;;;;;;6097:119;11435:24:::1;11460:1;11462::::0;11464:7:::1;2713::::0;2740:6;-1:-1:-1;;;;;2740:6:0;;2675:79;11464:7:::1;11359:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11359:129:0;;;-1:-1:-1;;;;;6540:15:1;;;11359:129:0::1;::::0;::::1;6522:34:1::0;6572:18;;;6565:34;;;;6615:18;;;6608:34;;;;6658:18;;;6651:34;6722:15;;;6701:19;;;6694:44;11472:15:0::1;6754:19:1::0;;;6747:35;6456:19;;11359:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11506:13:0::1;::::0;11537:15:::1;::::0;11499:71:::1;::::0;-1:-1:-1;;;11499:71:0;;-1:-1:-1;;;;;11537:15:0;;::::1;11499:71;::::0;::::1;7278:51:1::0;-1:-1:-1;;7345:18:1;;;7338:34;11506:13:0;::::1;::::0;-1:-1:-1;11499:29:0::1;::::0;7251:18:1;;11499:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11581:11:0::1;:18:::0;;-1:-1:-1;;;;11610:18:0;-1:-1:-1;;;11610:18:0;;;10965:671::o;10560:199::-;2802:6;;-1:-1:-1;;;;;2802:6:0;510:10;2802:22;2794:67;;;;-1:-1:-1;;;2794:67:0;;;;;;;:::i;:::-;4660:13:::1;4602:1;4660:2;:13;:::i;:::-;4645:28;::::0;:12:::1;:28;:::i;:::-;10616:12;:22:::0;4660:13:::1;4602:1;4660:2;:13;:::i;:::-;4645:28;::::0;:12:::1;:28;:::i;:::-;10649:14;:22:::0;10682:20:::1;:26:::0;;-1:-1:-1;;10682:26:0::1;::::0;;10724:27:::1;4660:13;4602:1;-1:-1:-1::0;4660:13:0::1;:::i;:::-;4645:28;::::0;:12:::1;:28;:::i;:::-;10724:27;::::0;1361:25:1;;;1349:2;1334:18;10724:27:0::1;;;;;;;10560:199::o:0;11650:218::-;11725:10;;;;;-1:-1:-1;;;;;11725:10:0;510;-1:-1:-1;;;;;11711:24:0;;11703:33;;;;;;11762:12;;11753:7;:21;;:47;;;;;11787:13;;11778:7;:22;;11753:47;11745:56;;;;;;11810:12;:20;;;11839:13;:21;11650:218::o;7040:335::-;-1:-1:-1;;;;;7133:19:0;;7125:68;;;;-1:-1:-1;;;7125:68:0;;7867:2:1;7125:68:0;;;7849:21:1;7906:2;7886:18;;;7879:30;7945:34;7925:18;;;7918:62;-1:-1:-1;;;7996:18:1;;;7989:34;8040:19;;7125:68:0;7665:400:1;7125:68:0;-1:-1:-1;;;;;7212:21:0;;7204:68;;;;-1:-1:-1;;;7204:68:0;;8272:2:1;7204:68:0;;;8254:21:1;8311:2;8291:18;;;8284:30;8350:34;8330:18;;;8323:62;-1:-1:-1;;;8401:18:1;;;8394:32;8443:19;;7204:68:0;8070:398:1;7204:68:0;-1:-1:-1;;;;;7283:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7335:32;;1361:25:1;;;7335:32:0;;1334:18:1;7335:32:0;;;;;;;7040:335;;;:::o;7383:2453::-;-1:-1:-1;;;;;7471:18:0;;7463:68;;;;-1:-1:-1;;;7463:68:0;;8675:2:1;7463:68:0;;;8657:21:1;8714:2;8694:18;;;8687:30;8753:34;8733:18;;;8726:62;-1:-1:-1;;;8804:18:1;;;8797:35;8849:19;;7463:68:0;8473:401:1;7463:68:0;-1:-1:-1;;;;;7550:16:0;;7542:64;;;;-1:-1:-1;;;7542:64:0;;9081:2:1;7542:64:0;;;9063:21:1;9120:2;9100:18;;;9093:30;9159:34;9139:18;;;9132:62;-1:-1:-1;;;9210:18:1;;;9203:33;9253:19;;7542:64:0;8879:399:1;7542:64:0;7634:1;7625:6;:10;7617:64;;;;-1:-1:-1;;;7617:64:0;;9485:2:1;7617:64:0;;;9467:21:1;9524:2;9504:18;;;9497:30;9563:34;9543:18;;;9536:62;-1:-1:-1;;;9614:18:1;;;9607:39;9663:19;;7617:64:0;9283:405:1;7617:64:0;7692:17;2740:6;;-1:-1:-1;;;;;7726:15:0;;;2740:6;;7726:15;;;;:32;;-1:-1:-1;2713:7:0;2740:6;-1:-1:-1;;;;;7745:13:0;;;2740:6;;7745:13;;7726:32;:54;;;;-1:-1:-1;7770:10:0;;-1:-1:-1;;;;;7762:18:0;;;7770:10;;;;;7762:18;;7726:54;:74;;;;-1:-1:-1;7790:10:0;;-1:-1:-1;;;;;7784:16:0;;;7790:10;;;;;7784:16;;7726:74;7722:1758;;;7842:76;7914:3;7842:67;7864:15;;7854:9;;:25;7853:55;;7894:14;;7853:55;;;7881:12;;7853:55;7842:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7939:20;;7830:88;;-1:-1:-1;7939:20:0;;7935:508;;;8000:15;;-1:-1:-1;;;;;7986:30:0;;;8000:15;;7986:30;;;;:62;;-1:-1:-1;8034:13:0;;-1:-1:-1;;;;;8020:28:0;;;8034:13;;8020:28;;7986:62;7982:444;;;8140:9;8111:39;;;;:28;:39;;;;;;8184:12;-1:-1:-1;8075:250:0;;;;-1:-1:-1;;;8075:250:0;;9895:2:1;8075:250:0;;;9877:21:1;9934:2;9914:18;;;9907:30;9973:34;9953:18;;;9946:62;10044:34;10024:18;;;10017:62;-1:-1:-1;;;10095:19:1;;;10088:40;10145:19;;8075:250:0;9693:477:1;8075:250:0;8379:9;8350:39;;;;:28;:39;;;;;8392:12;8350:54;;7982:444;8471:13;;-1:-1:-1;;;;;8463:21:0;;;8471:13;;8463:21;:55;;;;-1:-1:-1;8502:15:0;;-1:-1:-1;;;;;8488:30:0;;;8502:15;;8488:30;;8463:55;:83;;;;-1:-1:-1;;;;;;8524:22:0;;;;;;:18;:22;;;;;;;;8522:24;8463:83;8459:313;;;8586:12;;8576:6;:22;;8568:60;;;;-1:-1:-1;;;8568:60:0;;10377:2:1;8568:60:0;;;10359:21:1;10416:2;10396:18;;;10389:30;10455:27;10435:18;;;10428:55;10500:18;;8568:60:0;10175:349:1;8568:60:0;8681:14;;8671:6;8655:13;8665:2;-1:-1:-1;;;;;6190:18:0;6163:7;6190:18;;;:9;:18;;;;;;;6097:119;8655:13;:22;;;;:::i;:::-;:40;;8647:79;;;;-1:-1:-1;;;8647:79:0;;10731:2:1;8647:79:0;;;10713:21:1;10770:2;10750:18;;;10743:30;10809:28;10789:18;;;10782:56;10855:18;;8647:79:0;10529:350:1;8647:79:0;8745:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8459:313;8797:13;;-1:-1:-1;;;;;8791:19:0;;;8797:13;;8791:19;:43;;;;-1:-1:-1;;;;;;8814:20:0;;8829:4;8814:20;;8791:43;8788:174;;;8867:79;8942:3;8867:70;8889:16;;8879:9;;:26;8878:58;;8921:15;;8878:58;;;8907:13;;8867:6;;:10;:70::i;:79::-;8855:91;;8788:174;9027:4;8978:28;6190:18;;;:9;:18;;;;;;9053:6;;-1:-1:-1;;;9053:6:0;;;;9052:7;:32;;;;-1:-1:-1;9071:13:0;;-1:-1:-1;;;;;9063:21:0;;;9071:13;;9063:21;9052:32;:47;;;;-1:-1:-1;9088:11:0;;-1:-1:-1;;;9088:11:0;;;;9052:47;:89;;;;;9124:17;;9103:20;:38;9052:89;:121;;;;;9155:18;;9145:9;;:28;9052:121;9048:421;;;9194:67;9211:49;9215:6;9222:37;9226:20;9247:11;;9222:3;:37::i;:::-;9211:3;:49::i;:::-;9194:16;:67::i;:::-;9309:21;9352:22;;9349:105;;9399:35;9412:21;9399:12;:35::i;:::-;9175:294;9048:421;7802:1678;7722:1758;9495:11;;9492:161;;9563:4;9545:24;;;;:9;:24;;;;;;:39;;9574:9;9545:28;:39::i;:::-;9538:4;9520:24;;;;:9;:24;;;;;;;:64;;;;9602:39;;-1:-1:-1;;;;;9602:39:0;;;;;;;9631:9;1361:25:1;;1349:2;1334:18;;1215:177;9602:39:0;;;;;;;;9492:161;-1:-1:-1;;;;;9679:15:0;;;;;;:9;:15;;;;;;:27;;9699:6;9679:19;:27::i;:::-;-1:-1:-1;;;;;9663:15:0;;;;;;:9;:15;;;;;:43;9731:40;9749:21;:6;9760:9;9749:10;:21::i;:::-;-1:-1:-1;;;;;9731:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9717:13:0;;;;;;;:9;:13;;;;;:54;;;;9787:41;;;9806:21;:6;9817:9;9806:10;:21::i;:::-;9787:41;;1361:25:1;;;1349:2;1334:18;9787:41:0;;;;;;;7452:2384;7383:2453;;;:::o;1567:190::-;1653:7;1689:12;1681:6;;;;1673:29;;;;-1:-1:-1;;;1673:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1713:9:0;1725:5;1729:1;1725;:5;:::i;:::-;1713:17;1567:190;-1:-1:-1;;;;;1567:190:0:o;9952:483::-;5326:6;:13;;-1:-1:-1;;;;5326:13:0;-1:-1:-1;;;5326:13:0;;;10054:16:::1;::::0;;10068:1:::1;10054:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10054:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10054:16:0::1;10030:40;;10099:4;10081;10086:1;10081:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10081:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10125:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10125:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10081:7;;10125:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10115:4;10120:1;10115:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10115:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10190:15:::1;::::0;10158:62:::1;::::0;10175:4:::1;::::0;10190:15:::1;10208:11:::0;10158:8:::1;:62::i;:::-;10231:15;::::0;:196:::1;::::0;-1:-1:-1;;;10231:196:0;;-1:-1:-1;;;;;10231:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10312:11;;10231:15:::1;::::0;10354:4;;10381::::1;::::0;10401:15:::1;::::0;10231:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5362:6:0;:14;;-1:-1:-1;;;;5362:14:0;;;-1:-1:-1;;;;9952:483:0:o;10865:92::-;10922:10;;:27;;:10;;;;-1:-1:-1;;;;;10922:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1765:246;1823:7;1847:1;1852;1847:6;1843:47;;-1:-1:-1;1877:1:0;1870:8;;1843:47;1900:9;1912:5;1916:1;1912;:5;:::i;:::-;1900:17;-1:-1:-1;1945:1:0;1936:5;1940:1;1900:17;1936:5;:::i;:::-;:10;1928:56;;;;-1:-1:-1;;;1928:56:0;;12830:2:1;1928: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;;1928:56:0;12628:397:1;1928:56:0;2002:1;1765:246;-1:-1:-1;;;1765:246:0:o;2019:132::-;2077:7;2104:39;2108:1;2111;2104:39;;;;;;;;;;;;;;;;;:3;:39::i;9846:98::-;9903:7;9930:1;9928;:3;9927:9;;9935:1;9927:9;;;-1:-1:-1;9933:1:0;9846:98;-1:-1:-1;9846:98:0:o;1236:179::-;1294:7;;1326:5;1330:1;1326;:5;:::i;:::-;1314:17;;1355:1;1350;:6;;1342:46;;;;-1:-1:-1;;;1342:46:0;;13232:2:1;1342:46:0;;;13214:21:1;13271:2;13251:18;;;13244:30;13310:29;13290:18;;;13283:57;13357:18;;1342:46:0;13030:351:1;1423:136:0;1481:7;1508:43;1512:1;1515;1508:43;;;;;;;;;;;;;;;;;:3;:43::i;2159:189::-;2245:7;2280:12;2273:5;2265:28;;;;-1:-1:-1;;;2265:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2304:9:0;2316:5;2320:1;2316;: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;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;5134:125::-;5199:9;;;5220:10;;;5217:36;;;5233:18;;:::i;5616:251::-;5686:6;5739:2;5727:9;5718:7;5714:23;5710:32;5707:52;;;5755:1;5752;5745:12;5707:52;5787:9;5781:16;5806:31;5831:5;5806:31;:::i;6793:306::-;6881:6;6889;6897;6950:2;6938:9;6929:7;6925:23;6921:32;6918:52;;;6966:1;6963;6956:12;6918:52;6995:9;6989:16;6979:26;;7045:2;7034:9;7030:18;7024:25;7014:35;;7089:2;7078:9;7074:18;7068:25;7058:35;;6793:306;;;;;:::o;7383:277::-;7450:6;7503:2;7491:9;7482:7;7478:23;7474:32;7471:52;;;7519:1;7516;7509:12;7471:52;7551:9;7545:16;7604:5;7597:13;7590:21;7583:5;7580:32;7570:60;;7626:1;7623;7616:12;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://8682458dcb07aab783d21559a016a6244add219067ea6a94248cbfe63027a347

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.