ETH Price: $3,957.43 (+2.06%)

Token

ERC-20: ELON versus BOB (ELONvsBOB)
 

Overview

Max Total Supply

1,000,000 ELONvsBOB

Holders

8

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
nobodyy.eth
Balance
0.622034050105611705 ELONvsBOB

Value
$0.00
0x5aba902c17afd30c7abbc65d71bd5714a2671155
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:
ELONvsBOB

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-12-03
*/

/*

Entering the ring today... ELON vs BOB !

Telegram: t.me/oktagon_eth
X: x.com/oktagon_eth

Brought to you by Oktagon Ethereum:
✅ One launch per week - same day, same time, same dev
✅ Initial Liquidity is minimum 1 ETH 
✅ One hour after launch, the initial liquidity will be taken out, the token will be renounced and 100% of the LP will be burnt
✅ Technology by DevButler (x.com/thedevbutler)

*/

pragma solidity >= 0.8.21;

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

interface IUniswapV2Pair {
    function token0() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
}

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;
    
    function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);

    function removeLiquidityETH(address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external returns (uint amountToken, uint amountETH);
}

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 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 from, address to, uint256 amount) external returns (bool);
}

abstract contract Ownable {
    address private owner;

    constructor() {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(owner == msg.sender, "Caller must be owner");
        _;
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        owner = newOwner;
    }
}

