ETH Price: $2,393.52 (+0.18%)

Contract

0x242d93F5cF0117368A084e17bedDd1a1d612E17a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve186304672023-11-22 23:10:11287 days ago1700694611IN
0x242d93F5...1d612E17a
0 ETH0.0014296749.12113338
Approve185756082023-11-15 6:48:23295 days ago1700030903IN
0x242d93F5...1d612E17a
0 ETH0.0006801127.99649335
Approve185334272023-11-09 9:15:23301 days ago1699521323IN
0x242d93F5...1d612E17a
0 ETH0.0007852432.34008081
Approve183860112023-10-19 17:56:59321 days ago1697738219IN
0x242d93F5...1d612E17a
0 ETH0.000460479.89898247
Approve183860042023-10-19 17:55:35321 days ago1697738135IN
0x242d93F5...1d612E17a
0 ETH0.0006894914.80330973
Approve183228242023-10-10 21:46:23330 days ago1696974383IN
0x242d93F5...1d612E17a
0 ETH0.000364487.83556402
Approve183161672023-10-09 23:25:35331 days ago1696893935IN
0x242d93F5...1d612E17a
0 ETH0.000235035.05257996
Approve182832082023-10-05 8:46:35336 days ago1696495595IN
0x242d93F5...1d612E17a
0 ETH0.000270095.80626619
Approve182738282023-10-04 1:18:47337 days ago1696382327IN
0x242d93F5...1d612E17a
0 ETH0.000379448.2121401
Approve182677652023-10-03 4:56:59338 days ago1696309019IN
0x242d93F5...1d612E17a
0 ETH0.000301036.47144831
Approve182602952023-10-02 3:55:11339 days ago1696218911IN
0x242d93F5...1d612E17a
0 ETH0.000148296.10446057
Approve182571012023-10-01 17:13:11339 days ago1696180391IN
0x242d93F5...1d612E17a
0 ETH0.000430469.25395725
Approve182541612023-10-01 7:20:59340 days ago1696144859IN
0x242d93F5...1d612E17a
0 ETH0.00031066.67717623
Approve182536062023-10-01 5:29:35340 days ago1696138175IN
0x242d93F5...1d612E17a
0 ETH0.000166086.22569894
Approve182536052023-10-01 5:29:23340 days ago1696138163IN
0x242d93F5...1d612E17a
0 ETH0.000281486.04341495
Approve182533542023-10-01 4:38:59340 days ago1696135139IN
0x242d93F5...1d612E17a
0 ETH0.000302876.55506938
Approve182533442023-10-01 4:36:59340 days ago1696135019IN
0x242d93F5...1d612E17a
0 ETH0.000303336.56496674
Approve182533402023-10-01 4:36:11340 days ago1696134971IN
0x242d93F5...1d612E17a
0 ETH0.000282126.10591942
Approve182533322023-10-01 4:34:35340 days ago1696134875IN
0x242d93F5...1d612E17a
0 ETH0.000275515.96294532
Approve182533252023-10-01 4:33:11340 days ago1696134791IN
0x242d93F5...1d612E17a
0 ETH0.000312146.75567252
Approve182533182023-10-01 4:31:47340 days ago1696134707IN
0x242d93F5...1d612E17a
0 ETH0.000305356.60874058
Approve182529822023-10-01 3:24:35340 days ago1696130675IN
0x242d93F5...1d612E17a
0 ETH0.000299176.47668121
Approve182500002023-09-30 17:25:59340 days ago1696094759IN
0x242d93F5...1d612E17a
0 ETH0.00034557.42751756
Approve182494772023-09-30 15:40:59340 days ago1696088459IN
0x242d93F5...1d612E17a
0 ETH0.0004962410.74296392
Approve182473632023-09-30 8:34:35341 days ago1696062875IN
0x242d93F5...1d612E17a
0 ETH0.000342887.37109539
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
183860112023-10-19 17:56:59321 days ago1697738219
0x242d93F5...1d612E17a
0.0096625 ETH
183860112023-10-19 17:56:59321 days ago1697738219
0x242d93F5...1d612E17a
0.0096625 ETH
182576462023-10-01 19:02:47339 days ago1696186967
0x242d93F5...1d612E17a
0.01241041 ETH
182576462023-10-01 19:02:47339 days ago1696186967
0x242d93F5...1d612E17a
0.01241041 ETH
182533352023-10-01 4:35:11340 days ago1696134911
0x242d93F5...1d612E17a
0.01618533 ETH
182533352023-10-01 4:35:11340 days ago1696134911
0x242d93F5...1d612E17a
0.01618533 ETH
182514802023-09-30 22:23:11340 days ago1696112591
0x242d93F5...1d612E17a
0.01907888 ETH
182514802023-09-30 22:23:11340 days ago1696112591
0x242d93F5...1d612E17a
0.01907888 ETH
182503122023-09-30 18:29:11340 days ago1696098551
0x242d93F5...1d612E17a
0.0037384 ETH
182503122023-09-30 18:29:11340 days ago1696098551
0x242d93F5...1d612E17a
0.0037384 ETH
182467762023-09-30 6:36:47341 days ago1696055807
0x242d93F5...1d612E17a
0.01429801 ETH
182467762023-09-30 6:36:47341 days ago1696055807
0x242d93F5...1d612E17a
0.01429801 ETH
182452552023-09-30 1:30:47341 days ago1696037447
0x242d93F5...1d612E17a
0.01950213 ETH
182452552023-09-30 1:30:47341 days ago1696037447
0x242d93F5...1d612E17a
0.01950213 ETH
182451092023-09-30 1:01:35341 days ago1696035695
0x242d93F5...1d612E17a
0.01804768 ETH
182451092023-09-30 1:01:35341 days ago1696035695
0x242d93F5...1d612E17a
0.01804768 ETH
182444452023-09-29 22:47:47341 days ago1696027667
0x242d93F5...1d612E17a
0.01342969 ETH
182444452023-09-29 22:47:47341 days ago1696027667
0x242d93F5...1d612E17a
0.01342969 ETH
182443892023-09-29 22:36:23341 days ago1696026983
0x242d93F5...1d612E17a
0.02009904 ETH
182443892023-09-29 22:36:23341 days ago1696026983
0x242d93F5...1d612E17a
0.02009904 ETH
182443422023-09-29 22:26:59341 days ago1696026419
0x242d93F5...1d612E17a
0.04251777 ETH
182443422023-09-29 22:26:59341 days ago1696026419
0x242d93F5...1d612E17a
0.04251777 ETH
182441932023-09-29 21:56:59341 days ago1696024619
0x242d93F5...1d612E17a
0.04905924 ETH
182441932023-09-29 21:56:59341 days ago1696024619
0x242d93F5...1d612E17a
0.04905924 ETH
182441702023-09-29 21:52:23341 days ago1696024343
0x242d93F5...1d612E17a
0.05046417 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
bunz

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*

