ETH Price: $2,363.08 (+0.76%)

Contract

0xD62BaA6f3C579316b2798262A219B367c549C7DC
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve206897232024-09-06 6:20:477 days ago1725603647IN
0xD62BaA6f...7c549C7DC
0 ETH0.000043810.94192155
Approve206571472024-09-01 17:14:3511 days ago1725210875IN
0xD62BaA6f...7c549C7DC
0 ETH0.000057381.23352058
Approve206039762024-08-25 6:59:5919 days ago1724569199IN
0xD62BaA6f...7c549C7DC
0 ETH0.000059021.27561178
Approve205787352024-08-21 18:17:4722 days ago1724264267IN
0xD62BaA6f...7c549C7DC
0 ETH0.000141553.04276541
Approve205389432024-08-16 4:57:2328 days ago1723784243IN
0xD62BaA6f...7c549C7DC
0 ETH0.000054281.16687295
Approve205078822024-08-11 20:53:2332 days ago1723409603IN
0xD62BaA6f...7c549C7DC
0 ETH0.000120432.58892116
Approve205020022024-08-11 1:09:5933 days ago1723338599IN
0xD62BaA6f...7c549C7DC
0 ETH0.000040960.88047402
Approve205017872024-08-11 0:26:5933 days ago1723336019IN
0xD62BaA6f...7c549C7DC
0 ETH0.000043690.94550349
Approve204503102024-08-03 20:09:1140 days ago1722715751IN
0xD62BaA6f...7c549C7DC
0 ETH0.000226164.86165508
Approve204472572024-08-03 9:56:1141 days ago1722678971IN
0xD62BaA6f...7c549C7DC
0 ETH0.000057491.23587763
Transfer204470292024-08-03 9:10:3541 days ago1722676235IN
0xD62BaA6f...7c549C7DC
0 ETH0.000129692.34811296
Approve204301552024-08-01 0:36:3543 days ago1722472595IN
0xD62BaA6f...7c549C7DC
0 ETH0.000222914.8240823
Approve203492102024-07-20 17:23:2354 days ago1721496203IN
0xD62BaA6f...7c549C7DC
0 ETH0.0001994.27773059
Approve203486862024-07-20 15:37:5954 days ago1721489879IN
0xD62BaA6f...7c549C7DC
0 ETH0.000308476.6651826
Approve203467742024-07-20 9:13:2355 days ago1721466803IN
0xD62BaA6f...7c549C7DC
0 ETH0.000235615.06474039
Approve202590132024-07-08 3:08:5967 days ago1720408139IN
0xD62BaA6f...7c549C7DC
0 ETH0.000096212.06823731
Transfer202284562024-07-03 20:44:5971 days ago1720039499IN
0xD62BaA6f...7c549C7DC
0 ETH0.000416037.57
Approve201668612024-06-25 6:18:5980 days ago1719296339IN
0xD62BaA6f...7c549C7DC
0 ETH0.000122952.64307726
Approve201263412024-06-19 14:20:1185 days ago1718806811IN
0xD62BaA6f...7c549C7DC
0 ETH0.000425779.21178374
Approve200729952024-06-12 3:14:3593 days ago1718162075IN
0xD62BaA6f...7c549C7DC
0 ETH0.000174567.20230044
Approve200514062024-06-09 2:52:5996 days ago1717901579IN
0xD62BaA6f...7c549C7DC
0 ETH0.00019014.08636208
Approve200510522024-06-09 1:41:2396 days ago1717897283IN
0xD62BaA6f...7c549C7DC
0 ETH0.000221174.77902891
Approve200499062024-06-08 21:50:2396 days ago1717883423IN
0xD62BaA6f...7c549C7DC
0 ETH0.000244995.29359035
Approve200492312024-06-08 19:35:1196 days ago1717875311IN
0xD62BaA6f...7c549C7DC
0 ETH0.0004916610.6235104
Approve200108112024-06-03 10:51:23102 days ago1717411883IN
0xD62BaA6f...7c549C7DC
0 ETH0.000416398.95077799
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
204472592024-08-03 9:56:3541 days ago1722678995
0xD62BaA6f...7c549C7DC
0.00296327 ETH
204472592024-08-03 9:56:3541 days ago1722678995
0xD62BaA6f...7c549C7DC
0.00296327 ETH
201484952024-06-22 16:40:3582 days ago1719074435
0xD62BaA6f...7c549C7DC
0.0013693 ETH
201484952024-06-22 16:40:3582 days ago1719074435
0xD62BaA6f...7c549C7DC
0.0013693 ETH
198925442024-05-17 22:03:47118 days ago1715983427
0xD62BaA6f...7c549C7DC
0.00297196 ETH
198925442024-05-17 22:03:47118 days ago1715983427
0xD62BaA6f...7c549C7DC
0.00297196 ETH
197277382024-04-24 20:53:23141 days ago1713992003
0xD62BaA6f...7c549C7DC
0.0051324 ETH
197277382024-04-24 20:53:23141 days ago1713992003
0xD62BaA6f...7c549C7DC
0.0051324 ETH
196661472024-04-16 6:05:35150 days ago1713247535
0xD62BaA6f...7c549C7DC
0.00321827 ETH
196661472024-04-16 6:05:35150 days ago1713247535
0xD62BaA6f...7c549C7DC
0.00321827 ETH
195493992024-03-30 21:21:23166 days ago1711833683
0xD62BaA6f...7c549C7DC
0.01669329 ETH
195493992024-03-30 21:21:23166 days ago1711833683
0xD62BaA6f...7c549C7DC
0.01669329 ETH
194694582024-03-19 14:42:47177 days ago1710859367
0xD62BaA6f...7c549C7DC
0.00666132 ETH
194694582024-03-19 14:42:47177 days ago1710859367
0xD62BaA6f...7c549C7DC
0.00666132 ETH
194650192024-03-18 23:44:23178 days ago1710805463
0xD62BaA6f...7c549C7DC
0.00419745 ETH
194650192024-03-18 23:44:23178 days ago1710805463
0xD62BaA6f...7c549C7DC
0.00419745 ETH
194640832024-03-18 20:34:59178 days ago1710794099
0xD62BaA6f...7c549C7DC
0.00668979 ETH
194640832024-03-18 20:34:59178 days ago1710794099
0xD62BaA6f...7c549C7DC
0.00668979 ETH
194479632024-03-16 14:10:59180 days ago1710598259
0xD62BaA6f...7c549C7DC
0.01207896 ETH
194479632024-03-16 14:10:59180 days ago1710598259
0xD62BaA6f...7c549C7DC
0.01207896 ETH
194323542024-03-14 9:27:23183 days ago1710408443
0xD62BaA6f...7c549C7DC
0.00912262 ETH
194323542024-03-14 9:27:23183 days ago1710408443
0xD62BaA6f...7c549C7DC
0.00912262 ETH
194314212024-03-14 6:18:23183 days ago1710397103
0xD62BaA6f...7c549C7DC
0.00912262 ETH
194314212024-03-14 6:18:23183 days ago1710397103
0xD62BaA6f...7c549C7DC
0.00912262 ETH
194194832024-03-12 14:05:35184 days ago1710252335
0xD62BaA6f...7c549C7DC
0.01091245 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
REFLECTAUDIT

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 2024-02-26
*/