contract ELONvsBOB is Ownable, IERC20 {

    IUniswapV2Router02 public constant UNISWAP_ROUTER = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public UNISWAP_PAIR;

    address private constant FEE_RECIPIENT = 0xa55dc4860EE12BAA7dDe8043708B582a4eeBe617;
    uint8 constant private DECIMALS = 18;
    uint8 private constant FAIR_EXIT_OWNER_REFUND_PERCENTAGE = 100; // = 100 %
    uint16 private constant HOLDER_SHARE_THRESHOLD = 10000;
    uint256 constant private TOTAL_SUPPLY = 1000000 * (10 ** DECIMALS);
    uint256 constant private MAX_TRANSACTION = 20000 * (10 ** DECIMALS);
    uint256 constant private MAX_WALLET = 20000 * (10 ** DECIMALS);

    uint8 private FEE = 50; // = 5 %
    uint8 private FEE_TRANSFER_INTERVAL = 5;

    bool private fairExiting = false;
    bool private feesPaying = false;

    uint256 private sellCount;
    uint256 private initialLiquidityInETH;
    uint256 private initialMintedLiquidityPoolTokens;

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

    constructor() payable {
        _balances[address(this)] = TOTAL_SUPPLY;
        emit Transfer(address(0), address(this), _balances[address(this)]);

        UNISWAP_PAIR = IUniswapV2Factory(UNISWAP_ROUTER.factory()).createPair(address(this), UNISWAP_ROUTER.WETH());
        _approve(address(this), address(UNISWAP_ROUTER), type(uint256).max);

        excludedFromFees[FEE_RECIPIENT] = true;
        excludedFromFees[getOwner()] = true;
        excludedFromFees[address(0)] = true;
        excludedFromFees[address(this)] = true;

        excludedFromMaxTransaction[FEE_RECIPIENT] = true;
        excludedFromMaxTransaction[getOwner()] = true;
        excludedFromMaxTransaction[address(this)] = true;
        excludedFromMaxTransaction[address(UNISWAP_ROUTER)] = true;
        excludedFromMaxTransaction[UNISWAP_PAIR] = true;
    }

    receive() external payable {
    }

    function name() public view virtual returns (string memory) {
        return "ELON versus BOB";
    }

    function symbol() public view virtual returns (string memory) {
        return "ELONvsBOB";
    }

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

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

    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 approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "Approve from the zero address");
        require(spender != address(0), "Approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        require(msg.sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        doTransfer(msg.sender, recipient, amount);
        return true;
    }

	function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {
		address spender = msg.sender;
		uint256 currentAllowance = allowance(from, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= value, "ERC20: Insufficient allowance");
            _approve(from, spender, currentAllowance - value);
        }
        doTransfer(from, to, value);
        return true;
    }

    function doTransfer(address sender, address recipient, uint256 amount) internal virtual {
        if (UNISWAP_PAIR == sender) {
            if (!excludedFromMaxTransaction[recipient]) {
                require(amount <= MAX_TRANSACTION, "Buy transfer amount exceeds MAX TX");
                require(amount + _balances[recipient] <= MAX_WALLET, "Buy transfer amount exceeds MAX WALLET");
            }
        } else if (UNISWAP_PAIR == recipient) {
            if (!excludedFromMaxTransaction[sender]) {
                require(amount <= MAX_TRANSACTION, "Sell transfer amount exceeds MAX TX");
                sellCount = sellCount + 1;
                if (sellCount % FEE_TRANSFER_INTERVAL == 0) {
                    transferFees();
                }
            }
        }

        uint256 totalFees = 0;
        if (FEE != 0 && !fairExiting && !feesPaying && !excludedFromFees[sender] && !excludedFromFees[recipient]) {
            totalFees = totalFees + ((FEE * amount) / 1000);
        }        

        require(_balances[sender] >= amount, "Integer Underflow Protection");

        if (totalFees != 0) {
            amount = amount - totalFees;
            _balances[sender] = _balances[sender] - totalFees;
            _balances[address(this)] = _balances[address(this)] + totalFees;
            emit Transfer(sender, address(this), totalFees);
        }

        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;

        emit Transfer(sender, recipient, amount);
    }

    function transferFees() internal {
        if (!feesPaying) {
            feesPaying = true;
            if (_balances[address(this)] != 0) {
                address[] memory path = new address[](2);
                path[0] = address(this);
                path[1] = UNISWAP_ROUTER.WETH();
                try UNISWAP_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens(
                    _balances[address(this)],
                    0,
                    path,
                    FEE_RECIPIENT,
                    block.timestamp) {} catch {}
            }
            feesPaying = false;
        }
    }

    function openTrading() external onlyOwner payable {
        (, uint256 amountETH, uint256 liquidity) = UNISWAP_ROUTER.addLiquidityETH{value: address(this).balance}(
            address(this),
            _balances[address(this)],
            0,
            0,
            address(this),
            block.timestamp
        );
        initialLiquidityInETH = initialLiquidityInETH + amountETH;
        initialMintedLiquidityPoolTokens = initialMintedLiquidityPoolTokens + liquidity;
    }

    function fairExit() external onlyOwner {
        require(!fairExiting, "Already exiting");
        fairExiting = true;
        transferFees();
        (uint112 reserve0, uint112 reserve1, ) = IUniswapV2Pair(UNISWAP_PAIR).getReserves();
        uint256 lpTokensToRemove = ((initialMintedLiquidityPoolTokens * (FAIR_EXIT_OWNER_REFUND_PERCENTAGE * initialLiquidityInETH / 100) 
            * HOLDER_SHARE_THRESHOLD) / (IUniswapV2Pair(UNISWAP_PAIR).token0() == address(this) ? reserve1 : reserve0)) / HOLDER_SHARE_THRESHOLD;
        IERC20(UNISWAP_PAIR).approve(address(UNISWAP_ROUTER), type(uint256).max);
        UNISWAP_ROUTER.removeLiquidityETH(
            address(this),
            lpTokensToRemove > initialMintedLiquidityPoolTokens ? initialMintedLiquidityPoolTokens : lpTokensToRemove,
            0,
            0,
            address(this),
            block.timestamp
        );
        try IERC20(address(this)).transfer(
            0x000000000000000000000000000000000000dEaD, 
            _balances[address(this)]) {} catch {}
        try IERC20(UNISWAP_PAIR).transfer(
            0x000000000000000000000000000000000000dEaD, 
            IERC20(UNISWAP_PAIR).balanceOf(address(this))) {} catch {}
        payable(getOwner()).transfer(address(this).balance);
        FEE_TRANSFER_INTERVAL = 1;
        FEE = 10;
        transferOwnership(address(0));
        fairExiting = false;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"UNISWAP_PAIR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_ROUTER","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"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":[],"name":"fairExit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526032600160146101000a81548160ff021916908360ff1602179055506005600160156101000a81548160ff021916908360ff1602179055505f600160166101000a81548160ff0219169083151502179055505f600160176101000a81548160ff021916908315150217905550335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620000bf919062000ac2565b620f4240620000cf919062000b12565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054604051620001ac919062000b6d565b60405180910390a3737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000212573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000238919062000bed565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002d8919062000bed565b6040518363ffffffff1660e01b8152600401620002f792919062000c2e565b6020604051808303815f875af115801562000314573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200033a919062000bed565b60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003c030737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200073e60201b60201c565b600160075f73a55dc4860ee12baa7dde8043708b582a4eebe61773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f6200043e6200090960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f73a55dc4860ee12baa7dde8043708b582a4eebe61773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f620005b56200090960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000d45565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620007af576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a69062000cb7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000820576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008179062000d25565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620008fc919062000b6d565b60405180910390a3505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620009ba5780860481111562000992576200099162000930565b5b6001851615620009a25780820291505b8081029050620009b2856200095d565b945062000972565b94509492505050565b5f82620009d4576001905062000aa6565b81620009e3575f905062000aa6565b8160018114620009fc576002811462000a075762000a3d565b600191505062000aa6565b60ff84111562000a1c5762000a1b62000930565b5b8360020a91508482111562000a365762000a3562000930565b5b5062000aa6565b5060208310610133831016604e8410600b841016171562000a775782820a90508381111562000a715762000a7062000930565b5b62000aa6565b62000a86848484600162000969565b9250905081840481111562000aa05762000a9f62000930565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000ace8262000aad565b915062000adb8362000ab6565b925062000b0a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009c3565b905092915050565b5f62000b1e8262000aad565b915062000b2b8362000aad565b925082820262000b3b8162000aad565b9150828204841483151762000b555762000b5462000930565b5b5092915050565b62000b678162000aad565b82525050565b5f60208201905062000b825f83018462000b5c565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000bb78262000b8c565b9050919050565b62000bc98162000bab565b811462000bd4575f80fd5b50565b5f8151905062000be78162000bbe565b92915050565b5f6020828403121562000c055762000c0462000b88565b5b5f62000c148482850162000bd7565b91505092915050565b62000c288162000bab565b82525050565b5f60408201905062000c435f83018562000c1d565b62000c52602083018462000c1d565b9392505050565b5f82825260208201905092915050565b7f417070726f76652066726f6d20746865207a65726f20616464726573730000005f82015250565b5f62000c9f601d8362000c59565b915062000cac8262000c69565b602082019050919050565b5f6020820190508181035f83015262000cd08162000c91565b9050919050565b7f417070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f62000d0d601b8362000c59565b915062000d1a8262000cd7565b602082019050919050565b5f6020820190508181035f83015262000d3e8162000cff565b9050919050565b612c878062000d535f395ff3fe6080604052600436106100eb575f3560e01c8063893d20e811610089578063c9567bf911610058578063c9567bf9146102f8578063d826492014610302578063dd62ed3e1461032c578063f2fde38b14610368576100f2565b8063893d20e81461025257806395d89b411461027c5780639b197fea146102a6578063a9059cbb146102bc576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c25780636ba631cf146101ec57806370a0823114610216576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a610390565b6040516101179190611d19565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190611dca565b6103cd565b6040516101539190611e22565b60405180910390f35b348015610167575f80fd5b506101706103e3565b60405161017d9190611e4a565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a79190611e63565b610405565b6040516101b99190611e22565b60405180910390f35b3480156101cd575f80fd5b506101d66104b0565b6040516101e39190611ece565b60405180910390f35b3480156101f7575f80fd5b506102006104b8565b60405161020d9190611ef6565b60405180910390f35b348015610221575f80fd5b5061023c60048036038101906102379190611f0f565b6104dd565b6040516102499190611e4a565b60405180910390f35b34801561025d575f80fd5b50610266610523565b6040516102739190611ef6565b60405180910390f35b348015610287575f80fd5b5061029061054a565b60405161029d9190611d19565b60405180910390f35b3480156102b1575f80fd5b506102ba610587565b005b3480156102c7575f80fd5b506102e260048036038101906102dd9190611dca565b610c66565b6040516102ef9190611e22565b60405180910390f35b610300610d58565b005b34801561030d575f80fd5b50610316610eee565b6040516103239190611f95565b60405180910390f35b348015610337575f80fd5b50610352600480360381019061034d9190611fae565b610f06565b60405161035f9190611e4a565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190611f0f565b610f88565b005b60606040518060400160405280600f81526020017f454c4f4e2076657273757320424f420000000000000000000000000000000000815250905090565b5f6103d9338484611057565b6001905092915050565b5f6012600a6103f29190612148565b620f42406104009190612192565b905090565b5f803390505f6104158683610f06565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146104985783811015610481576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104789061221d565b60405180910390fd5b61049786838684610492919061223b565b611057565b5b6104a386868661121a565b6001925050509392505050565b5f6012905090565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f454c4f4e7673424f420000000000000000000000000000000000000000000000815250905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060b906122b8565b60405180910390fd5b600160169054906101000a900460ff1615610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b90612320565b60405180910390fd5b60018060166101000a81548160ff0219169083151502179055506106866119c5565b5f8060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071691906123ba565b50915091505f61271061ffff163073ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c8919061241e565b73ffffffffffffffffffffffffffffffffffffffff16146107e957836107eb565b825b6dffffffffffffffffffffffffffff1661271061ffff166064600354606460ff166108169190612192565b6108209190612476565b60045461082d9190612192565b6108379190612192565b6108419190612476565b61084b9190612476565b905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016108dd9291906124a6565b6020604051808303815f875af11580156108f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091d91906124f7565b50737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff166302751cec30600454841161095e5783610962565b6004545b5f8030426040518763ffffffff1660e01b81526004016109879695949392919061255b565b60408051808303815f875af11580156109a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c691906125ce565b50503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040518363ffffffff1660e01b8152600401610a429291906124a6565b6020604051808303815f875af1925050508015610a7d57506040513d601f19601f82011682018060405250810190610a7a91906124f7565b60015b15610a8457505b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b1e9190611ef6565b602060405180830381865afa158015610b39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5d919061260c565b6040518363ffffffff1660e01b8152600401610b7a9291906124a6565b6020604051808303815f875af1925050508015610bb557506040513d601f19601f82011682018060405250810190610bb291906124f7565b60015b15610bbc57505b610bc4610523565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610c06573d5f803e3d5ffd5b5060018060156101000a81548160ff021916908360ff160217905550600a600160146101000a81548160ff021916908360ff160217905550610c475f610f88565b5f600160166101000a81548160ff021916908315150217905550505050565b5f8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc906126a7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3a90612735565b60405180910390fd5b610d4e33848461121a565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc906122b8565b60405180910390fd5b5f80737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719473060055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20545f8030426040518863ffffffff1660e01b8152600401610e7c9695949392919061255b565b60606040518083038185885af1158015610e98573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ebd9190612753565b925092505081600354610ed091906127a3565b60038190555080600454610ee491906127a3565b6004819055505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611015576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100c906122b8565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bc90612820565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a90612888565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161120d9190611e4a565b60405180910390a3505050565b8273ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036113c45760085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166113bf576012600a6112ca9190612148565b614e206112d79190612192565b811115611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090612916565b60405180910390fd5b6012600a6113279190612148565b614e206113349190612192565b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20548261137d91906127a3565b11156113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b5906129a4565b60405180910390fd5b5b61150a565b8173ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036115095760085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611508576012600a6114749190612148565b614e206114819190612192565b8111156114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba90612a32565b60405180910390fd5b60016002546114d291906127a3565b6002819055505f600160159054906101000a900460ff1660ff166002546114f99190612a50565b03611507576115066119c5565b5b5b5b5b5f80600160149054906101000a900460ff1660ff161415801561153a5750600160169054906101000a900460ff16155b80156115535750600160179054906101000a900460ff16155b80156115a6575060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156115f9575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611637576103e882600160149054906101000a900460ff1660ff1661161f9190612192565b6116299190612476565b8161163491906127a3565b90505b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156116b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ae90612aca565b60405180910390fd5b5f81146118465780826116ca919061223b565b91508060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611715919061223b565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461179f91906127a3565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161183d9190611e4a565b60405180910390a35b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461188f919061223b565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461191991906127a3565b60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119b79190611e4a565b60405180910390a350505050565b600160179054906101000a900460ff16611c8d5760018060176101000a81548160ff0219169083151502179055505f60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414611c72575f600267ffffffffffffffff811115611a5357611a52612ae8565b5b604051908082528060200260200182016040528015611a815781602001602082028036833780820191505090505b50905030815f81518110611a9857611a97612b15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b53919061241e565b81600181518110611b6757611b66612b15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac94760055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20545f8473a55dc4860ee12baa7dde8043708b582a4eebe617426040518663ffffffff1660e01b8152600401611c47959493929190612bf9565b5f604051808303815f87803b158015611c5e575f80fd5b505af1925050508015611c6f575060015b50505b5f600160176101000a81548160ff0219169083151502179055505b565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611cc6578082015181840152602081019050611cab565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611ceb82611c8f565b611cf58185611c99565b9350611d05818560208601611ca9565b611d0e81611cd1565b840191505092915050565b5f6020820190508181035f830152611d318184611ce1565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d6682611d3d565b9050919050565b611d7681611d5c565b8114611d80575f80fd5b50565b5f81359050611d9181611d6d565b92915050565b5f819050919050565b611da981611d97565b8114611db3575f80fd5b50565b5f81359050611dc481611da0565b92915050565b5f8060408385031215611de057611ddf611d39565b5b5f611ded85828601611d83565b9250506020611dfe85828601611db6565b9150509250929050565b5f8115159050919050565b611e1c81611e08565b82525050565b5f602082019050611e355f830184611e13565b92915050565b611e4481611d97565b82525050565b5f602082019050611e5d5f830184611e3b565b92915050565b5f805f60608486031215611e7a57611e79611d39565b5b5f611e8786828701611d83565b9350506020611e9886828701611d83565b9250506040611ea986828701611db6565b9150509250925092565b5f60ff82169050919050565b611ec881611eb3565b82525050565b5f602082019050611ee15f830184611ebf565b92915050565b611ef081611d5c565b82525050565b5f602082019050611f095f830184611ee7565b92915050565b5f60208284031215611f2457611f23611d39565b5b5f611f3184828501611d83565b91505092915050565b5f819050919050565b5f611f5d611f58611f5384611d3d565b611f3a565b611d3d565b9050919050565b5f611f6e82611f43565b9050919050565b5f611f7f82611f64565b9050919050565b611f8f81611f75565b82525050565b5f602082019050611fa85f830184611f86565b92915050565b5f8060408385031215611fc457611fc3611d39565b5b5f611fd185828601611d83565b9250506020611fe285828601611d83565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561206e5780860481111561204a57612049611fec565b5b60018516156120595780820291505b808102905061206785612019565b945061202e565b94509492505050565b5f826120865760019050612141565b81612093575f9050612141565b81600181146120a957600281146120b3576120e2565b6001915050612141565b60ff8411156120c5576120c4611fec565b5b8360020a9150848211156120dc576120db611fec565b5b50612141565b5060208310610133831016604e8410600b84101617156121175782820a90508381111561211257612111611fec565b5b612141565b6121248484846001612025565b9250905081840481111561213b5761213a611fec565b5b81810290505b9392505050565b5f61215282611d97565b915061215d83611eb3565b925061218a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612077565b905092915050565b5f61219c82611d97565b91506121a783611d97565b92508282026121b581611d97565b915082820484148315176121cc576121cb611fec565b5b5092915050565b7f45524332303a20496e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612207601d83611c99565b9150612212826121d3565b602082019050919050565b5f6020820190508181035f830152612234816121fb565b9050919050565b5f61224582611d97565b915061225083611d97565b925082820390508181111561226857612267611fec565b5b92915050565b7f43616c6c6572206d757374206265206f776e65720000000000000000000000005f82015250565b5f6122a2601483611c99565b91506122ad8261226e565b602082019050919050565b5f6020820190508181035f8301526122cf81612296565b9050919050565b7f416c72656164792065786974696e6700000000000000000000000000000000005f82015250565b5f61230a600f83611c99565b9150612315826122d6565b602082019050919050565b5f6020820190508181035f830152612337816122fe565b9050919050565b5f6dffffffffffffffffffffffffffff82169050919050565b6123608161233e565b811461236a575f80fd5b50565b5f8151905061237b81612357565b92915050565b5f63ffffffff82169050919050565b61239981612381565b81146123a3575f80fd5b50565b5f815190506123b481612390565b92915050565b5f805f606084860312156123d1576123d0611d39565b5b5f6123de8682870161236d565b93505060206123ef8682870161236d565b9250506040612400868287016123a6565b9150509250925092565b5f8151905061241881611d6d565b92915050565b5f6020828403121561243357612432611d39565b5b5f6124408482850161240a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61248082611d97565b915061248b83611d97565b92508261249b5761249a612449565b5b828204905092915050565b5f6040820190506124b95f830185611ee7565b6124c66020830184611e3b565b9392505050565b6124d681611e08565b81146124e0575f80fd5b50565b5f815190506124f1816124cd565b92915050565b5f6020828403121561250c5761250b611d39565b5b5f612519848285016124e3565b91505092915050565b5f819050919050565b5f61254561254061253b84612522565b611f3a565b611d97565b9050919050565b6125558161252b565b82525050565b5f60c08201905061256e5f830189611ee7565b61257b6020830188611e3b565b612588604083018761254c565b612595606083018661254c565b6125a26080830185611ee7565b6125af60a0830184611e3b565b979650505050505050565b5f815190506125c881611da0565b92915050565b5f80604083850312156125e4576125e3611d39565b5b5f6125f1858286016125ba565b9250506020612602858286016125ba565b9150509250929050565b5f6020828403121561262157612620611d39565b5b5f61262e848285016125ba565b91505092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612691602583611c99565b915061269c82612637565b604082019050919050565b5f6020820190508181035f8301526126be81612685565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61271f602383611c99565b915061272a826126c5565b604082019050919050565b5f6020820190508181035f83015261274c81612713565b9050919050565b5f805f6060848603121561276a57612769611d39565b5b5f612777868287016125ba565b9350506020612788868287016125ba565b9250506040612799868287016125ba565b9150509250925092565b5f6127ad82611d97565b91506127b883611d97565b92508282019050808211156127d0576127cf611fec565b5b92915050565b7f417070726f76652066726f6d20746865207a65726f20616464726573730000005f82015250565b5f61280a601d83611c99565b9150612815826127d6565b602082019050919050565b5f6020820190508181035f830152612837816127fe565b9050919050565b7f417070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f612872601b83611c99565b915061287d8261283e565b602082019050919050565b5f6020820190508181035f83015261289f81612866565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473204d4158205f8201527f5458000000000000000000000000000000000000000000000000000000000000602082015250565b5f612900602283611c99565b915061290b826128a6565b604082019050919050565b5f6020820190508181035f83015261292d816128f4565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473204d4158205f8201527f57414c4c45540000000000000000000000000000000000000000000000000000602082015250565b5f61298e602683611c99565b915061299982612934565b604082019050919050565b5f6020820190508181035f8301526129bb81612982565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473204d41585f8201527f2054580000000000000000000000000000000000000000000000000000000000602082015250565b5f612a1c602383611c99565b9150612a27826129c2565b604082019050919050565b5f6020820190508181035f830152612a4981612a10565b9050919050565b5f612a5a82611d97565b9150612a6583611d97565b925082612a7557612a74612449565b5b828206905092915050565b7f496e746567657220556e646572666c6f772050726f74656374696f6e000000005f82015250565b5f612ab4601c83611c99565b9150612abf82612a80565b602082019050919050565b5f6020820190508181035f830152612ae181612aa8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b7481611d5c565b82525050565b5f612b858383612b6b565b60208301905092915050565b5f602082019050919050565b5f612ba782612b42565b612bb18185612b4c565b9350612bbc83612b5c565b805f5b83811015612bec578151612bd38882612b7a565b9750612bde83612b91565b925050600181019050612bbf565b5085935050505092915050565b5f60a082019050612c0c5f830188611e3b565b612c19602083018761254c565b8181036040830152612c2b8186612b9d565b9050612c3a6060830185611ee7565b612c476080830184611e3b565b969550505050505056fea264697066735822122041b8f7348544eac54d012e051fcedc8898672919c8e9a686c732e7fdc6795e0264736f6c63430008150033

Deployed Bytecode

0x6080604052600436106100eb575f3560e01c8063893d20e811610089578063c9567bf911610058578063c9567bf9146102f8578063d826492014610302578063dd62ed3e1461032c578063f2fde38b14610368576100f2565b8063893d20e81461025257806395d89b411461027c5780639b197fea146102a6578063a9059cbb146102bc576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c25780636ba631cf146101ec57806370a0823114610216576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a610390565b6040516101179190611d19565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190611dca565b6103cd565b6040516101539190611e22565b60405180910390f35b348015610167575f80fd5b506101706103e3565b60405161017d9190611e4a565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a79190611e63565b610405565b6040516101b99190611e22565b60405180910390f35b3480156101cd575f80fd5b506101d66104b0565b6040516101e39190611ece565b60405180910390f35b3480156101f7575f80fd5b506102006104b8565b60405161020d9190611ef6565b60405180910390f35b348015610221575f80fd5b5061023c60048036038101906102379190611f0f565b6104dd565b6040516102499190611e4a565b60405180910390f35b34801561025d575f80fd5b50610266610523565b6040516102739190611ef6565b60405180910390f35b348015610287575f80fd5b5061029061054a565b60405161029d9190611d19565b60405180910390f35b3480156102b1575f80fd5b506102ba610587565b005b3480156102c7575f80fd5b506102e260048036038101906102dd9190611dca565b610c66565b6040516102ef9190611e22565b60405180910390f35b610300610d58565b005b34801561030d575f80fd5b50610316610eee565b6040516103239190611f95565b60405180910390f35b348015610337575f80fd5b50610352600480360381019061034d9190611fae565b610f06565b60405161035f9190611e4a565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190611f0f565b610f88565b005b60606040518060400160405280600f81526020017f454c4f4e2076657273757320424f420000000000000000000000000000000000815250905090565b5f6103d9338484611057565b6001905092915050565b5f6012600a6103f29190612148565b620f42406104009190612192565b905090565b5f803390505f6104158683610f06565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146104985783811015610481576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104789061221d565b60405180910390fd5b61049786838684610492919061223b565b611057565b5b6104a386868661121a565b6001925050509392505050565b5f6012905090565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f454c4f4e7673424f420000000000000000000000000000000000000000000000815250905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060b906122b8565b60405180910390fd5b600160169054906101000a900460ff1615610664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b90612320565b60405180910390fd5b60018060166101000a81548160ff0219169083151502179055506106866119c5565b5f8060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071691906123ba565b50915091505f61271061ffff163073ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c8919061241e565b73ffffffffffffffffffffffffffffffffffffffff16146107e957836107eb565b825b6dffffffffffffffffffffffffffff1661271061ffff166064600354606460ff166108169190612192565b6108209190612476565b60045461082d9190612192565b6108379190612192565b6108419190612476565b61084b9190612476565b905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016108dd9291906124a6565b6020604051808303815f875af11580156108f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091d91906124f7565b50737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff166302751cec30600454841161095e5783610962565b6004545b5f8030426040518763ffffffff1660e01b81526004016109879695949392919061255b565b60408051808303815f875af11580156109a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c691906125ce565b50503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040518363ffffffff1660e01b8152600401610a429291906124a6565b6020604051808303815f875af1925050508015610a7d57506040513d601f19601f82011682018060405250810190610a7a91906124f7565b60015b15610a8457505b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b1e9190611ef6565b602060405180830381865afa158015610b39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5d919061260c565b6040518363ffffffff1660e01b8152600401610b7a9291906124a6565b6020604051808303815f875af1925050508015610bb557506040513d601f19601f82011682018060405250810190610bb291906124f7565b60015b15610bbc57505b610bc4610523565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610c06573d5f803e3d5ffd5b5060018060156101000a81548160ff021916908360ff160217905550600a600160146101000a81548160ff021916908360ff160217905550610c475f610f88565b5f600160166101000a81548160ff021916908315150217905550505050565b5f8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc906126a7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3a90612735565b60405180910390fd5b610d4e33848461121a565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc906122b8565b60405180910390fd5b5f80737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719473060055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20545f8030426040518863ffffffff1660e01b8152600401610e7c9695949392919061255b565b60606040518083038185885af1158015610e98573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ebd9190612753565b925092505081600354610ed091906127a3565b60038190555080600454610ee491906127a3565b6004819055505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611015576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100c906122b8565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bc90612820565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a90612888565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161120d9190611e4a565b60405180910390a3505050565b8273ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036113c45760085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166113bf576012600a6112ca9190612148565b614e206112d79190612192565b811115611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090612916565b60405180910390fd5b6012600a6113279190612148565b614e206113349190612192565b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20548261137d91906127a3565b11156113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b5906129a4565b60405180910390fd5b5b61150a565b8173ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036115095760085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611508576012600a6114749190612148565b614e206114819190612192565b8111156114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba90612a32565b60405180910390fd5b60016002546114d291906127a3565b6002819055505f600160159054906101000a900460ff1660ff166002546114f99190612a50565b03611507576115066119c5565b5b5b5b5b5f80600160149054906101000a900460ff1660ff161415801561153a5750600160169054906101000a900460ff16155b80156115535750600160179054906101000a900460ff16155b80156115a6575060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156115f9575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611637576103e882600160149054906101000a900460ff1660ff1661161f9190612192565b6116299190612476565b8161163491906127a3565b90505b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156116b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ae90612aca565b60405180910390fd5b5f81146118465780826116ca919061223b565b91508060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611715919061223b565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461179f91906127a3565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161183d9190611e4a565b60405180910390a35b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461188f919061223b565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461191991906127a3565b60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119b79190611e4a565b60405180910390a350505050565b600160179054906101000a900460ff16611c8d5760018060176101000a81548160ff0219169083151502179055505f60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414611c72575f600267ffffffffffffffff811115611a5357611a52612ae8565b5b604051908082528060200260200182016040528015611a815781602001602082028036833780820191505090505b50905030815f81518110611a9857611a97612b15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b53919061241e565b81600181518110611b6757611b66612b15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac94760055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20545f8473a55dc4860ee12baa7dde8043708b582a4eebe617426040518663ffffffff1660e01b8152600401611c47959493929190612bf9565b5f604051808303815f87803b158015611c5e575f80fd5b505af1925050508015611c6f575060015b50505b5f600160176101000a81548160ff0219169083151502179055505b565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611cc6578082015181840152602081019050611cab565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611ceb82611c8f565b611cf58185611c99565b9350611d05818560208601611ca9565b611d0e81611cd1565b840191505092915050565b5f6020820190508181035f830152611d318184611ce1565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d6682611d3d565b9050919050565b611d7681611d5c565b8114611d80575f80fd5b50565b5f81359050611d9181611d6d565b92915050565b5f819050919050565b611da981611d97565b8114611db3575f80fd5b50565b5f81359050611dc481611da0565b92915050565b5f8060408385031215611de057611ddf611d39565b5b5f611ded85828601611d83565b9250506020611dfe85828601611db6565b9150509250929050565b5f8115159050919050565b611e1c81611e08565b82525050565b5f602082019050611e355f830184611e13565b92915050565b611e4481611d97565b82525050565b5f602082019050611e5d5f830184611e3b565b92915050565b5f805f60608486031215611e7a57611e79611d39565b5b5f611e8786828701611d83565b9350506020611e9886828701611d83565b9250506040611ea986828701611db6565b9150509250925092565b5f60ff82169050919050565b611ec881611eb3565b82525050565b5f602082019050611ee15f830184611ebf565b92915050565b611ef081611d5c565b82525050565b5f602082019050611f095f830184611ee7565b92915050565b5f60208284031215611f2457611f23611d39565b5b5f611f3184828501611d83565b91505092915050565b5f819050919050565b5f611f5d611f58611f5384611d3d565b611f3a565b611d3d565b9050919050565b5f611f6e82611f43565b9050919050565b5f611f7f82611f64565b9050919050565b611f8f81611f75565b82525050565b5f602082019050611fa85f830184611f86565b92915050565b5f8060408385031215611fc457611fc3611d39565b5b5f611fd185828601611d83565b9250506020611fe285828601611d83565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561206e5780860481111561204a57612049611fec565b5b60018516156120595780820291505b808102905061206785612019565b945061202e565b94509492505050565b5f826120865760019050612141565b81612093575f9050612141565b81600181146120a957600281146120b3576120e2565b6001915050612141565b60ff8411156120c5576120c4611fec565b5b8360020a9150848211156120dc576120db611fec565b5b50612141565b5060208310610133831016604e8410600b84101617156121175782820a90508381111561211257612111611fec565b5b612141565b6121248484846001612025565b9250905081840481111561213b5761213a611fec565b5b81810290505b9392505050565b5f61215282611d97565b915061215d83611eb3565b925061218a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612077565b905092915050565b5f61219c82611d97565b91506121a783611d97565b92508282026121b581611d97565b915082820484148315176121cc576121cb611fec565b5b5092915050565b7f45524332303a20496e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612207601d83611c99565b9150612212826121d3565b602082019050919050565b5f6020820190508181035f830152612234816121fb565b9050919050565b5f61224582611d97565b915061225083611d97565b925082820390508181111561226857612267611fec565b5b92915050565b7f43616c6c6572206d757374206265206f776e65720000000000000000000000005f82015250565b5f6122a2601483611c99565b91506122ad8261226e565b602082019050919050565b5f6020820190508181035f8301526122cf81612296565b9050919050565b7f416c72656164792065786974696e6700000000000000000000000000000000005f82015250565b5f61230a600f83611c99565b9150612315826122d6565b602082019050919050565b5f6020820190508181035f830152612337816122fe565b9050919050565b5f6dffffffffffffffffffffffffffff82169050919050565b6123608161233e565b811461236a575f80fd5b50565b5f8151905061237b81612357565b92915050565b5f63ffffffff82169050919050565b61239981612381565b81146123a3575f80fd5b50565b5f815190506123b481612390565b92915050565b5f805f606084860312156123d1576123d0611d39565b5b5f6123de8682870161236d565b93505060206123ef8682870161236d565b9250506040612400868287016123a6565b9150509250925092565b5f8151905061241881611d6d565b92915050565b5f6020828403121561243357612432611d39565b5b5f6124408482850161240a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61248082611d97565b915061248b83611d97565b92508261249b5761249a612449565b5b828204905092915050565b5f6040820190506124b95f830185611ee7565b6124c66020830184611e3b565b9392505050565b6124d681611e08565b81146124e0575f80fd5b50565b5f815190506124f1816124cd565b92915050565b5f6020828403121561250c5761250b611d39565b5b5f612519848285016124e3565b91505092915050565b5f819050919050565b5f61254561254061253b84612522565b611f3a565b611d97565b9050919050565b6125558161252b565b82525050565b5f60c08201905061256e5f830189611ee7565b61257b6020830188611e3b565b612588604083018761254c565b612595606083018661254c565b6125a26080830185611ee7565b6125af60a0830184611e3b565b979650505050505050565b5f815190506125c881611da0565b92915050565b5f80604083850312156125e4576125e3611d39565b5b5f6125f1858286016125ba565b9250506020612602858286016125ba565b9150509250929050565b5f6020828403121561262157612620611d39565b5b5f61262e848285016125ba565b91505092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612691602583611c99565b915061269c82612637565b604082019050919050565b5f6020820190508181035f8301526126be81612685565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61271f602383611c99565b915061272a826126c5565b604082019050919050565b5f6020820190508181035f83015261274c81612713565b9050919050565b5f805f6060848603121561276a57612769611d39565b5b5f612777868287016125ba565b9350506020612788868287016125ba565b9250506040612799868287016125ba565b9150509250925092565b5f6127ad82611d97565b91506127b883611d97565b92508282019050808211156127d0576127cf611fec565b5b92915050565b7f417070726f76652066726f6d20746865207a65726f20616464726573730000005f82015250565b5f61280a601d83611c99565b9150612815826127d6565b602082019050919050565b5f6020820190508181035f830152612837816127fe565b9050919050565b7f417070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f612872601b83611c99565b915061287d8261283e565b602082019050919050565b5f6020820190508181035f83015261289f81612866565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473204d4158205f8201527f5458000000000000000000000000000000000000000000000000000000000000602082015250565b5f612900602283611c99565b915061290b826128a6565b604082019050919050565b5f6020820190508181035f83015261292d816128f4565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473204d4158205f8201527f57414c4c45540000000000000000000000000000000000000000000000000000602082015250565b5f61298e602683611c99565b915061299982612934565b604082019050919050565b5f6020820190508181035f8301526129bb81612982565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473204d41585f8201527f2054580000000000000000000000000000000000000000000000000000000000602082015250565b5f612a1c602383611c99565b9150612a27826129c2565b604082019050919050565b5f6020820190508181035f830152612a4981612a10565b9050919050565b5f612a5a82611d97565b9150612a6583611d97565b925082612a7557612a74612449565b5b828206905092915050565b7f496e746567657220556e646572666c6f772050726f74656374696f6e000000005f82015250565b5f612ab4601c83611c99565b9150612abf82612a80565b602082019050919050565b5f6020820190508181035f830152612ae181612aa8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b7481611d5c565b82525050565b5f612b858383612b6b565b60208301905092915050565b5f602082019050919050565b5f612ba782612b42565b612bb18185612b4c565b9350612bbc83612b5c565b805f5b83811015612bec578151612bd38882612b7a565b9750612bde83612b91565b925050600181019050612bbf565b5085935050505092915050565b5f60a082019050612c0c5f830188611e3b565b612c19602083018761254c565b8181036040830152612c2b8186612b9d565b9050612c3a6060830185611ee7565b612c476080830184611e3b565b969550505050505056fea264697066735822122041b8f7348544eac54d012e051fcedc8898672919c8e9a686c732e7fdc6795e0264736f6c63430008150033

Deployed Bytecode Sourcemap

2635:8360:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4780:103;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5506:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5096:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6365:461;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4998:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2803:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5212:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2434:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4891:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9566:1424;;;;;;;;;;;;;:::i;:::-;;6019:341;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9060:498;;;:::i;:::-;;2682:114;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5347:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2523:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4780:103;4825:13;4851:24;;;;;;;;;;;;;;;;;;;4780:103;:::o;5506:167::-;5589:4;5606:37;5615:10;5627:7;5636:6;5606:8;:37::i;:::-;5661:4;5654:11;;5506:167;;;;:::o;5096:108::-;5157:7;2963:2;3164;:14;;;;:::i;:::-;3153:7;:26;;;;:::i;:::-;5177:19;;5096:108;:::o;6365:461::-;6452:4;6463:15;6481:10;6463:28;;6496:24;6523;6533:4;6539:7;6523:9;:24::i;:::-;6496:51;;6582:17;6562:16;:37;6558:201;;6644:5;6624:16;:25;;6616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6698:49;6707:4;6713:7;6741:5;6722:16;:24;;;;:::i;:::-;6698:8;:49::i;:::-;6558:201;6769:27;6780:4;6786:2;6790:5;6769:10;:27::i;:::-;6814:4;6807:11;;;;6365:461;;;;;:::o;4998:90::-;5047:5;2963:2;5065:15;;4998:90;:::o;2803:27::-;;;;;;;;;;;;;:::o;5212:127::-;5286:7;5313:9;:18;5323:7;5313:18;;;;;;;;;;;;;;;;5306:25;;5212:127;;;:::o;2434:81::-;2475:7;2502:5;;;;;;;;;;;2495:12;;2434:81;:::o;4891:99::-;4938:13;4964:18;;;;;;;;;;;;;;;;;;;4891:99;:::o;9566:1424::-;2371:10;2362:19;;:5;;;;;;;;;;:19;;;2354:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;9625:11:::1;;;;;;;;;;;9624:12;9616:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;9681:4;9667:11:::0;::::1;:18;;;;;;;;;;;;;;;;;;9696:14;:12;:14::i;:::-;9722:16;9740::::0;9777:12:::1;;;;;;;;;;;9762:40;;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9721:83;;;;;9815:24;3101:5;9842:249;;10037:4;9988:54;;10003:12;;;;;;;;;;;9988:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;;;:76;;10056:8;9988:76;;;10045:8;9988:76;9843:222;;3101:5;9844:139;;9940:3;9916:21;;3031:3;9880:57;;;;;;:::i;:::-;:63;;;;:::i;:::-;9844:32;;:100;;;;:::i;:::-;:139;;;;:::i;:::-;9843:222;;;;:::i;:::-;9842:249;;;;:::i;:::-;9815:276;;10109:12;;;;;;;;;;;10102:28;;;2753:42;10156:17;10102:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2753:42;10185:33;;;10241:4;10280:32;;10261:16;:51;:105;;10350:16;10261:105;;;10315:32;;10261:105;10381:1;10397::::0;10421:4:::1;10441:15;10185:282;;;;;;;;;;;;;;;;;;;;:::i;:::-;;::::0;::::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;10497:4;10482:30;;;10527:42;10585:9;:24;10603:4;10585:24;;;;;;;;;;;;;;;;10482:128;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;10478:144:::0;::::1;;;;10643:12;;;;;;;;;;;10636:29;;;10680:42;10745:12;;;;;;;;;;;10738:30;;;10777:4;10738:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10636:148;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;10632:164:::0;::::1;;;;10814:10;:8;:10::i;:::-;10806:28;;:51;10835:21;10806:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10892:1;10868:21:::0;::::1;:25;;;;;;;;;;;;;;;;;;10910:2;10904:3;;:8;;;;;;;;;;;;;;;;;;10923:29;10949:1;10923:17;:29::i;:::-;10977:5;10963:11;;:19;;;;;;;;;;;;;;;;;;9605:1385;;;9566:1424::o:0;6019:341::-;6105:4;6152:1;6130:24;;:10;:24;;;6122:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6236:1;6215:23;;:9;:23;;;6207:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6289:41;6300:10;6312:9;6323:6;6289:10;:41::i;:::-;6348:4;6341:11;;6019:341;;;;:::o;9060:498::-;2371:10;2362:19;;:5;;;;;;;;;;:19;;;2354:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;9124:17:::1;9143::::0;2753:42:::1;9164:30;;;9202:21;9247:4;9267:9;:24;9285:4;9267:24;;;;;;;;;;;;;;;;9306:1;9322::::0;9346:4:::1;9366:15;9164:228;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9121:271;;;;;9451:9;9427:21;;:33;;;;:::i;:::-;9403:21;:57;;;;9541:9;9506:32;;:44;;;;:::i;:::-;9471:32;:79;;;;9110:448;;9060:498::o:0;2682:114::-;2753:42;2682:114;:::o;5347:151::-;5436:7;5463:11;:18;5475:5;5463:18;;;;;;;;;;;;;;;:27;5482:7;5463:27;;;;;;;;;;;;;;;;5456:34;;5347:151;;;;:::o;2523:105::-;2371:10;2362:19;;:5;;;;;;;;;;:19;;;2354:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;2612:8:::1;2604:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;2523:105:::0;:::o;5681:330::-;5800:1;5783:19;;:5;:19;;;5775:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;5874:1;5855:21;;:7;:21;;;5847:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;5949:6;5919:11;:18;5931:5;5919:18;;;;;;;;;;;;;;;:27;5938:7;5919:27;;;;;;;;;;;;;;;:36;;;;5987:7;5971:32;;5980:5;5971:32;;;5996:6;5971:32;;;;;;:::i;:::-;;;;;;;;5681:330;;;:::o;6834:1577::-;6953:6;6937:22;;:12;;;;;;;;;;;:22;;;6933:693;;6981:26;:37;7008:9;6981:37;;;;;;;;;;;;;;;;;;;;;;;;;6976:264;;2963:2;3238;:14;;;;:::i;:::-;3229:5;:24;;;;:::i;:::-;7047:6;:25;;7039:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;2963:2;3307;:14;;;;:::i;:::-;3298:5;:24;;;;:::i;:::-;7147:9;:20;7157:9;7147:20;;;;;;;;;;;;;;;;7138:6;:29;;;;:::i;:::-;:43;;7130:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;6976:264;6933:693;;;7277:9;7261:25;;:12;;;;;;;;;;;:25;;;7257:369;;7308:26;:34;7335:6;7308:34;;;;;;;;;;;;;;;;;;;;;;;;;7303:312;;2963:2;3238;:14;;;;:::i;:::-;3229:5;:24;;;;:::i;:::-;7371:6;:25;;7363:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7479:1;7467:9;;:13;;;;:::i;:::-;7455:9;:25;;;;7540:1;7515:21;;;;;;;;;;;7503:33;;:9;;:33;;;;:::i;:::-;:38;7499:101;;7566:14;:12;:14::i;:::-;7499:101;7303:312;7257:369;6933:693;7638:17;7681:1;7674:3;;;;;;;;;;;:8;;;;:24;;;;;7687:11;;;;;;;;;;;7686:12;7674:24;:39;;;;;7703:10;;;;;;;;;;;7702:11;7674:39;:68;;;;;7718:16;:24;7735:6;7718:24;;;;;;;;;;;;;;;;;;;;;;;;;7717:25;7674:68;:100;;;;;7747:16;:27;7764:9;7747:27;;;;;;;;;;;;;;;;;;;;;;;;;7746:28;7674:100;7670:180;;;7833:4;7823:6;7817:3;;;;;;;;;;;:12;;;;;;:::i;:::-;7816:21;;;;:::i;:::-;7803:9;:35;;;;:::i;:::-;7791:47;;7670:180;7899:6;7878:9;:17;7888:6;7878:17;;;;;;;;;;;;;;;;:27;;7870:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7968:1;7955:9;:14;7951:278;;8004:9;7995:6;:18;;;;:::i;:::-;7986:27;;8068:9;8048;:17;8058:6;8048:17;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;8028:9;:17;8038:6;8028:17;;;;;;;;;;;;;;;:49;;;;8146:9;8119;:24;8137:4;8119:24;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;8092:9;:24;8110:4;8092:24;;;;;;;;;;;;;;;:63;;;;8200:4;8175:42;;8184:6;8175:42;;;8207:9;8175:42;;;;;;:::i;:::-;;;;;;;;7951:278;8281:6;8261:9;:17;8271:6;8261:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;8241:9;:17;8251:6;8241:17;;;;;;;;;;;;;;;:46;;;;8344:6;8321:9;:20;8331:9;8321:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;8298:9;:20;8308:9;8298:20;;;;;;;;;;;;;;;:52;;;;8385:9;8368:35;;8377:6;8368:35;;;8396:6;8368:35;;;;;;:::i;:::-;;;;;;;;6922:1489;6834:1577;;;:::o;8419:633::-;8468:10;;;;;;;;;;;8463:582;;8508:4;8495:10;;:17;;;;;;;;;;;;;;;;;;8559:1;8531:9;:24;8549:4;8531:24;;;;;;;;;;;;;;;;:29;8527:474;;8581:21;8619:1;8605:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8581:40;;8658:4;8640;8645:1;8640:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;2753:42;8692:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8682:4;8687:1;8682:7;;;;;;;;:::i;:::-;;;;;;;:31;;;;;;;;;;;2753:42;8736:65;;;8824:9;:24;8842:4;8824:24;;;;;;;;;;;;;;;;8871:1;8895:4;2880:42;8958:15;8736:238;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8732:254;8562:439;8527:474;9028:5;9015:10;;:18;;;;;;;;;;;;;;;;;;8463:582;8419:633::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:60::-;5568:3;5589:5;5582:12;;5540:60;;;:::o;5606:142::-;5656:9;5689:53;5707:34;5716:24;5734:5;5716:24;:::i;:::-;5707:34;:::i;:::-;5689:53;:::i;:::-;5676:66;;5606:142;;;:::o;5754:126::-;5804:9;5837:37;5868:5;5837:37;:::i;:::-;5824:50;;5754:126;;;:::o;5886:151::-;5961:9;5994:37;6025:5;5994:37;:::i;:::-;5981:50;;5886:151;;;:::o;6043:181::-;6155:62;6211:5;6155:62;:::i;:::-;6150:3;6143:75;6043:181;;:::o;6230:272::-;6348:4;6386:2;6375:9;6371:18;6363:26;;6399:96;6492:1;6481:9;6477:17;6468:6;6399:96;:::i;:::-;6230:272;;;;:::o;6508:474::-;6576:6;6584;6633:2;6621:9;6612:7;6608:23;6604:32;6601:119;;;6639:79;;:::i;:::-;6601:119;6759:1;6784:53;6829:7;6820:6;6809:9;6805:22;6784:53;:::i;:::-;6774:63;;6730:117;6886:2;6912:53;6957:7;6948:6;6937:9;6933:22;6912:53;:::i;:::-;6902:63;;6857:118;6508:474;;;;;:::o;6988:180::-;7036:77;7033:1;7026:88;7133:4;7130:1;7123:15;7157:4;7154:1;7147:15;7174:102;7216:8;7263:5;7260:1;7256:13;7235:34;;7174:102;;;:::o;7282:848::-;7343:5;7350:4;7374:6;7365:15;;7398:5;7389:14;;7412:712;7433:1;7423:8;7420:15;7412:712;;;7528:4;7523:3;7519:14;7513:4;7510:24;7507:50;;;7537:18;;:::i;:::-;7507:50;7587:1;7577:8;7573:16;7570:451;;;8002:4;7995:5;7991:16;7982:25;;7570:451;8052:4;8046;8042:15;8034:23;;8082:32;8105:8;8082:32;:::i;:::-;8070:44;;7412:712;;;7282:848;;;;;;;:::o;8136:1073::-;8190:5;8381:8;8371:40;;8402:1;8393:10;;8404:5;;8371:40;8430:4;8420:36;;8447:1;8438:10;;8449:5;;8420:36;8516:4;8564:1;8559:27;;;;8600:1;8595:191;;;;8509:277;;8559:27;8577:1;8568:10;;8579:5;;;8595:191;8640:3;8630:8;8627:17;8624:43;;;8647:18;;:::i;:::-;8624:43;8696:8;8693:1;8689:16;8680:25;;8731:3;8724:5;8721:14;8718:40;;;8738:18;;:::i;:::-;8718:40;8771:5;;;8509:277;;8895:2;8885:8;8882:16;8876:3;8870:4;8867:13;8863:36;8845:2;8835:8;8832:16;8827:2;8821:4;8818:12;8814:35;8798:111;8795:246;;;8951:8;8945:4;8941:19;8932:28;;8986:3;8979:5;8976:14;8973:40;;;8993:18;;:::i;:::-;8973:40;9026:5;;8795:246;9066:42;9104:3;9094:8;9088:4;9085:1;9066:42;:::i;:::-;9051:57;;;;9140:4;9135:3;9131:14;9124:5;9121:25;9118:51;;;9149:18;;:::i;:::-;9118:51;9198:4;9191:5;9187:16;9178:25;;8136:1073;;;;;;:::o;9215:281::-;9273:5;9297:23;9315:4;9297:23;:::i;:::-;9289:31;;9341:25;9357:8;9341:25;:::i;:::-;9329:37;;9385:104;9422:66;9412:8;9406:4;9385:104;:::i;:::-;9376:113;;9215:281;;;;:::o;9502:410::-;9542:7;9565:20;9583:1;9565:20;:::i;:::-;9560:25;;9599:20;9617:1;9599:20;:::i;:::-;9594:25;;9654:1;9651;9647:9;9676:30;9694:11;9676:30;:::i;:::-;9665:41;;9855:1;9846:7;9842:15;9839:1;9836:22;9816:1;9809:9;9789:83;9766:139;;9885:18;;:::i;:::-;9766:139;9550:362;9502:410;;;;:::o;9918:179::-;10058:31;10054:1;10046:6;10042:14;10035:55;9918:179;:::o;10103:366::-;10245:3;10266:67;10330:2;10325:3;10266:67;:::i;:::-;10259:74;;10342:93;10431:3;10342:93;:::i;:::-;10460:2;10455:3;10451:12;10444:19;;10103:366;;;:::o;10475:419::-;10641:4;10679:2;10668:9;10664:18;10656:26;;10728:9;10722:4;10718:20;10714:1;10703:9;10699:17;10692:47;10756:131;10882:4;10756:131;:::i;:::-;10748:139;;10475:419;;;:::o;10900:194::-;10940:4;10960:20;10978:1;10960:20;:::i;:::-;10955:25;;10994:20;11012:1;10994:20;:::i;:::-;10989:25;;11038:1;11035;11031:9;11023:17;;11062:1;11056:4;11053:11;11050:37;;;11067:18;;:::i;:::-;11050:37;10900:194;;;;:::o;11100:170::-;11240:22;11236:1;11228:6;11224:14;11217:46;11100:170;:::o;11276:366::-;11418:3;11439:67;11503:2;11498:3;11439:67;:::i;:::-;11432:74;;11515:93;11604:3;11515:93;:::i;:::-;11633:2;11628:3;11624:12;11617:19;;11276:366;;;:::o;11648:419::-;11814:4;11852:2;11841:9;11837:18;11829:26;;11901:9;11895:4;11891:20;11887:1;11876:9;11872:17;11865:47;11929:131;12055:4;11929:131;:::i;:::-;11921:139;;11648:419;;;:::o;12073:165::-;12213:17;12209:1;12201:6;12197:14;12190:41;12073:165;:::o;12244:366::-;12386:3;12407:67;12471:2;12466:3;12407:67;:::i;:::-;12400:74;;12483:93;12572:3;12483:93;:::i;:::-;12601:2;12596:3;12592:12;12585:19;;12244:366;;;:::o;12616:419::-;12782:4;12820:2;12809:9;12805:18;12797:26;;12869:9;12863:4;12859:20;12855:1;12844:9;12840:17;12833:47;12897:131;13023:4;12897:131;:::i;:::-;12889:139;;12616:419;;;:::o;13041:114::-;13078:7;13118:30;13111:5;13107:42;13096:53;;13041:114;;;:::o;13161:122::-;13234:24;13252:5;13234:24;:::i;:::-;13227:5;13224:35;13214:63;;13273:1;13270;13263:12;13214:63;13161:122;:::o;13289:143::-;13346:5;13377:6;13371:13;13362:22;;13393:33;13420:5;13393:33;:::i;:::-;13289:143;;;;:::o;13438:93::-;13474:7;13514:10;13507:5;13503:22;13492:33;;13438:93;;;:::o;13537:120::-;13609:23;13626:5;13609:23;:::i;:::-;13602:5;13599:34;13589:62;;13647:1;13644;13637:12;13589:62;13537:120;:::o;13663:141::-;13719:5;13750:6;13744:13;13735:22;;13766:32;13792:5;13766:32;:::i;:::-;13663:141;;;;:::o;13810:661::-;13897:6;13905;13913;13962:2;13950:9;13941:7;13937:23;13933:32;13930:119;;;13968:79;;:::i;:::-;13930:119;14088:1;14113:64;14169:7;14160:6;14149:9;14145:22;14113:64;:::i;:::-;14103:74;;14059:128;14226:2;14252:64;14308:7;14299:6;14288:9;14284:22;14252:64;:::i;:::-;14242:74;;14197:129;14365:2;14391:63;14446:7;14437:6;14426:9;14422:22;14391:63;:::i;:::-;14381:73;;14336:128;13810:661;;;;;:::o;14477:143::-;14534:5;14565:6;14559:13;14550:22;;14581:33;14608:5;14581:33;:::i;:::-;14477:143;;;;:::o;14626:351::-;14696:6;14745:2;14733:9;14724:7;14720:23;14716:32;14713:119;;;14751:79;;:::i;:::-;14713:119;14871:1;14896:64;14952:7;14943:6;14932:9;14928:22;14896:64;:::i;:::-;14886:74;;14842:128;14626:351;;;;:::o;14983:180::-;15031:77;15028:1;15021:88;15128:4;15125:1;15118:15;15152:4;15149:1;15142:15;15169:185;15209:1;15226:20;15244:1;15226:20;:::i;:::-;15221:25;;15260:20;15278:1;15260:20;:::i;:::-;15255:25;;15299:1;15289:35;;15304:18;;:::i;:::-;15289:35;15346:1;15343;15339:9;15334:14;;15169:185;;;;:::o;15360:332::-;15481:4;15519:2;15508:9;15504:18;15496:26;;15532:71;15600:1;15589:9;15585:17;15576:6;15532:71;:::i;:::-;15613:72;15681:2;15670:9;15666:18;15657:6;15613:72;:::i;:::-;15360:332;;;;;:::o;15698:116::-;15768:21;15783:5;15768:21;:::i;:::-;15761:5;15758:32;15748:60;;15804:1;15801;15794:12;15748:60;15698:116;:::o;15820:137::-;15874:5;15905:6;15899:13;15890:22;;15921:30;15945:5;15921:30;:::i;:::-;15820:137;;;;:::o;15963:345::-;16030:6;16079:2;16067:9;16058:7;16054:23;16050:32;16047:119;;;16085:79;;:::i;:::-;16047:119;16205:1;16230:61;16283:7;16274:6;16263:9;16259:22;16230:61;:::i;:::-;16220:71;;16176:125;15963:345;;;;:::o;16314:85::-;16359:7;16388:5;16377:16;;16314:85;;;:::o;16405:158::-;16463:9;16496:61;16514:42;16523:32;16549:5;16523:32;:::i;:::-;16514:42;:::i;:::-;16496:61;:::i;:::-;16483:74;;16405:158;;;:::o;16569:147::-;16664:45;16703:5;16664:45;:::i;:::-;16659:3;16652:58;16569:147;;:::o;16722:807::-;16971:4;17009:3;16998:9;16994:19;16986:27;;17023:71;17091:1;17080:9;17076:17;17067:6;17023:71;:::i;:::-;17104:72;17172:2;17161:9;17157:18;17148:6;17104:72;:::i;:::-;17186:80;17262:2;17251:9;17247:18;17238:6;17186:80;:::i;:::-;17276;17352:2;17341:9;17337:18;17328:6;17276:80;:::i;:::-;17366:73;17434:3;17423:9;17419:19;17410:6;17366:73;:::i;:::-;17449;17517:3;17506:9;17502:19;17493:6;17449:73;:::i;:::-;16722:807;;;;;;;;;:::o;17535:143::-;17592:5;17623:6;17617:13;17608:22;;17639:33;17666:5;17639:33;:::i;:::-;17535:143;;;;:::o;17684:507::-;17763:6;17771;17820:2;17808:9;17799:7;17795:23;17791:32;17788:119;;;17826:79;;:::i;:::-;17788:119;17946:1;17971:64;18027:7;18018:6;18007:9;18003:22;17971:64;:::i;:::-;17961:74;;17917:128;18084:2;18110:64;18166:7;18157:6;18146:9;18142:22;18110:64;:::i;:::-;18100:74;;18055:129;17684:507;;;;;:::o;18197:351::-;18267:6;18316:2;18304:9;18295:7;18291:23;18287:32;18284:119;;;18322:79;;:::i;:::-;18284:119;18442:1;18467:64;18523:7;18514:6;18503:9;18499:22;18467:64;:::i;:::-;18457:74;;18413:128;18197:351;;;;:::o;18554:224::-;18694:34;18690:1;18682:6;18678:14;18671:58;18763:7;18758:2;18750:6;18746:15;18739:32;18554:224;:::o;18784:366::-;18926:3;18947:67;19011:2;19006:3;18947:67;:::i;:::-;18940:74;;19023:93;19112:3;19023:93;:::i;:::-;19141:2;19136:3;19132:12;19125:19;;18784:366;;;:::o;19156:419::-;19322:4;19360:2;19349:9;19345:18;19337:26;;19409:9;19403:4;19399:20;19395:1;19384:9;19380:17;19373:47;19437:131;19563:4;19437:131;:::i;:::-;19429:139;;19156:419;;;:::o;19581:222::-;19721:34;19717:1;19709:6;19705:14;19698:58;19790:5;19785:2;19777:6;19773:15;19766:30;19581:222;:::o;19809:366::-;19951:3;19972:67;20036:2;20031:3;19972:67;:::i;:::-;19965:74;;20048:93;20137:3;20048:93;:::i;:::-;20166:2;20161:3;20157:12;20150:19;;19809:366;;;:::o;20181:419::-;20347:4;20385:2;20374:9;20370:18;20362:26;;20434:9;20428:4;20424:20;20420:1;20409:9;20405:17;20398:47;20462:131;20588:4;20462:131;:::i;:::-;20454:139;;20181:419;;;:::o;20606:663::-;20694:6;20702;20710;20759:2;20747:9;20738:7;20734:23;20730:32;20727:119;;;20765:79;;:::i;:::-;20727:119;20885:1;20910:64;20966:7;20957:6;20946:9;20942:22;20910:64;:::i;:::-;20900:74;;20856:128;21023:2;21049:64;21105:7;21096:6;21085:9;21081:22;21049:64;:::i;:::-;21039:74;;20994:129;21162:2;21188:64;21244:7;21235:6;21224:9;21220:22;21188:64;:::i;:::-;21178:74;;21133:129;20606:663;;;;;:::o;21275:191::-;21315:3;21334:20;21352:1;21334:20;:::i;:::-;21329:25;;21368:20;21386:1;21368:20;:::i;:::-;21363:25;;21411:1;21408;21404:9;21397:16;;21432:3;21429:1;21426:10;21423:36;;;21439:18;;:::i;:::-;21423:36;21275:191;;;;:::o;21472:179::-;21612:31;21608:1;21600:6;21596:14;21589:55;21472:179;:::o;21657:366::-;21799:3;21820:67;21884:2;21879:3;21820:67;:::i;:::-;21813:74;;21896:93;21985:3;21896:93;:::i;:::-;22014:2;22009:3;22005:12;21998:19;;21657:366;;;:::o;22029:419::-;22195:4;22233:2;22222:9;22218:18;22210:26;;22282:9;22276:4;22272:20;22268:1;22257:9;22253:17;22246:47;22310:131;22436:4;22310:131;:::i;:::-;22302:139;;22029:419;;;:::o;22454:177::-;22594:29;22590:1;22582:6;22578:14;22571:53;22454:177;:::o;22637:366::-;22779:3;22800:67;22864:2;22859:3;22800:67;:::i;:::-;22793:74;;22876:93;22965:3;22876:93;:::i;:::-;22994:2;22989:3;22985:12;22978:19;;22637:366;;;:::o;23009:419::-;23175:4;23213:2;23202:9;23198:18;23190:26;;23262:9;23256:4;23252:20;23248:1;23237:9;23233:17;23226:47;23290:131;23416:4;23290:131;:::i;:::-;23282:139;;23009:419;;;:::o;23434:221::-;23574:34;23570:1;23562:6;23558:14;23551:58;23643:4;23638:2;23630:6;23626:15;23619:29;23434:221;:::o;23661:366::-;23803:3;23824:67;23888:2;23883:3;23824:67;:::i;:::-;23817:74;;23900:93;23989:3;23900:93;:::i;:::-;24018:2;24013:3;24009:12;24002:19;;23661:366;;;:::o;24033:419::-;24199:4;24237:2;24226:9;24222:18;24214:26;;24286:9;24280:4;24276:20;24272:1;24261:9;24257:17;24250:47;24314:131;24440:4;24314:131;:::i;:::-;24306:139;;24033:419;;;:::o;24458:225::-;24598:34;24594:1;24586:6;24582:14;24575:58;24667:8;24662:2;24654:6;24650:15;24643:33;24458:225;:::o;24689:366::-;24831:3;24852:67;24916:2;24911:3;24852:67;:::i;:::-;24845:74;;24928:93;25017:3;24928:93;:::i;:::-;25046:2;25041:3;25037:12;25030:19;;24689:366;;;:::o;25061:419::-;25227:4;25265:2;25254:9;25250:18;25242:26;;25314:9;25308:4;25304:20;25300:1;25289:9;25285:17;25278:47;25342:131;25468:4;25342:131;:::i;:::-;25334:139;;25061:419;;;:::o;25486:222::-;25626:34;25622:1;25614:6;25610:14;25603:58;25695:5;25690:2;25682:6;25678:15;25671:30;25486:222;:::o;25714:366::-;25856:3;25877:67;25941:2;25936:3;25877:67;:::i;:::-;25870:74;;25953:93;26042:3;25953:93;:::i;:::-;26071:2;26066:3;26062:12;26055:19;;25714:366;;;:::o;26086:419::-;26252:4;26290:2;26279:9;26275:18;26267:26;;26339:9;26333:4;26329:20;26325:1;26314:9;26310:17;26303:47;26367:131;26493:4;26367:131;:::i;:::-;26359:139;;26086:419;;;:::o;26511:176::-;26543:1;26560:20;26578:1;26560:20;:::i;:::-;26555:25;;26594:20;26612:1;26594:20;:::i;:::-;26589:25;;26633:1;26623:35;;26638:18;;:::i;:::-;26623:35;26679:1;26676;26672:9;26667:14;;26511:176;;;;:::o;26693:178::-;26833:30;26829:1;26821:6;26817:14;26810:54;26693:178;:::o;26877:366::-;27019:3;27040:67;27104:2;27099:3;27040:67;:::i;:::-;27033:74;;27116:93;27205:3;27116:93;:::i;:::-;27234:2;27229:3;27225:12;27218:19;;26877:366;;;:::o;27249:419::-;27415:4;27453:2;27442:9;27438:18;27430:26;;27502:9;27496:4;27492:20;27488:1;27477:9;27473:17;27466:47;27530:131;27656:4;27530:131;:::i;:::-;27522:139;;27249:419;;;:::o;27674:180::-;27722:77;27719:1;27712:88;27819:4;27816:1;27809:15;27843:4;27840:1;27833:15;27860:180;27908:77;27905:1;27898:88;28005:4;28002:1;27995:15;28029:4;28026:1;28019:15;28046:114;28113:6;28147:5;28141:12;28131:22;;28046:114;;;:::o;28166:184::-;28265:11;28299:6;28294:3;28287:19;28339:4;28334:3;28330:14;28315:29;;28166:184;;;;:::o;28356:132::-;28423:4;28446:3;28438:11;;28476:4;28471:3;28467:14;28459:22;;28356:132;;;:::o;28494:108::-;28571:24;28589:5;28571:24;:::i;:::-;28566:3;28559:37;28494:108;;:::o;28608:179::-;28677:10;28698:46;28740:3;28732:6;28698:46;:::i;:::-;28776:4;28771:3;28767:14;28753:28;;28608:179;;;;:::o;28793:113::-;28863:4;28895;28890:3;28886:14;28878:22;;28793:113;;;:::o;28942:732::-;29061:3;29090:54;29138:5;29090:54;:::i;:::-;29160:86;29239:6;29234:3;29160:86;:::i;:::-;29153:93;;29270:56;29320:5;29270:56;:::i;:::-;29349:7;29380:1;29365:284;29390:6;29387:1;29384:13;29365:284;;;29466:6;29460:13;29493:63;29552:3;29537:13;29493:63;:::i;:::-;29486:70;;29579:60;29632:6;29579:60;:::i;:::-;29569:70;;29425:224;29412:1;29409;29405:9;29400:14;;29365:284;;;29369:14;29665:3;29658:10;;29066:608;;;28942:732;;;;:::o;29680:831::-;29943:4;29981:3;29970:9;29966:19;29958:27;;29995:71;30063:1;30052:9;30048:17;30039:6;29995:71;:::i;:::-;30076:80;30152:2;30141:9;30137:18;30128:6;30076:80;:::i;:::-;30203:9;30197:4;30193:20;30188:2;30177:9;30173:18;30166:48;30231:108;30334:4;30325:6;30231:108;:::i;:::-;30223:116;;30349:72;30417:2;30406:9;30402:18;30393:6;30349:72;:::i;:::-;30431:73;30499:3;30488:9;30484:19;30475:6;30431:73;:::i;:::-;29680:831;;;;;;;;:::o

Swarm Source

ipfs://41b8f7348544eac54d012e051fcedc8898672919c8e9a686c732e7fdc6795e02
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.