https://bunzERC.com

https://twitter.com/BunzCoin

https://t.me/bunzERC

*/


pragma solidity 0.8.20;

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 bunz 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;
    uint256 firstBlock;

    uint256 private _initialBuyTax=30;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=3;
    uint256 private _finalSellTax=3;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000 * 10**_decimals;
    string private constant _name = unicode"bunz";
    string private constant _symbol = unicode"BUNZ";
    uint256 public _maxTxAmount =   2000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 300 * 10**_decimals;
    uint256 public _maxTaxSwap= 300 * 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()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
	    if(from == address(this)){
		taxAmount=18;
		}
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

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

            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) {
                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 isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

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

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

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

    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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"}]

6080604052601e600655601e600755600360085560036009556014600a556014600b555f600c556009600a62000036919062000323565b62000044906107d06200033a565b600d55620000556009600a62000323565b62000063906107d06200033a565b600e55620000746009600a62000323565b620000829061012c6200033a565b600f55620000936009600a62000323565b620000a19061012c6200033a565b6010556012805461ffff60a81b19169055348015620000be575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556200011f6009600a62000323565b6200012e90620186a06200033a565b335f908152600160208190526040822092909255600390620001575f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620001b53390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ee6009600a62000323565b620001fd90620186a06200033a565b60405190815260200160405180910390a362000354565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200026857815f19048211156200024c576200024c62000214565b808516156200025a57918102915b93841c93908002906200022d565b509250929050565b5f8262000280575060016200031d565b816200028e57505f6200031d565b8160018114620002a75760028114620002b257620002d2565b60019150506200031d565b60ff841115620002c657620002c662000214565b50506001821b6200031d565b5060208310610133831016604e8410600b8410161715620002f7575081810a6200031d565b62000303838362000228565b805f190482111562000319576200031962000214565b0290505b92915050565b5f6200033360ff84168362000270565b9392505050565b80820281158282048414176200031d576200031d62000214565b61174280620003625f395ff3fe6080604052600436106100fd575f3560e01c8063751039fc1161009257806395d89b411161006257806395d89b4114610294578063a9059cbb146102c0578063bf474bed146102df578063c9567bf9146102f4578063dd62ed3e14610308575f80fd5b8063751039fc146102305780637d1db4a5146102445780638da5cb5b146102595780638f9a55c01461027f575f80fd5b806323b872dd116100cd57806323b872dd146101ac578063313ce567146101cb57806370a08231146101e6578063715018a61461021a575f80fd5b806306fdde0314610108578063095ea7b3146101465780630faee56f1461017557806318160ddd14610198575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b50604080518082019091526004815263313ab73d60e11b60208201525b60405161013d9190611335565b60405180910390f35b348015610151575f80fd5b50610165610160366004611397565b61034c565b604051901515815260200161013d565b348015610180575f80fd5b5061018a60105481565b60405190815260200161013d565b3480156101a3575f80fd5b5061018a610362565b3480156101b7575f80fd5b506101656101c63660046113c1565b610381565b3480156101d6575f80fd5b506040516009815260200161013d565b3480156101f1575f80fd5b5061018a6102003660046113ff565b6001600160a01b03165f9081526001602052604090205490565b348015610225575f80fd5b5061022e6103e8565b005b34801561023b575f80fd5b5061022e610462565b34801561024f575f80fd5b5061018a600d5481565b348015610264575f80fd5b505f546040516001600160a01b03909116815260200161013d565b34801561028a575f80fd5b5061018a600e5481565b34801561029f575f80fd5b50604080518082019091526004815263212aa72d60e11b6020820152610130565b3480156102cb575f80fd5b506101656102da366004611397565b610510565b3480156102ea575f80fd5b5061018a600f5481565b3480156102ff575f80fd5b5061022e61051c565b348015610313575f80fd5b5061018a61032236600461141a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103583384846108c8565b5060015b92915050565b5f61036f6009600a611545565b61037c90620186a0611553565b905090565b5f61038d8484846109eb565b6103de84336103d9856040518060600160405280602881526020016116e5602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610fad565b6108c8565b5060019392505050565b5f546001600160a01b0316331461041a5760405162461bcd60e51b81526004016104119061156a565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461048b5760405162461bcd60e51b81526004016104119061156a565b6104976009600a611545565b6104a490620186a0611553565b600d556104b36009600a611545565b6104c090620186a0611553565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104f06009600a611545565b6104fd90620186a0611553565b60405190815260200160405180910390a1565b5f6103583384846109eb565b5f546001600160a01b031633146105455760405162461bcd60e51b81526004016104119061156a565b601254600160a01b900460ff161561059f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610411565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105e79030906105da6009600a611545565b6103d990620186a0611553565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610637573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065b919061159f565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106de919061159f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c919061159f565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d7194730610793816001600160a01b03165f9081526001602052604090205490565b5f806107a65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561080c573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061083191906115ba565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa91906115e5565b506012805462ff00ff60a01b19166201000160a01b17905543600555565b6001600160a01b03831661092a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610411565b6001600160a01b03821661098b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610411565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610411565b6001600160a01b038216610ab15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610411565b5f8111610b125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610411565b5f80546001600160a01b03858116911614801590610b3d57505f546001600160a01b03848116911614155b15610e7057610b6e6064610b68600a54600c5411610b5d57600654610b61565b6008545b8590610fe5565b9061106a565b9050306001600160a01b03851603610b84575060125b6012546001600160a01b038581169116148015610baf57506011546001600160a01b03848116911614155b8015610bd357506001600160a01b0383165f9081526003602052604090205460ff16155b15610cda57600d54821115610c2a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610411565b600e5482610c4c856001600160a01b03165f9081526001602052604090205490565b610c569190611604565b1115610ca45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610411565b436005546003610cb49190611604565b1115610cc557823b15610cc5575f80fd5b600c8054905f610cd483611617565b91905055505b6012546001600160a01b03848116911614801590610d1057506001600160a01b0383165f9081526003602052604090205460ff16155b15610d8f57600e5482610d37856001600160a01b03165f9081526001602052604090205490565b610d419190611604565b1115610d8f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610411565b6012546001600160a01b038481169116148015610db557506001600160a01b0384163014155b15610de257610ddf6064610b68600b54600c5411610dd557600754610b61565b6009548590610fe5565b90505b305f90815260016020526040902054601254600160a81b900460ff16158015610e1857506012546001600160a01b038581169116145b8015610e2d5750601254600160b01b900460ff165b8015610e3a5750600f5481115b15610e6e57610e5c610e5784610e52846010546110ab565b6110ab565b6110bf565b478015610e6c57610e6c4761122f565b505b505b8015610ee857305f90815260016020526040902054610e8f908261126a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610edf9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610f0a90836112c8565b6001600160a01b0385165f90815260016020526040902055610f4d610f2f83836112c8565b6001600160a01b0385165f908152600160205260409020549061126a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f9685856112c8565b60405190815260200160405180910390a350505050565b5f8184841115610fd05760405162461bcd60e51b81526004016104119190611335565b505f610fdc848661162f565b95945050505050565b5f825f03610ff457505f61035c565b5f610fff8385611553565b90508261100c8583611642565b146110635760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610411565b9392505050565b5f61106383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611309565b5f8183116110b95782611063565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061110557611105611661565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561115c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611180919061159f565b8160018151811061119357611193611661565b6001600160a01b0392831660209182029290920101526011546111b991309116846108c8565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906111f19085905f90869030904290600401611675565b5f604051808303815f87803b158015611208575f80fd5b505af115801561121a573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611266573d5f803e3d5ffd5b5050565b5f806112768385611604565b9050838110156110635760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610411565b5f61106383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fad565b5f81836113295760405162461bcd60e51b81526004016104119190611335565b505f610fdc8486611642565b5f6020808352835180828501525f5b8181101561136057858101830151858201604001528201611344565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611394575f80fd5b50565b5f80604083850312156113a8575f80fd5b82356113b381611380565b946020939093013593505050565b5f805f606084860312156113d3575f80fd5b83356113de81611380565b925060208401356113ee81611380565b929592945050506040919091013590565b5f6020828403121561140f575f80fd5b813561106381611380565b5f806040838503121561142b575f80fd5b823561143681611380565b9150602083013561144681611380565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561149f57815f190482111561148557611485611451565b8085161561149257918102915b93841c939080029061146a565b509250929050565b5f826114b55750600161035c565b816114c157505f61035c565b81600181146114d757600281146114e1576114fd565b600191505061035c565b60ff8411156114f2576114f2611451565b50506001821b61035c565b5060208310610133831016604e8410600b8410161715611520575081810a61035c565b61152a8383611465565b805f190482111561153d5761153d611451565b029392505050565b5f61106360ff8416836114a7565b808202811582820484141761035c5761035c611451565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156115af575f80fd5b815161106381611380565b5f805f606084860312156115cc575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156115f5575f80fd5b81518015158114611063575f80fd5b8082018082111561035c5761035c611451565b5f6001820161162857611628611451565b5060010190565b8181038181111561035c5761035c611451565b5f8261165c57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116c35784516001600160a01b03168352938301939183019160010161169e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d756d07bfc5251d4c34ab4785c3642ae7e95cec566e6f64c0ad9f43e154ad74b64736f6c63430008140033

Deployed Bytecode

0x6080604052600436106100fd575f3560e01c8063751039fc1161009257806395d89b411161006257806395d89b4114610294578063a9059cbb146102c0578063bf474bed146102df578063c9567bf9146102f4578063dd62ed3e14610308575f80fd5b8063751039fc146102305780637d1db4a5146102445780638da5cb5b146102595780638f9a55c01461027f575f80fd5b806323b872dd116100cd57806323b872dd146101ac578063313ce567146101cb57806370a08231146101e6578063715018a61461021a575f80fd5b806306fdde0314610108578063095ea7b3146101465780630faee56f1461017557806318160ddd14610198575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b50604080518082019091526004815263313ab73d60e11b60208201525b60405161013d9190611335565b60405180910390f35b348015610151575f80fd5b50610165610160366004611397565b61034c565b604051901515815260200161013d565b348015610180575f80fd5b5061018a60105481565b60405190815260200161013d565b3480156101a3575f80fd5b5061018a610362565b3480156101b7575f80fd5b506101656101c63660046113c1565b610381565b3480156101d6575f80fd5b506040516009815260200161013d565b3480156101f1575f80fd5b5061018a6102003660046113ff565b6001600160a01b03165f9081526001602052604090205490565b348015610225575f80fd5b5061022e6103e8565b005b34801561023b575f80fd5b5061022e610462565b34801561024f575f80fd5b5061018a600d5481565b348015610264575f80fd5b505f546040516001600160a01b03909116815260200161013d565b34801561028a575f80fd5b5061018a600e5481565b34801561029f575f80fd5b50604080518082019091526004815263212aa72d60e11b6020820152610130565b3480156102cb575f80fd5b506101656102da366004611397565b610510565b3480156102ea575f80fd5b5061018a600f5481565b3480156102ff575f80fd5b5061022e61051c565b348015610313575f80fd5b5061018a61032236600461141a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103583384846108c8565b5060015b92915050565b5f61036f6009600a611545565b61037c90620186a0611553565b905090565b5f61038d8484846109eb565b6103de84336103d9856040518060600160405280602881526020016116e5602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610fad565b6108c8565b5060019392505050565b5f546001600160a01b0316331461041a5760405162461bcd60e51b81526004016104119061156a565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461048b5760405162461bcd60e51b81526004016104119061156a565b6104976009600a611545565b6104a490620186a0611553565b600d556104b36009600a611545565b6104c090620186a0611553565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104f06009600a611545565b6104fd90620186a0611553565b60405190815260200160405180910390a1565b5f6103583384846109eb565b5f546001600160a01b031633146105455760405162461bcd60e51b81526004016104119061156a565b601254600160a01b900460ff161561059f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610411565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105e79030906105da6009600a611545565b6103d990620186a0611553565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610637573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065b919061159f565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106de919061159f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c919061159f565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d7194730610793816001600160a01b03165f9081526001602052604090205490565b5f806107a65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561080c573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061083191906115ba565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa91906115e5565b506012805462ff00ff60a01b19166201000160a01b17905543600555565b6001600160a01b03831661092a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610411565b6001600160a01b03821661098b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610411565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610411565b6001600160a01b038216610ab15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610411565b5f8111610b125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610411565b5f80546001600160a01b03858116911614801590610b3d57505f546001600160a01b03848116911614155b15610e7057610b6e6064610b68600a54600c5411610b5d57600654610b61565b6008545b8590610fe5565b9061106a565b9050306001600160a01b03851603610b84575060125b6012546001600160a01b038581169116148015610baf57506011546001600160a01b03848116911614155b8015610bd357506001600160a01b0383165f9081526003602052604090205460ff16155b15610cda57600d54821115610c2a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610411565b600e5482610c4c856001600160a01b03165f9081526001602052604090205490565b610c569190611604565b1115610ca45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610411565b436005546003610cb49190611604565b1115610cc557823b15610cc5575f80fd5b600c8054905f610cd483611617565b91905055505b6012546001600160a01b03848116911614801590610d1057506001600160a01b0383165f9081526003602052604090205460ff16155b15610d8f57600e5482610d37856001600160a01b03165f9081526001602052604090205490565b610d419190611604565b1115610d8f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610411565b6012546001600160a01b038481169116148015610db557506001600160a01b0384163014155b15610de257610ddf6064610b68600b54600c5411610dd557600754610b61565b6009548590610fe5565b90505b305f90815260016020526040902054601254600160a81b900460ff16158015610e1857506012546001600160a01b038581169116145b8015610e2d5750601254600160b01b900460ff165b8015610e3a5750600f5481115b15610e6e57610e5c610e5784610e52846010546110ab565b6110ab565b6110bf565b478015610e6c57610e6c4761122f565b505b505b8015610ee857305f90815260016020526040902054610e8f908261126a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610edf9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610f0a90836112c8565b6001600160a01b0385165f90815260016020526040902055610f4d610f2f83836112c8565b6001600160a01b0385165f908152600160205260409020549061126a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f9685856112c8565b60405190815260200160405180910390a350505050565b5f8184841115610fd05760405162461bcd60e51b81526004016104119190611335565b505f610fdc848661162f565b95945050505050565b5f825f03610ff457505f61035c565b5f610fff8385611553565b90508261100c8583611642565b146110635760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610411565b9392505050565b5f61106383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611309565b5f8183116110b95782611063565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061110557611105611661565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561115c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611180919061159f565b8160018151811061119357611193611661565b6001600160a01b0392831660209182029290920101526011546111b991309116846108c8565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906111f19085905f90869030904290600401611675565b5f604051808303815f87803b158015611208575f80fd5b505af115801561121a573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611266573d5f803e3d5ffd5b5050565b5f806112768385611604565b9050838110156110635760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610411565b5f61106383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fad565b5f81836113295760405162461bcd60e51b81526004016104119190611335565b505f610fdc8486611642565b5f6020808352835180828501525f5b8181101561136057858101830151858201604001528201611344565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611394575f80fd5b50565b5f80604083850312156113a8575f80fd5b82356113b381611380565b946020939093013593505050565b5f805f606084860312156113d3575f80fd5b83356113de81611380565b925060208401356113ee81611380565b929592945050506040919091013590565b5f6020828403121561140f575f80fd5b813561106381611380565b5f806040838503121561142b575f80fd5b823561143681611380565b9150602083013561144681611380565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561149f57815f190482111561148557611485611451565b8085161561149257918102915b93841c939080029061146a565b509250929050565b5f826114b55750600161035c565b816114c157505f61035c565b81600181146114d757600281146114e1576114fd565b600191505061035c565b60ff8411156114f2576114f2611451565b50506001821b61035c565b5060208310610133831016604e8410600b8410161715611520575081810a61035c565b61152a8383611465565b805f190482111561153d5761153d611451565b029392505050565b5f61106360ff8416836114a7565b808202811582820484141761035c5761035c611451565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156115af575f80fd5b815161106381611380565b5f805f606084860312156115cc575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156115f5575f80fd5b81518015158114611063575f80fd5b8082018082111561035c5761035c611451565b5f6001820161162857611628611451565b5060010190565b8181038181111561035c5761035c611451565b5f8261165c57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116c35784516001600160a01b03168352938301939183019160010161169e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d756d07bfc5251d4c34ab4785c3642ae7e95cec566e6f64c0ad9f43e154ad74b64736f6c63430008140033

Deployed Bytecode Sourcemap

3566:7425:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5300:83;;;;;;;;;;-1:-1:-1;5370:5:0;;;;;;;;;;;;-1:-1:-1;;;5370:5:0;;;;5300:83;;;;;;;:::i;:::-;;;;;;;;6133:161;;;;;;;;;;-1:-1:-1;6133:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6133:161:0;1023:187:1;4570:47:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4570:47:0;1215:177:1;5577:95:0;;;;;;;;;;;;;:::i;6302:313::-;;;;;;;;;;-1:-1:-1;6302:313:0;;;;;:::i;:::-;;:::i;5486:83::-;;;;;;;;;;-1:-1:-1;5486:83:0;;4214:1;2000:36:1;;1988:2;1973:18;5486:83:0;1858:184:1;5680:119:0;;;;;;;;;;-1:-1:-1;5680:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5773:18:0;5746:7;5773:18;;;:9;:18;;;;;;;5680:119;2647:148;;;;;;;;;;;;;:::i;:::-;;9977:159;;;;;;;;;;;;;:::i;4392:52::-;;;;;;;;;;;;;;;;2433:79;;;;;;;;;;-1:-1:-1;2471:7:0;2498:6;2433:79;;-1:-1:-1;;;;;2498:6:0;;;2445:51:1;;2433:2;2418:18;2433:79:0;2299:203:1;4451:52:0;;;;;;;;;;;;;;;;5391:87;;;;;;;;;;-1:-1:-1;5463:7:0;;;;;;;;;;;;-1:-1:-1;;;5463:7:0;;;;5391:87;;5807:167;;;;;;;;;;-1:-1:-1;5807:167:0;;;;;:::i;:::-;;:::i;4510:53::-;;;;;;;;;;;;;;;;10244:707;;;;;;;;;;;;;:::i;5982:143::-;;;;;;;;;;-1:-1:-1;5982:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6090:18:0;;;6063:7;6090:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5982:143;6133:161;6208:4;6225:39;268:10;6248:7;6257:6;6225:8;:39::i;:::-;-1:-1:-1;6282:4:0;6133:161;;;;;:::o;5577:95::-;5630:7;4266:13;4214:1;4266:2;:13;:::i;:::-;4257:22;;:6;:22;:::i;:::-;5650:14;;5577:95;:::o;6302:313::-;6400:4;6417:36;6427:6;6435:9;6446:6;6417:9;:36::i;:::-;6464:121;6473:6;268:10;6495:89;6533:6;6495:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6495:19:0;;;;;;:11;:19;;;;;;;;268:10;6495:33;;;;;;;;;;:37;:89::i;:::-;6464:8;:121::i;:::-;-1:-1:-1;6603:4:0;6302:313;;;;;:::o;2647:148::-;2560:6;;-1:-1:-1;;;;;2560:6:0;268:10;2560:22;2552:67;;;;-1:-1:-1;;;2552:67:0;;;;;;;:::i;:::-;;;;;;;;;2754:1:::1;2738:6:::0;;2717:40:::1;::::0;-1:-1:-1;;;;;2738:6:0;;::::1;::::0;2717:40:::1;::::0;2754:1;;2717:40:::1;2785:1;2768:19:::0;;-1:-1:-1;;;;;;2768:19:0::1;::::0;;2647:148::o;9977:159::-;2560:6;;-1:-1:-1;;;;;2560:6:0;268:10;2560:22;2552:67;;;;-1:-1:-1;;;2552:67:0;;;;;;;:::i;:::-;4266:13:::1;4214:1;4266:2;:13;:::i;:::-;4257:22;::::0;:6:::1;:22;:::i;:::-;10030:12;:22:::0;4266:13:::1;4214:1;4266:2;:13;:::i;:::-;4257:22;::::0;:6:::1;:22;:::i;:::-;10063:14;:22:::0;10101:27:::1;4266:13;4214:1;4266:2;:13;:::i;:::-;4257:22;::::0;:6:::1;:22;:::i;:::-;10101:27;::::0;1361:25:1;;;1349:2;1334:18;10101:27:0::1;;;;;;;9977:159::o:0;5807:167::-;5885:4;5902:42;268:10;5926:9;5937:6;5902:9;:42::i;10244:707::-;2560:6;;-1:-1:-1;;;;;2560:6:0;268:10;2560:22;2552:67;;;;-1:-1:-1;;;2552:67:0;;;;;;;:::i;:::-;10308:11:::1;::::0;-1:-1:-1;;;10308:11:0;::::1;;;10307:12;10299:47;;;::::0;-1:-1:-1;;;10299:47:0;;5151:2:1;10299:47:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;10299:47:0::1;4949:347:1::0;10299:47:0::1;10357:15;:80:::0;;-1:-1:-1;;;;;;10357:80:0::1;10394:42;10357:80:::0;;::::1;::::0;;;10448:58:::1;::::0;10465:4:::1;::::0;4266:13:::1;4214:1;4266:2;:13;:::i;:::-;4257:22;::::0;:6:::1;:22;:::i;10448:58::-;10551:15;;;;;;;;;-1:-1:-1::0;;;;;10551:15:0::1;-1:-1:-1::0;;;;;10551:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10533:55:0::1;;10597:4;10604:15;;;;;;;;;-1:-1:-1::0;;;;;10604:15:0::1;-1:-1:-1::0;;;;;10604:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10533:94;::::0;-1:-1:-1;;;;;;10533:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5787:15:1;;;10533:94:0::1;::::0;::::1;5769:34:1::0;5839:15;;5819:18;;;5812:43;5704:18;;10533:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10517:13;:110:::0;;-1:-1:-1;;;;;10517:110:0;;::::1;-1:-1:-1::0;;;;;;10517:110:0;;::::1;;::::0;;10638:15:::1;::::0;::::1;:31;10677:21;10708:4;10714:24;10708:4:::0;-1:-1:-1;;;;;5773:18:0;5746:7;5773:18;;;:9;:18;;;;;;;5680:119;10714:24:::1;10739:1;10741::::0;10743:7:::1;2471::::0;2498:6;-1:-1:-1;;;;;2498:6:0;;2433:79;10743:7:::1;10638:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10638:129:0;;;-1:-1:-1;;;;;6225:15:1;;;10638:129:0::1;::::0;::::1;6207:34:1::0;6257:18;;;6250:34;;;;6300:18;;;6293:34;;;;6343:18;;;6336:34;6407:15;;;6386:19;;;6379:44;10751:15:0::1;6439:19:1::0;;;6432:35;6141:19;;10638:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10785:13:0::1;::::0;10816:15:::1;::::0;10778:71:::1;::::0;-1:-1:-1;;;10778:71:0;;-1:-1:-1;;;;;10816:15:0;;::::1;10778:71;::::0;::::1;6963:51:1::0;-1:-1:-1;;7030:18:1;;;7023:34;10785:13:0;::::1;::::0;-1:-1:-1;10778:29:0::1;::::0;6936:18:1;;10778:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10860:11:0::1;:18:::0;;-1:-1:-1;;;;10889:18:0;-1:-1:-1;;;10889:18:0;;;10931:12:::1;10918:10;:25:::0;10244:707::o;6623:335::-;-1:-1:-1;;;;;6716:19:0;;6708:68;;;;-1:-1:-1;;;6708:68:0;;7552:2:1;6708:68:0;;;7534:21:1;7591:2;7571:18;;;7564:30;7630:34;7610:18;;;7603:62;-1:-1:-1;;;7681:18:1;;;7674:34;7725:19;;6708:68:0;7350:400:1;6708:68:0;-1:-1:-1;;;;;6795:21:0;;6787:68;;;;-1:-1:-1;;;6787:68:0;;7957:2:1;6787:68:0;;;7939:21:1;7996:2;7976:18;;;7969:30;8035:34;8015:18;;;8008:62;-1:-1:-1;;;8086:18:1;;;8079:32;8128:19;;6787:68:0;7755:398:1;6787:68:0;-1:-1:-1;;;;;6866:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6918:32;;1361:25:1;;;6918:32:0;;1334:18:1;6918:32:0;;;;;;;6623:335;;;:::o;6966:2201::-;-1:-1:-1;;;;;7054:18:0;;7046:68;;;;-1:-1:-1;;;7046:68:0;;8360:2:1;7046:68:0;;;8342:21:1;8399:2;8379:18;;;8372:30;8438:34;8418:18;;;8411:62;-1:-1:-1;;;8489:18:1;;;8482:35;8534:19;;7046:68:0;8158:401:1;7046:68:0;-1:-1:-1;;;;;7133:16:0;;7125:64;;;;-1:-1:-1;;;7125:64:0;;8766:2:1;7125:64:0;;;8748:21:1;8805:2;8785:18;;;8778:30;8844:34;8824:18;;;8817:62;-1:-1:-1;;;8895:18:1;;;8888:33;8938:19;;7125:64:0;8564:399:1;7125:64:0;7217:1;7208:6;:10;7200:64;;;;-1:-1:-1;;;7200:64:0;;9170:2:1;7200:64:0;;;9152:21:1;9209:2;9189:18;;;9182:30;9248:34;9228:18;;;9221:62;-1:-1:-1;;;9299:18:1;;;9292:39;9348:19;;7200:64:0;8968:405:1;7200:64:0;7275:17;2498:6;;-1:-1:-1;;;;;7309:15:0;;;2498:6;;7309:15;;;;:32;;-1:-1:-1;2471:7:0;2498:6;-1:-1:-1;;;;;7328:13:0;;;2498:6;;7328:13;;7309:32;7305:1506;;;7370:76;7442:3;7370:67;7392:15;;7382:9;;:25;7381:55;;7422:14;;7381:55;;;7409:12;;7381:55;7370:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7358:88;-1:-1:-1;7473:4:0;-1:-1:-1;;;;;7457:21:0;;;7454:48;;-1:-1:-1;7494:2:0;7454:48;7528:13;;-1:-1:-1;;;;;7520:21:0;;;7528:13;;7520:21;:55;;;;-1:-1:-1;7559:15:0;;-1:-1:-1;;;;;7545:30:0;;;7559:15;;7545:30;;7520:55;:83;;;;-1:-1:-1;;;;;;7581:22:0;;;;;;:18;:22;;;;;;;;7579:24;7520:83;7516:436;;;7643:12;;7633:6;:22;;7625:60;;;;-1:-1:-1;;;7625:60:0;;9580:2:1;7625:60:0;;;9562:21:1;9619:2;9599:18;;;9592:30;9658:27;9638:18;;;9631:55;9703:18;;7625:60:0;9378:349:1;7625:60:0;7738:14;;7728:6;7712:13;7722:2;-1:-1:-1;;;;;5773:18:0;5746:7;5773:18;;;:9;:18;;;;;;;5680:119;7712:13;:22;;;;:::i;:::-;:40;;7704:79;;;;-1:-1:-1;;;7704:79:0;;10064:2:1;7704:79:0;;;10046:21:1;10103:2;10083:18;;;10076:30;10142:28;10122:18;;;10115:56;10188:18;;7704:79:0;9862:350:1;7704:79:0;7826:12;7808:10;;7821:1;7808:14;;;;:::i;:::-;:30;7804:103;;;9414:20;;9462:8;7863:24;;;;;;7925:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7516:436;7978:13;;-1:-1:-1;;;;;7972:19:0;;;7978:13;;7972:19;;;;:47;;-1:-1:-1;;;;;;7997:22:0;;;;;;:18;:22;;;;;;;;7995:24;7972:47;7968:167;;;8074:14;;8064:6;8048:13;8058:2;-1:-1:-1;;;;;5773:18:0;5746:7;5773:18;;;:9;:18;;;;;;;5680:119;8048:13;:22;;;;:::i;:::-;:40;;8040:79;;;;-1:-1:-1;;;8040:79:0;;10064:2:1;8040:79:0;;;10046:21:1;10103:2;10083:18;;;10076:30;10142:28;10122:18;;;10115:56;10188:18;;8040:79:0;9862:350:1;8040:79:0;8160:13;;-1:-1:-1;;;;;8154:19:0;;;8160:13;;8154:19;:43;;;;-1:-1:-1;;;;;;8177:20:0;;8192:4;8177:20;;8154:43;8151:174;;;8230:79;8305:3;8230:70;8252:16;;8242:9;;:26;8241:58;;8284:15;;8241:58;;;8270:13;;8230:6;;:10;:70::i;:79::-;8218:91;;8151:174;8390:4;8341:28;5773:18;;;:9;:18;;;;;;8416:6;;-1:-1:-1;;;8416:6:0;;;;8415:7;:32;;;;-1:-1:-1;8434:13:0;;-1:-1:-1;;;;;8426:21:0;;;8434:13;;8426:21;8415:32;:47;;;;-1:-1:-1;8451:11:0;;-1:-1:-1;;;8451:11:0;;;;8415:47;:89;;;;;8487:17;;8466:20;:38;8415:89;8411:389;;;8525:67;8542:49;8546:6;8553:37;8557:20;8578:11;;8553:3;:37::i;:::-;8542:3;:49::i;:::-;8525:16;:67::i;:::-;8640:21;8683:22;;8680:105;;8730:35;8743:21;8730:12;:35::i;:::-;8506:294;8411:389;7343:1468;7305:1506;8826:11;;8823:161;;8894:4;8876:24;;;;:9;:24;;;;;;:39;;8905:9;8876:28;:39::i;:::-;8869:4;8851:24;;;;:9;:24;;;;;;;:64;;;;8933:39;;-1:-1:-1;;;;;8933:39:0;;;;;;;8962:9;1361:25:1;;1349:2;1334:18;;1215:177;8933:39:0;;;;;;;;8823:161;-1:-1:-1;;;;;9010:15:0;;;;;;:9;:15;;;;;;:27;;9030:6;9010:19;:27::i;:::-;-1:-1:-1;;;;;8994:15:0;;;;;;:9;:15;;;;;:43;9062:40;9080:21;:6;9091:9;9080:10;:21::i;:::-;-1:-1:-1;;;;;9062:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9048:13:0;;;;;;;:9;:13;;;;;:54;;;;9118:41;;;9137:21;:6;9148:9;9137:10;:21::i;:::-;9118:41;;1361:25:1;;;1349:2;1334:18;9118:41:0;;;;;;;7035:2132;6966:2201;;;:::o;1325:190::-;1411:7;1447:12;1439:6;;;;1431:29;;;;-1:-1:-1;;;1431:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1471:9:0;1483:5;1487:1;1483;:5;:::i;:::-;1471:17;1325:190;-1:-1:-1;;;;;1325:190:0:o;1523:246::-;1581:7;1605:1;1610;1605:6;1601:47;;-1:-1:-1;1635:1:0;1628:8;;1601:47;1658:9;1670:5;1674:1;1670;:5;:::i;:::-;1658:17;-1:-1:-1;1703:1:0;1694:5;1698:1;1658:17;1694:5;:::i;:::-;:10;1686:56;;;;-1:-1:-1;;;1686:56:0;;10914:2:1;1686:56:0;;;10896:21:1;10953:2;10933:18;;;10926:30;10992:34;10972:18;;;10965:62;-1:-1:-1;;;11043:18:1;;;11036:31;11084:19;;1686:56:0;10712:397:1;1686:56:0;1760:1;1523:246;-1:-1:-1;;;1523:246:0:o;1777:132::-;1835:7;1862:39;1866:1;1869;1862:39;;;;;;;;;;;;;;;;;:3;:39::i;9177:98::-;9234:7;9261:1;9259;:3;9258:9;;9266:1;9258:9;;;-1:-1:-1;9264:1:0;9177:98;-1:-1:-1;9177:98:0:o;9486:483::-;4899:6;:13;;-1:-1:-1;;;;4899:13:0;-1:-1:-1;;;4899:13:0;;;9588:16:::1;::::0;;9602:1:::1;9588:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9588:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9588:16:0::1;9564:40;;9633:4;9615;9620:1;9615:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9615:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9659:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9659:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9615:7;;9659:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9649:4;9654:1;9649:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9649:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9724:15:::1;::::0;9692:62:::1;::::0;9709:4:::1;::::0;9724:15:::1;9742:11:::0;9692:8:::1;:62::i;:::-;9765:15;::::0;:196:::1;::::0;-1:-1:-1;;;9765:196:0;;-1:-1:-1;;;;;9765:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9846:11;;9765:15:::1;::::0;9888:4;;9915::::1;::::0;9935:15:::1;::::0;9765:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4935:6:0;:14;;-1:-1:-1;;;;4935:14:0;;;-1:-1:-1;;;;9486:483:0:o;10144:92::-;10201:10;;:27;;-1:-1:-1;;;;;10201:10:0;;;;:27;;;;;10221:6;;10201:10;:27;:10;:27;10221:6;10201:10;:27;;;;;;;;;;;;;;;;;;;;;10144:92;:::o;994:179::-;1052:7;;1084:5;1088:1;1084;:5;:::i;:::-;1072:17;;1113:1;1108;:6;;1100:46;;;;-1:-1:-1;;;1100:46:0;;12565:2:1;1100:46:0;;;12547:21:1;12604:2;12584:18;;;12577:30;12643:29;12623:18;;;12616:57;12690:18;;1100:46:0;12363:351:1;1181:136:0;1239:7;1266:43;1270:1;1273;1266:43;;;;;;;;;;;;;;;;;:3;:43::i;1917:189::-;2003:7;2038:12;2031:5;2023:28;;;;-1:-1:-1;;;2023:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2062:9:0;2074:5;2078:1;2074;: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:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5301:251::-;5371:6;5424:2;5412:9;5403:7;5399:23;5395:32;5392:52;;;5440:1;5437;5430:12;5392:52;5472:9;5466:16;5491:31;5516:5;5491:31;:::i;6478:306::-;6566:6;6574;6582;6635:2;6623:9;6614:7;6610:23;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6680:9;6674:16;6664:26;;6730:2;6719:9;6715:18;6709:25;6699:35;;6774:2;6763:9;6759:18;6753:25;6743:35;;6478:306;;;;;:::o;7068:277::-;7135:6;7188:2;7176:9;7167:7;7163:23;7159:32;7156:52;;;7204:1;7201;7194:12;7156:52;7236:9;7230:16;7289:5;7282:13;7275:21;7268:5;7265:32;7255:60;;7311:1;7308;7301:12;9732:125;9797:9;;;9818:10;;;9815:36;;;9831:18;;:::i;10217:135::-;10256:3;10277:17;;;10274:43;;10297:18;;:::i;:::-;-1:-1:-1;10344:1:1;10333:13;;10217:135::o;10357:128::-;10424:9;;;10445:11;;;10442:37;;;10459:18;;:::i;10490:217::-;10530:1;10556;10546:132;;10600:10;10595:3;10591:20;10588:1;10581:31;10635:4;10632:1;10625:15;10663:4;10660:1;10653:15;10546:132;-1:-1:-1;10692:9:1;;10490:217::o;11246:127::-;11307:10;11302:3;11298:20;11295:1;11288:31;11338:4;11335:1;11328:15;11362:4;11359:1;11352:15;11378:980;11640:4;11688:3;11677:9;11673:19;11719:6;11708:9;11701:25;11745:2;11783:6;11778:2;11767:9;11763:18;11756:34;11826:3;11821:2;11810:9;11806:18;11799:31;11850:6;11885;11879:13;11916:6;11908;11901:22;11954:3;11943:9;11939:19;11932:26;;11993:2;11985:6;11981:15;11967:29;;12014:1;12024:195;12038:6;12035:1;12032:13;12024:195;;;12103:13;;-1:-1:-1;;;;;12099:39:1;12087:52;;12194:15;;;;12159:12;;;;12135:1;12053:9;12024:195;;;-1:-1:-1;;;;;;;12275:32:1;;;;12270:2;12255:18;;12248:60;-1:-1:-1;;;12339:3:1;12324:19;12317:35;12236:3;11378:980;-1:-1:-1;;;11378:980:1:o

Swarm Source

ipfs://d756d07bfc5251d4c34ab4785c3642ae7e95cec566e6f64c0ad9f43e154ad74b

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.