// SPDX-License-Identifier: MIT

/*                                 

██████╗ ██████╗███████╗ ██╗     ███████╗ ██████╗████████╗     █████╗ ██╗   ██╗██████╗ ██╗████████╗
██╔══██╗██╔════╝██╔════╝██║     ██╔════╝██╔════╝╚══██╔══╝    ██╔══██╗██║   ██║██╔══██╗██║╚══██╔══╝
██████╔╝█████╗  █████╗  ██║     █████╗  ██║        ██║       ███████║██║   ██║██║  ██║██║   ██║   
██╔══██╗██╔══╝  ██╔══╝  ██║     ██╔══╝  ██║        ██║       ██╔══██║██║   ██║██║  ██║██║   ██║   
██║  ██║███████╗██║     ███████╗███████╗╚██████╗   ██║       ██║  ██║╚██████╔╝██████╔╝██║   ██║   
╚═╝  ╚═╝╚══════╝╚═╝     ╚══════╝╚══════╝ ╚═════╝   ╚═╝       ╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚═╝   ╚═╝ 
       We're committed to enhancing the security, efficiency, and reliability        


Telegram : https://t.me/ReflectAudit
Website : https://www.reflectaudit.com/
Whitepaper : https://docs.reflectaudit.com/
Litepaper : https://github.com/ReflectAudit/ReflectAudit/blob/main/Reflect%20Audit%20Litepaper.pdf
Twitter : https://twitter.com/ReflectAudit
Github : https://github.com/ReflectAudit

---------------------------------------------

Create your smart contract without coding : https://create.reflectaudit.com/
Reflect Staking : https://stake.reflectaudit.com/
Reflect Academy : https://academy.reflectaudit.com/

---------------------------------------------

DOWNLOAD REFLECTAUDIT HERE ==> https://play.google.com/store/apps/details?id=com.reflectaudit.wallet
*/


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 REFLECTAUDIT 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;
    address payable private _taxWallet;
    address private constant deadAddress = address(0xdead);

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=15;
    uint256 private _finalSellTax=15;
    uint256 private _reduceBuyTaxAt=30;
    uint256 private _reduceSellTaxAt=45;
    uint256 private _preventSwapBefore=40;
    uint256 private _buyCount=0;

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

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

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0x549F3F97830bF89c9C115E8B49C6376f3A9c622d);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[deadAddress]= 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()) { 

            if (!tradingOpen) {
                require( 
                  _isExcludedFromFee[from] || _isExcludedFromFee[to],
                  "trading is not yet open"
                );
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                if (limitEffect) {
                    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
                );
            } else if (from == uniswapV2Pair && to!= address(this) ){
                taxAmount = amount.mul
                ((_buyCount>_reduceBuyTaxAt)
                    ?_finalBuyTax:_initialBuyTax).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 sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    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 addliquidity() external onlyOwner() {
        require(!tradingOpen,"Liquidity is already added");
        uint256 tokenAmount = balanceOf(address(this)).sub(_tTotal.mul(_initialBuyTax).div(100));
        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),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 
    }

    function removeLimits () external onlyOwner returns (bool){
        limitEffect = false;
        return true;
    }
    
    function reduceTax (uint256 _value) external onlyOwner returns (bool) {
        _finalBuyTax = _value;
        _finalSellTax = _value;
        require(_value <= 5,"Tax cannot exceed 5");
        return true;
    }

    function openTrading() external onlyOwner returns (bool) {
        require(!tradingOpen,"trading is already open");
        swapEnabled = true;
        tradingOpen = true;
        return true;
    }

    function clearstuckETH() external returns (bool) {
        require(tradingOpen,"trading is not yet open");
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          _taxWallet.transfer(ethBalance);
        }
        return true;
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_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":[],"name":"addliquidity","outputs":[],"stateMutability":"nonpayable","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":"clearstuckETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"reduceTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"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"}]

608060405260146005556019600655600f600755600f600855601e600955602d600a556028600b556000600c556009600a6200003c91906200037f565b6200004b90620f424062000397565b600d556200005c6009600a6200037f565b6200006b90620f424062000397565b600e556200007c6009600a6200037f565b6200008b90620186a062000397565b600f556200009c6009600a6200037f565b620000ab90620f424062000397565b6010556012805462ffffff60a81b1916600160a81b179055348015620000d057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673549f3f97830bf89c9c115e8b49c6376f3a9c622d179055620001466009600a6200037f565b62000156906305f5e10062000397565b336000908152600160208190526040822092909255600390620001816000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560039093527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054851660019081179091553084528284208054861682179055600454909116835291208054909216179055620002093390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002436009600a6200037f565b62000253906305f5e10062000397565b60405190815260200160405180910390a3620003b1565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002c1578160001904821115620002a557620002a56200026a565b80851615620002b357918102915b93841c939080029062000285565b509250929050565b600082620002da5750600162000379565b81620002e95750600062000379565b81600181146200030257600281146200030d576200032d565b600191505062000379565b60ff8411156200032157620003216200026a565b50506001821b62000379565b5060208310610133831016604e8410600b841016171562000352575081810a62000379565b6200035e838362000280565b80600019048211156200037557620003756200026a565b0290505b92915050565b60006200039060ff841683620002c9565b9392505050565b80820281158282048414176200037957620003796200026a565b6119b580620003c16000396000f3fe6080604052600436106101235760003560e01c80637d1db4a5116100a0578063a92d4a9211610064578063a92d4a9214610333578063bf474bed14610348578063c9567bf91461035e578063dd62ed3e14610373578063ef985894146103b957600080fd5b80637d1db4a5146102935780638da5cb5b146102a95780638f9a55c0146102d157806395d89b41146102e7578063a9059cbb1461031357600080fd5b8063313ce567116100e7578063313ce5671461020057806342e99d1a1461021c57806370a0823114610233578063715018a614610269578063751039fc1461027e57600080fd5b806306fdde031461012f578063095ea7b3146101775780630faee56f146101a757806318160ddd146101cb57806323b872dd146101e057600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600d81526c149151931150d5081055511255609a1b60208201525b60405161016e919061156b565b60405180910390f35b34801561018357600080fd5b506101976101923660046115d1565b6103d9565b604051901515815260200161016e565b3480156101b357600080fd5b506101bd60105481565b60405190815260200161016e565b3480156101d757600080fd5b506101bd6103f0565b3480156101ec57600080fd5b506101976101fb3660046115fd565b610411565b34801561020c57600080fd5b506040516009815260200161016e565b34801561022857600080fd5b5061023161047a565b005b34801561023f57600080fd5b506101bd61024e36600461163e565b6001600160a01b031660009081526001602052604090205490565b34801561027557600080fd5b5061023161085c565b34801561028a57600080fd5b506101976108d0565b34801561029f57600080fd5b506101bd600d5481565b3480156102b557600080fd5b506000546040516001600160a01b03909116815260200161016e565b3480156102dd57600080fd5b506101bd600e5481565b3480156102f357600080fd5b506040805180820190915260038152622922a360e91b6020820152610161565b34801561031f57600080fd5b5061019761032e3660046115d1565b61090e565b34801561033f57600080fd5b5061019761091b565b34801561035457600080fd5b506101bd600f5481565b34801561036a57600080fd5b506101976109bc565b34801561037f57600080fd5b506101bd61038e36600461165b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506101976103d4366004611694565b610a60565b60006103e6338484610ae4565b5060015b92915050565b60006103fe6009600a6117a7565b61040c906305f5e1006117b6565b905090565b600061041e848484610c08565b610470843361046b85604051806060016040528060288152602001611958602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111ce565b610ae4565b5060019392505050565b6000546001600160a01b031633146104ad5760405162461bcd60e51b81526004016104a4906117cd565b60405180910390fd5b601254600160a01b900460ff16156105075760405162461bcd60e51b815260206004820152601a60248201527f4c697175696469747920697320616c726561647920616464656400000000000060448201526064016104a4565b600061055561053f60646105396005546009600a61052591906117a7565b610533906305f5e1006117b6565b90611208565b90611291565b30600090815260016020526040902054906112d3565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506105a19030906105936009600a6117a7565b61046b906305f5e1006117b6565b601160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106189190611802565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611802565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f9190611802565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947308460008061074e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107db919061181f565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610834573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610858919061184d565b5050565b6000546001600160a01b031633146108865760405162461bcd60e51b81526004016104a4906117cd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146108fb5760405162461bcd60e51b81526004016104a4906117cd565b506012805460ff60a81b19169055600190565b60006103e6338484610c08565b601254600090600160a01b900460ff166109715760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b9903737ba103cb2ba1037b832b760491b60448201526064016104a4565b4780156109b4576004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156109b2573d6000803e3d6000fd5b505b600191505090565b600080546001600160a01b031633146109e75760405162461bcd60e51b81526004016104a4906117cd565b601254600160a01b900460ff1615610a415760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a4565b506012805463ff0000ff60a01b1916630100000160a01b179055600190565b600080546001600160a01b03163314610a8b5760405162461bcd60e51b81526004016104a4906117cd565b600782905560088290556005821115610adc5760405162461bcd60e51b81526020600482015260136024820152725461782063616e6e6f7420657863656564203560681b60448201526064016104a4565b506001919050565b6001600160a01b038316610b465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a4565b6001600160a01b038216610ba75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a4565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c6c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a4565b6001600160a01b038216610cce5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a4565b60008111610d305760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a4565b600080546001600160a01b03858116911614801590610d5d57506000546001600160a01b03848116911614155b1561108b57601254600160a01b900460ff16610df8576001600160a01b03841660009081526003602052604090205460ff1680610db257506001600160a01b03831660009081526003602052604090205460ff165b610df85760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b9903737ba103cb2ba1037b832b760491b60448201526064016104a4565b6012546001600160a01b038581169116148015610e2357506011546001600160a01b03848116911614155b8015610e4857506001600160a01b03831660009081526003602052604090205460ff16155b15610f4257601254600160a81b900460ff1615610f2c57600d54821115610eb15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a4565b600e5482610ed4856001600160a01b031660009081526001602052604090205490565b610ede919061186f565b1115610f2c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a4565b600c8054906000610f3c83611882565b91905055505b6012546001600160a01b038481169116148015610f6857506001600160a01b0384163014155b15610f9a57610f936064610539600a54600c5411610f8857600654610f8c565b6008545b8590611208565b9050610fed565b6012546001600160a01b038581169116148015610fc057506001600160a01b0383163014155b15610fed57610fea6064610539600954600c5411610fe057600554610f8c565b6007548590611208565b90505b30600090815260016020526040902054601254600160b01b900460ff1615801561102457506012546001600160a01b038581169116145b80156110395750601254600160b81b900460ff165b80156110465750600f5481115b80156110555750600b54600c54115b15611089576110776110728461106d84601054611315565b611315565b61132a565b47801561108757611087476114a4565b505b505b801561110557306000908152600160205260409020546110ab90826114de565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110fc9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461112890836112d3565b6001600160a01b03851660009081526001602052604090205561116d61114e83836112d3565b6001600160a01b038516600090815260016020526040902054906114de565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b785856112d3565b60405190815260200160405180910390a350505050565b600081848411156111f25760405162461bcd60e51b81526004016104a4919061156b565b5060006111ff848661189b565b95945050505050565b60008260000361121a575060006103ea565b600061122683856117b6565b90508261123385836118ae565b1461128a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a4565b9392505050565b600061128a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061153d565b600061128a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ce565b6000818311611324578261128a565b50919050565b6012805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611372576113726118d0565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ef9190611802565b81600181518110611402576114026118d0565b6001600160a01b0392831660209182029290920101526011546114289130911684610ae4565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114619085906000908690309042906004016118e6565b600060405180830381600087803b15801561147b57600080fd5b505af115801561148f573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610858573d6000803e3d6000fd5b6000806114eb838561186f565b90508381101561128a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a4565b6000818361155e5760405162461bcd60e51b81526004016104a4919061156b565b5060006111ff84866118ae565b600060208083528351808285015260005b818110156115985785810183015185820160400152820161157c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115ce57600080fd5b50565b600080604083850312156115e457600080fd5b82356115ef816115b9565b946020939093013593505050565b60008060006060848603121561161257600080fd5b833561161d816115b9565b9250602084013561162d816115b9565b929592945050506040919091013590565b60006020828403121561165057600080fd5b813561128a816115b9565b6000806040838503121561166e57600080fd5b8235611679816115b9565b91506020830135611689816115b9565b809150509250929050565b6000602082840312156116a657600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116fe5781600019048211156116e4576116e46116ad565b808516156116f157918102915b93841c93908002906116c8565b509250929050565b600082611715575060016103ea565b81611722575060006103ea565b816001811461173857600281146117425761175e565b60019150506103ea565b60ff841115611753576117536116ad565b50506001821b6103ea565b5060208310610133831016604e8410600b8410161715611781575081810a6103ea565b61178b83836116c3565b806000190482111561179f5761179f6116ad565b029392505050565b600061128a60ff841683611706565b80820281158282048414176103ea576103ea6116ad565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561181457600080fd5b815161128a816115b9565b60008060006060848603121561183457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561185f57600080fd5b8151801515811461128a57600080fd5b808201808211156103ea576103ea6116ad565b600060018201611894576118946116ad565b5060010190565b818103818111156103ea576103ea6116ad565b6000826118cb57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119365784516001600160a01b031683529383019391830191600101611911565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bf7d70fec1d0cee7afc9683a05a6f4f0d3793a7da35d83cc504e6fde112e7efa64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80637d1db4a5116100a0578063a92d4a9211610064578063a92d4a9214610333578063bf474bed14610348578063c9567bf91461035e578063dd62ed3e14610373578063ef985894146103b957600080fd5b80637d1db4a5146102935780638da5cb5b146102a95780638f9a55c0146102d157806395d89b41146102e7578063a9059cbb1461031357600080fd5b8063313ce567116100e7578063313ce5671461020057806342e99d1a1461021c57806370a0823114610233578063715018a614610269578063751039fc1461027e57600080fd5b806306fdde031461012f578063095ea7b3146101775780630faee56f146101a757806318160ddd146101cb57806323b872dd146101e057600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600d81526c149151931150d5081055511255609a1b60208201525b60405161016e919061156b565b60405180910390f35b34801561018357600080fd5b506101976101923660046115d1565b6103d9565b604051901515815260200161016e565b3480156101b357600080fd5b506101bd60105481565b60405190815260200161016e565b3480156101d757600080fd5b506101bd6103f0565b3480156101ec57600080fd5b506101976101fb3660046115fd565b610411565b34801561020c57600080fd5b506040516009815260200161016e565b34801561022857600080fd5b5061023161047a565b005b34801561023f57600080fd5b506101bd61024e36600461163e565b6001600160a01b031660009081526001602052604090205490565b34801561027557600080fd5b5061023161085c565b34801561028a57600080fd5b506101976108d0565b34801561029f57600080fd5b506101bd600d5481565b3480156102b557600080fd5b506000546040516001600160a01b03909116815260200161016e565b3480156102dd57600080fd5b506101bd600e5481565b3480156102f357600080fd5b506040805180820190915260038152622922a360e91b6020820152610161565b34801561031f57600080fd5b5061019761032e3660046115d1565b61090e565b34801561033f57600080fd5b5061019761091b565b34801561035457600080fd5b506101bd600f5481565b34801561036a57600080fd5b506101976109bc565b34801561037f57600080fd5b506101bd61038e36600461165b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506101976103d4366004611694565b610a60565b60006103e6338484610ae4565b5060015b92915050565b60006103fe6009600a6117a7565b61040c906305f5e1006117b6565b905090565b600061041e848484610c08565b610470843361046b85604051806060016040528060288152602001611958602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111ce565b610ae4565b5060019392505050565b6000546001600160a01b031633146104ad5760405162461bcd60e51b81526004016104a4906117cd565b60405180910390fd5b601254600160a01b900460ff16156105075760405162461bcd60e51b815260206004820152601a60248201527f4c697175696469747920697320616c726561647920616464656400000000000060448201526064016104a4565b600061055561053f60646105396005546009600a61052591906117a7565b610533906305f5e1006117b6565b90611208565b90611291565b30600090815260016020526040902054906112d3565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559091506105a19030906105936009600a6117a7565b61046b906305f5e1006117b6565b601160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106189190611802565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611802565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f9190611802565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947308460008061074e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107db919061181f565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610834573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610858919061184d565b5050565b6000546001600160a01b031633146108865760405162461bcd60e51b81526004016104a4906117cd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146108fb5760405162461bcd60e51b81526004016104a4906117cd565b506012805460ff60a81b19169055600190565b60006103e6338484610c08565b601254600090600160a01b900460ff166109715760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b9903737ba103cb2ba1037b832b760491b60448201526064016104a4565b4780156109b4576004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156109b2573d6000803e3d6000fd5b505b600191505090565b600080546001600160a01b031633146109e75760405162461bcd60e51b81526004016104a4906117cd565b601254600160a01b900460ff1615610a415760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a4565b506012805463ff0000ff60a01b1916630100000160a01b179055600190565b600080546001600160a01b03163314610a8b5760405162461bcd60e51b81526004016104a4906117cd565b600782905560088290556005821115610adc5760405162461bcd60e51b81526020600482015260136024820152725461782063616e6e6f7420657863656564203560681b60448201526064016104a4565b506001919050565b6001600160a01b038316610b465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a4565b6001600160a01b038216610ba75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a4565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c6c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a4565b6001600160a01b038216610cce5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a4565b60008111610d305760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a4565b600080546001600160a01b03858116911614801590610d5d57506000546001600160a01b03848116911614155b1561108b57601254600160a01b900460ff16610df8576001600160a01b03841660009081526003602052604090205460ff1680610db257506001600160a01b03831660009081526003602052604090205460ff165b610df85760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b9903737ba103cb2ba1037b832b760491b60448201526064016104a4565b6012546001600160a01b038581169116148015610e2357506011546001600160a01b03848116911614155b8015610e4857506001600160a01b03831660009081526003602052604090205460ff16155b15610f4257601254600160a81b900460ff1615610f2c57600d54821115610eb15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a4565b600e5482610ed4856001600160a01b031660009081526001602052604090205490565b610ede919061186f565b1115610f2c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a4565b600c8054906000610f3c83611882565b91905055505b6012546001600160a01b038481169116148015610f6857506001600160a01b0384163014155b15610f9a57610f936064610539600a54600c5411610f8857600654610f8c565b6008545b8590611208565b9050610fed565b6012546001600160a01b038581169116148015610fc057506001600160a01b0383163014155b15610fed57610fea6064610539600954600c5411610fe057600554610f8c565b6007548590611208565b90505b30600090815260016020526040902054601254600160b01b900460ff1615801561102457506012546001600160a01b038581169116145b80156110395750601254600160b81b900460ff165b80156110465750600f5481115b80156110555750600b54600c54115b15611089576110776110728461106d84601054611315565b611315565b61132a565b47801561108757611087476114a4565b505b505b801561110557306000908152600160205260409020546110ab90826114de565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110fc9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461112890836112d3565b6001600160a01b03851660009081526001602052604090205561116d61114e83836112d3565b6001600160a01b038516600090815260016020526040902054906114de565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111b785856112d3565b60405190815260200160405180910390a350505050565b600081848411156111f25760405162461bcd60e51b81526004016104a4919061156b565b5060006111ff848661189b565b95945050505050565b60008260000361121a575060006103ea565b600061122683856117b6565b90508261123385836118ae565b1461128a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a4565b9392505050565b600061128a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061153d565b600061128a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ce565b6000818311611324578261128a565b50919050565b6012805460ff60b01b1916600160b01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611372576113726118d0565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ef9190611802565b81600181518110611402576114026118d0565b6001600160a01b0392831660209182029290920101526011546114289130911684610ae4565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114619085906000908690309042906004016118e6565b600060405180830381600087803b15801561147b57600080fd5b505af115801561148f573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610858573d6000803e3d6000fd5b6000806114eb838561186f565b90508381101561128a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a4565b6000818361155e5760405162461bcd60e51b81526004016104a4919061156b565b5060006111ff84866118ae565b600060208083528351808285015260005b818110156115985785810183015185820160400152820161157c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115ce57600080fd5b50565b600080604083850312156115e457600080fd5b82356115ef816115b9565b946020939093013593505050565b60008060006060848603121561161257600080fd5b833561161d816115b9565b9250602084013561162d816115b9565b929592945050506040919091013590565b60006020828403121561165057600080fd5b813561128a816115b9565b6000806040838503121561166e57600080fd5b8235611679816115b9565b91506020830135611689816115b9565b809150509250929050565b6000602082840312156116a657600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116fe5781600019048211156116e4576116e46116ad565b808516156116f157918102915b93841c93908002906116c8565b509250929050565b600082611715575060016103ea565b81611722575060006103ea565b816001811461173857600281146117425761175e565b60019150506103ea565b60ff841115611753576117536116ad565b50506001821b6103ea565b5060208310610133831016604e8410600b8410161715611781575081810a6103ea565b61178b83836116c3565b806000190482111561179f5761179f6116ad565b029392505050565b600061128a60ff841683611706565b80820281158282048414176103ea576103ea6116ad565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561181457600080fd5b815161128a816115b9565b60008060006060848603121561183457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561185f57600080fd5b8151801515811461128a57600080fd5b808201808211156103ea576103ea6116ad565b600060018201611894576118946116ad565b5060010190565b818103818111156103ea576103ea6116ad565b6000826118cb57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119365784516001600160a01b031683529383019391830191600101611911565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bf7d70fec1d0cee7afc9683a05a6f4f0d3793a7da35d83cc504e6fde112e7efa64736f6c63430008130033

Deployed Bytecode Sourcemap

5765:8462:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7676:83;;;;;;;;;;-1:-1:-1;7746:5:0;;;;;;;;;;;;-1:-1:-1;;;7746:5:0;;;;7676:83;;;;;;;:::i;:::-;;;;;;;;8509:161;;;;;;;;;;-1:-1:-1;8509:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8509:161:0;1023:187:1;6878:51:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;6878:51:0;1215:177:1;7953:95:0;;;;;;;;;;;;;:::i;8678:313::-;;;;;;;;;;-1:-1:-1;8678:313:0;;;;;:::i;:::-;;:::i;7862:83::-;;;;;;;;;;-1:-1:-1;7862:83:0;;6504:1;2000:36:1;;1988:2;1973:18;7862:83:0;1858:184:1;12508:837:0;;;;;;;;;;;;;:::i;:::-;;8056:119;;;;;;;;;;-1:-1:-1;8056:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8149:18:0;8122:7;8149:18;;;:9;:18;;;;;;;8056:119;4846:148;;;;;;;;;;;;;:::i;13353:118::-;;;;;;;;;;;;;:::i;6693:53::-;;;;;;;;;;;;;;;;4632:79;;;;;;;;;;-1:-1:-1;4670:7:0;4697:6;4632:79;;-1:-1:-1;;;;;4697:6:0;;;2445:51:1;;2433:2;2418:18;4632:79:0;2299:203:1;6753:55:0;;;;;;;;;;;;;;;;7767:87;;;;;;;;;;-1:-1:-1;7839:7:0;;;;;;;;;;;;-1:-1:-1;;;7839:7:0;;;;7767:87;;8183:167;;;;;;;;;;-1:-1:-1;8183:167:0;;;;;:::i;:::-;;:::i;13920:269::-;;;;;;;;;;;;;:::i;6815:56::-;;;;;;;;;;;;;;;;13709:203;;;;;;;;;;;;;:::i;8358:143::-;;;;;;;;;;-1:-1:-1;8358:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8466:18:0;;;8439:7;8466:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8358:143;13483:218;;;;;;;;;;-1:-1:-1;13483:218:0;;;;;:::i;:::-;;:::i;8509:161::-;8584:4;8601:39;2467:10;8624:7;8633:6;8601:8;:39::i;:::-;-1:-1:-1;8658:4:0;8509:161;;;;;:::o;7953:95::-;8006:7;6559:13;6504:1;6559:2;:13;:::i;:::-;6547:25;;:9;:25;:::i;:::-;8026:14;;7953:95;:::o;8678:313::-;8776:4;8793:36;8803:6;8811:9;8822:6;8793:9;:36::i;:::-;8840:121;8849:6;2467:10;8871:89;8909:6;8871:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8871:19:0;;;;;;:11;:19;;;;;;;;2467:10;8871:33;;;;;;;;;;:37;:89::i;:::-;8840:8;:121::i;:::-;-1:-1:-1;8979:4:0;8678:313;;;;;:::o;12508:837::-;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;;;;;;;;;12573:11:::1;::::0;-1:-1:-1;;;12573:11:0;::::1;;;12572:12;12564:50;;;::::0;-1:-1:-1;;;12564:50:0;;5336:2:1;12564:50:0::1;::::0;::::1;5318:21:1::0;5375:2;5355:18;;;5348:30;5414:28;5394:18;;;5387:56;5460:18;;12564:50:0::1;5134:350:1::0;12564:50:0::1;12625:19;12647:66;12676:36;12708:3;12676:27;12688:14;;6504:1;6559:2;:13;;;;:::i;:::-;6547:25;::::0;:9:::1;:25;:::i;:::-;12676:11:::0;::::1;:27::i;:::-;:31:::0;::::1;:36::i;:::-;12665:4;8122:7:::0;8149:18;;;:9;:18;;;;;;12647:28;::::1;:66::i;:::-;12724:15;:80:::0;;-1:-1:-1;;;;;;12724:80:0::1;12761:42;12724:80:::0;;::::1;::::0;;;12625:88;;-1:-1:-1;12815:58:0::1;::::0;12832:4:::1;::::0;6559:13:::1;6504:1;6559:2;:13;:::i;:::-;6547:25;::::0;:9:::1;:25;:::i;12815:58::-;12918:15;;;;;;;;;-1:-1:-1::0;;;;;12918:15:0::1;-1:-1:-1::0;;;;;12918:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12900:55:0::1;;12978:4;12999:15;;;;;;;;;-1:-1:-1::0;;;;;12999:15:0::1;-1:-1:-1::0;;;;;12999:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12900:132;::::0;-1:-1:-1;;;;;;12900:132:0::1;::::0;;;;;;-1:-1:-1;;;;;5975:15:1;;;12900:132:0::1;::::0;::::1;5957:34:1::0;6027:15;;6007:18;;;6000:43;5892:18;;12900:132:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12884:13;:148:::0;;-1:-1:-1;;;;;12884:148:0;;::::1;-1:-1:-1::0;;;;;;12884:148:0;;::::1;;::::0;;13043:15:::1;::::0;::::1;:31;13082:21;13128:4;13148:11:::0;12884:13:::1;::::0;13206:7:::1;4670::::0;4697:6;-1:-1:-1;;;;;4697:6:0;;4632:79;13206:7:::1;13043:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13043:211:0;;;-1:-1:-1;;;;;6413:15:1;;;13043:211:0::1;::::0;::::1;6395:34:1::0;6445:18;;;6438:34;;;;6488:18;;;6481:34;;;;6531:18;;;6524:34;6595:15;;;6574:19;;;6567:44;13228:15:0::1;6627:19:1::0;;;6620:35;6329:19;;13043:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13272:13:0::1;::::0;13303:15:::1;::::0;13265:71:::1;::::0;-1:-1:-1;;;13265:71:0;;-1:-1:-1;;;;;13303:15:0;;::::1;13265:71;::::0;::::1;7151:51:1::0;-1:-1:-1;;7218:18:1;;;7211:34;13272:13:0;::::1;::::0;-1:-1:-1;13265:29:0::1;::::0;7124:18:1;;13265:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12553:792;12508:837::o:0;4846:148::-;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;4953:1:::1;4937:6:::0;;4916:40:::1;::::0;-1:-1:-1;;;;;4937:6:0;;::::1;::::0;4916:40:::1;::::0;4953:1;;4916:40:::1;4984:1;4967:19:::0;;-1:-1:-1;;;;;;4967:19:0::1;::::0;;4846:148::o;13353:118::-;13406:4;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;-1:-1:-1;13422:11:0::1;:19:::0;;-1:-1:-1;;;;13422:19:0::1;::::0;;;13353:118;:::o;8183:167::-;8261:4;8278:42;2467:10;8302:9;8313:6;8278:9;:42::i;13920:269::-;13988:11;;13963:4;;-1:-1:-1;;;13988:11:0;;;;13980:46;;;;-1:-1:-1;;;13980:46:0;;7740:2:1;13980:46:0;;;7722:21:1;7779:2;7759:18;;;7752:30;-1:-1:-1;;;7798:18:1;;;7791:53;7861:18;;13980:46:0;7538:347:1;13980:46:0;14056:21;14091:12;;14088:72;;14117:10;;:31;;-1:-1:-1;;;;;14117:10:0;;;;:31;;;;;14137:10;;14117;:31;:10;:31;14137:10;14117;:31;;;;;;;;;;;;;;;;;;;;;14088:72;14177:4;14170:11;;;13920:269;:::o;13709:203::-;13760:4;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;13786:11:::1;::::0;-1:-1:-1;;;13786:11:0;::::1;;;13785:12;13777:47;;;::::0;-1:-1:-1;;;13777:47:0;;8092:2:1;13777:47:0::1;::::0;::::1;8074:21:1::0;8131:2;8111:18;;;8104:30;8170:25;8150:18;;;8143:53;8213:18;;13777:47:0::1;7890:347:1::0;13777:47:0::1;-1:-1:-1::0;13835:11:0::1;:18:::0;;-1:-1:-1;;;;13864:18:0;-1:-1:-1;;;13864:18:0;;;-1:-1:-1;;13709:203:0:o;13483:218::-;13547:4;4759:6;;-1:-1:-1;;;;;4759:6:0;2467:10;4759:22;4751:67;;;;-1:-1:-1;;;4751:67:0;;;;;;;:::i;:::-;13564:12:::1;:21:::0;;;13596:13:::1;:22:::0;;;13647:1:::1;13637:11:::0;::::1;;13629:42;;;::::0;-1:-1:-1;;;13629:42:0;;8444:2:1;13629:42:0::1;::::0;::::1;8426:21:1::0;8483:2;8463:18;;;8456:30;-1:-1:-1;;;8502:18:1;;;8495:49;8561:18;;13629:42:0::1;8242:343:1::0;13629:42:0::1;-1:-1:-1::0;13689:4:0::1;13483:218:::0;;;:::o;8999:335::-;-1:-1:-1;;;;;9092:19:0;;9084:68;;;;-1:-1:-1;;;9084:68:0;;8792:2:1;9084:68:0;;;8774:21:1;8831:2;8811:18;;;8804:30;8870:34;8850:18;;;8843:62;-1:-1:-1;;;8921:18:1;;;8914:34;8965:19;;9084:68:0;8590:400:1;9084:68:0;-1:-1:-1;;;;;9171:21:0;;9163:68;;;;-1:-1:-1;;;9163:68:0;;9197:2:1;9163:68:0;;;9179:21:1;9236:2;9216:18;;;9209:30;9275:34;9255:18;;;9248:62;-1:-1:-1;;;9326:18:1;;;9319:32;9368:19;;9163:68:0;8995:398:1;9163:68:0;-1:-1:-1;;;;;9242:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9294:32;;1361:25:1;;;9294:32:0;;1334:18:1;9294:32:0;;;;;;;8999:335;;;:::o;9342:2461::-;-1:-1:-1;;;;;9430:18:0;;9422:68;;;;-1:-1:-1;;;9422:68:0;;9600:2:1;9422:68:0;;;9582:21:1;9639:2;9619:18;;;9612:30;9678:34;9658:18;;;9651:62;-1:-1:-1;;;9729:18:1;;;9722:35;9774:19;;9422:68:0;9398:401:1;9422:68:0;-1:-1:-1;;;;;9509:16:0;;9501:64;;;;-1:-1:-1;;;9501:64:0;;10006:2:1;9501:64:0;;;9988:21:1;10045:2;10025:18;;;10018:30;10084:34;10064:18;;;10057:62;-1:-1:-1;;;10135:18:1;;;10128:33;10178:19;;9501:64:0;9804:399:1;9501:64:0;9593:1;9584:6;:10;9576:64;;;;-1:-1:-1;;;9576:64:0;;10410:2:1;9576:64:0;;;10392:21:1;10449:2;10429:18;;;10422:30;10488:34;10468:18;;;10461:62;-1:-1:-1;;;10539:18:1;;;10532:39;10588:19;;9576:64:0;10208:405:1;9576:64:0;9651:17;4697:6;;-1:-1:-1;;;;;9687:15:0;;;4697:6;;9687:15;;;;:32;;-1:-1:-1;4670:7:0;4697:6;-1:-1:-1;;;;;9706:13:0;;;4697:6;;9706:13;;9687:32;9683:1764;;;9744:11;;-1:-1:-1;;;9744:11:0;;;;9739:197;;-1:-1:-1;;;;;9805:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9833:22:0;;;;;;:18;:22;;;;;;;;9805:50;9776:144;;;;-1:-1:-1;;;9776:144:0;;7740:2:1;9776:144:0;;;7722:21:1;7779:2;7759:18;;;7752:30;-1:-1:-1;;;7798:18:1;;;7791:53;7861:18;;9776:144:0;7538:347:1;9776:144:0;9964:13;;-1:-1:-1;;;;;9956:21:0;;;9964:13;;9956:21;:55;;;;-1:-1:-1;9995:15:0;;-1:-1:-1;;;;;9981:30:0;;;9995:15;;9981:30;;9956:55;:83;;;;-1:-1:-1;;;;;;10017:22:0;;;;;;:18;:22;;;;;;;;10015:24;9956:83;9952:377;;;10065:11;;-1:-1:-1;;;10065:11:0;;;;10061:222;;;10119:12;;10109:6;:22;;10101:60;;;;-1:-1:-1;;;10101:60:0;;10820:2:1;10101:60:0;;;10802:21:1;10859:2;10839:18;;;10832:30;10898:27;10878:18;;;10871:55;10943:18;;10101:60:0;10618:349:1;10101:60:0;10218:14;;10208:6;10192:13;10202:2;-1:-1:-1;;;;;8149:18:0;8122:7;8149:18;;;:9;:18;;;;;;;8056:119;10192:13;:22;;;;:::i;:::-;:40;;10184:79;;;;-1:-1:-1;;;10184:79:0;;11304:2:1;10184:79:0;;;11286:21:1;11343:2;11323:18;;;11316:30;11382:28;11362:18;;;11355:56;11428:18;;10184:79:0;11102:350:1;10184:79:0;10302:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9952:377;10368:13;;-1:-1:-1;;;;;10362:19:0;;;10368:13;;10362:19;:43;;;;-1:-1:-1;;;;;;10385:20:0;;10400:4;10385:20;;10362:43;10357:471;;;10438:138;10554:3;10438:111;10479:16;;10469:9;;:26;10468:80;;10533:15;;10468:80;;;10519:13;;10468:80;10438:6;;:10;:111::i;:138::-;10426:150;;10357:471;;;10610:13;;-1:-1:-1;;;;;10602:21:0;;;10610:13;;10602:21;:43;;;;-1:-1:-1;;;;;;10627:18:0;;10640:4;10627:18;;10602:43;10598:230;;;10678:134;10790:3;10678:107;10718:15;;10708:9;;:25;10707:77;;10770:14;;10707:77;;;10757:12;;10678:6;;:10;:107::i;:134::-;10666:146;;10598:230;10893:4;10844:28;8149:18;;;:9;:18;;;;;;10937:6;;-1:-1:-1;;;10937:6:0;;;;10936:7;:48;;;;-1:-1:-1;10971:13:0;;-1:-1:-1;;;;;10965:19:0;;;10971:13;;10965:19;10936:48;:81;;;;-1:-1:-1;11006:11:0;;-1:-1:-1;;;11006:11:0;;;;10936:81;:141;;;;;11060:17;;11039:20;:38;10936:141;:191;;;;;11109:18;;11099:9;;:28;10936:191;10914:522;;;11161:67;11178:49;11182:6;11189:37;11193:20;11214:11;;11189:3;:37::i;:::-;11178:3;:49::i;:::-;11161:16;:67::i;:::-;11276:21;11319:22;;11316:105;;11366:35;11379:21;11366:12;:35::i;:::-;11142:294;10914:522;9721:1726;9683:1764;11462:11;;11459:161;;11530:4;11512:24;;;;:9;:24;;;;;;:39;;11541:9;11512:28;:39::i;:::-;11505:4;11487:24;;;;:9;:24;;;;;;;:64;;;;11569:39;;-1:-1:-1;;;;;11569:39:0;;;;;;;11598:9;1361:25:1;;1349:2;1334:18;;1215:177;11569:39:0;;;;;;;;11459:161;-1:-1:-1;;;;;11646:15:0;;;;;;:9;:15;;;;;;:27;;11666:6;11646:19;:27::i;:::-;-1:-1:-1;;;;;11630:15:0;;;;;;:9;:15;;;;;:43;11698:40;11716:21;:6;11727:9;11716:10;:21::i;:::-;-1:-1:-1;;;;;11698:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11684:13:0;;;;;;;:9;:13;;;;;:54;;;;11754:41;;;11773:21;:6;11784:9;11773:10;:21::i;:::-;11754:41;;1361:25:1;;;1349:2;1334:18;11754:41:0;;;;;;;9411:2392;9342:2461;;;:::o;3524:190::-;3610:7;3646:12;3638:6;;;;3630:29;;;;-1:-1:-1;;;3630:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3670:9:0;3682:5;3686:1;3682;:5;:::i;:::-;3670:17;3524:190;-1:-1:-1;;;;;3524:190:0:o;3722:246::-;3780:7;3804:1;3809;3804:6;3800:47;;-1:-1:-1;3834:1:0;3827:8;;3800:47;3857:9;3869:5;3873:1;3869;:5;:::i;:::-;3857:17;-1:-1:-1;3902:1:0;3893:5;3897:1;3857:17;3893:5;:::i;:::-;:10;3885:56;;;;-1:-1:-1;;;3885:56:0;;12154:2:1;3885:56:0;;;12136:21:1;12193:2;12173:18;;;12166:30;12232:34;12212:18;;;12205:62;-1:-1:-1;;;12283:18:1;;;12276:31;12324:19;;3885:56:0;11952:397:1;3885:56:0;3959:1;3722:246;-1:-1:-1;;;3722:246:0:o;3976:132::-;4034:7;4061:39;4065:1;4068;4061:39;;;;;;;;;;;;;;;;;:3;:39::i;3380:136::-;3438:7;3465:43;3469:1;3472;3465:43;;;;;;;;;;;;;;;;;:3;:43::i;11911:98::-;11968:7;11995:1;11993;:3;11992:9;;12000:1;11992:9;;;-1:-1:-1;11998:1:0;11911:98;-1:-1:-1;11911:98:0:o;12017:483::-;7199:6;:13;;-1:-1:-1;;;;7199:13:0;-1:-1:-1;;;7199:13:0;;;12119:16:::1;::::0;;12133:1:::1;12119:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12119:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12119:16:0::1;12095:40;;12164:4;12146;12151:1;12146:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12146:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12190:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12190:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12146:7;;12190:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12180:4;12185:1;12180:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12180:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12255:15:::1;::::0;12223:62:::1;::::0;12240:4:::1;::::0;12255:15:::1;12273:11:::0;12223:8:::1;:62::i;:::-;12296:15;::::0;:196:::1;::::0;-1:-1:-1;;;12296:196:0;;-1:-1:-1;;;;;12296:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12377:11;;12296:15:::1;::::0;12419:4;;12446::::1;::::0;12466:15:::1;::::0;12296:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7235:6:0;:14;;-1:-1:-1;;;;7235:14:0;;;-1:-1:-1;;;;12017:483:0:o;11811:92::-;11868:10;;:27;;-1:-1:-1;;;;;11868:10:0;;;;:27;;;;;11888:6;;11868:10;:27;:10;:27;11888:6;11868:10;:27;;;;;;;;;;;;;;;;;;;3193:179;3251:7;;3283:5;3287:1;3283;:5;:::i;:::-;3271:17;;3312:1;3307;:6;;3299:46;;;;-1:-1:-1;;;3299:46:0;;13805:2:1;3299:46:0;;;13787:21:1;13844:2;13824:18;;;13817:30;13883:29;13863:18;;;13856:57;13930:18;;3299:46:0;13603:351:1;4116:189:0;4202:7;4237:12;4230:5;4222:28;;;;-1:-1:-1;;;4222:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4261:9:0;4273:5;4277:1;4273;: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;5489:251::-;5559:6;5612:2;5600:9;5591:7;5587:23;5583:32;5580:52;;;5628:1;5625;5618:12;5580:52;5660:9;5654:16;5679:31;5704:5;5679:31;:::i;6666:306::-;6754:6;6762;6770;6823:2;6811:9;6802:7;6798:23;6794:32;6791:52;;;6839:1;6836;6829:12;6791:52;6868:9;6862:16;6852:26;;6918:2;6907:9;6903:18;6897:25;6887:35;;6962:2;6951:9;6947:18;6941:25;6931:35;;6666:306;;;;;:::o;7256:277::-;7323:6;7376:2;7364:9;7355:7;7351:23;7347:32;7344:52;;;7392:1;7389;7382:12;7344:52;7424:9;7418:16;7477:5;7470:13;7463:21;7456:5;7453:32;7443:60;;7499:1;7496;7489:12;10972:125;11037:9;;;11058:10;;;11055:36;;;11071:18;;:::i;11457:135::-;11496:3;11517:17;;;11514:43;;11537:18;;:::i;:::-;-1:-1:-1;11584:1:1;11573:13;;11457:135::o;11597:128::-;11664:9;;;11685:11;;;11682:37;;;11699:18;;:::i;11730:217::-;11770:1;11796;11786:132;;11840:10;11835:3;11831:20;11828:1;11821:31;11875:4;11872:1;11865:15;11903:4;11900:1;11893:15;11786:132;-1:-1:-1;11932:9:1;;11730:217::o;12486:127::-;12547:10;12542:3;12538:20;12535:1;12528:31;12578:4;12575:1;12568:15;12602:4;12599:1;12592:15;12618:980;12880:4;12928:3;12917:9;12913:19;12959:6;12948:9;12941:25;12985:2;13023:6;13018:2;13007:9;13003:18;12996:34;13066:3;13061:2;13050:9;13046:18;13039:31;13090:6;13125;13119:13;13156:6;13148;13141:22;13194:3;13183:9;13179:19;13172:26;;13233:2;13225:6;13221:15;13207:29;;13254:1;13264:195;13278:6;13275:1;13272:13;13264:195;;;13343:13;;-1:-1:-1;;;;;13339:39:1;13327:52;;13434:15;;;;13399:12;;;;13375:1;13293:9;13264:195;;;-1:-1:-1;;;;;;;13515:32:1;;;;13510:2;13495:18;;13488:60;-1:-1:-1;;;13579:3:1;13564:19;13557:35;13476:3;12618:980;-1:-1:-1;;;12618:980:1:o

Swarm Source

ipfs://bf7d70fec1d0cee7afc9683a05a6f4f0d3793a7da35d83cc504e6fde112e7efa

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.