ETH Price: $3,358.62 (-2.77%)
Gas: 3 Gwei

Token

0x420 (0x420)
 

Overview

Max Total Supply

420,000,000,000,000,000,000,000 0x420

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
1,549,036,523,187,954,252,412 0x420

Value
$0.00
0x1f3ca34e78ccb5581807b51915b0afe304a92450
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:
DOGE

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
https://twitter.com/420
ELON likes 420.
DOGE contract starts 0x420.
This is a launch for 420 and we will rally all the people who love 420

*/


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

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

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

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

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    )
        external payable;
}

interface IUniswapV2Pair {
    function sync() external;
}

contract DOGE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;

    address public uniswapV2Pair;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "0x420";
    string private constant _symbol = "0x420";
    uint8 private constant _decimals = 9;
    uint256 private _tTotal =  420000000000000  * 10**_decimals;

    uint256 public _maxWalletAmount = 2100000000000 * 10**_decimals;
    uint256 public _maxTxAmount = 2100000000000 * 10**_decimals;
    uint256 public swapTokenAtAmount = 4200000000000 * 10**_decimals;
    uint256 public forceSwapCount;

    address public liquidityReceiver;
    address public marketingWallet;

    struct BuyFees{
        uint256 liquidity;
        uint256 marketing;
    }

    struct SellFees{
        uint256 liquidity;
        uint256 marketing;
    }

    BuyFees public buyFee;
    SellFees public sellFee;

    uint256 private liquidityFee;
    uint256 private marketingFee;

    bool private swapping;
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    constructor (address marketingAddress, address liquidityAddress) {
        marketingWallet = marketingAddress;
        liquidityReceiver = liquidityAddress;

        balances[_msgSender()] = _tTotal;
        
        buyFee.liquidity = 0;
        buyFee.marketing = 25;

        sellFee.liquidity = 0;
        sellFee.marketing = 40;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0x00)] = true;
        _isExcludedFromFee[address(0xdead)] = true;

        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

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

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

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }
    
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[address(account)] = excluded;
    }

    receive() external payable {}
    
    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * sellFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * sellFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken );
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function changeFee(uint256 _buyMarketingFee, uint256 _buyLiquidityFee, uint256 _sellMarketingFee, uint256 _sellLiquidityFee) public onlyOwner {
        require(_buyMarketingFee + _buyLiquidityFee < 50 || _sellLiquidityFee + _sellMarketingFee < 50, "Can't change fee higher than 24%");
        
        buyFee.liquidity = _buyLiquidityFee;
        buyFee.marketing = _buyMarketingFee;

        sellFee.liquidity = _sellLiquidityFee;
        sellFee.marketing = _sellMarketingFee;
    }

    function changeMax(uint256 _maxTx, uint256 _maxWallet) public onlyOwner {
        require(_maxTx + _maxWallet > _tTotal / 1000, "Should be bigger than 0,1%");
        _maxTxAmount = _maxTx;
        _maxWalletAmount = _maxWallet;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        balances[from] -= amount;
        uint256 transferAmount = amount;
        
        bool takeFee;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            takeFee = true;
        }

        if(takeFee){
            if(to != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                transferAmount = takeBuyFees(amount, to);
            }

            if(from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                transferAmount = takeSellFees(amount, from);
                forceSwapCount += 1;

               if (balanceOf(address(this)) >= swapTokenAtAmount && !swapping) {
                    swapping = true;
                    swapBack(swapTokenAtAmount);
                    swapping = false;
                    forceSwapCount = 0;
              }

                if (forceSwapCount > 5 && !swapping) {
                    swapping = true;
                    swapBack(balanceOf(address(this)));
                    swapping = false;
                    forceSwapCount = 0;
              }
            }

            if(to != uniswapV2Pair && from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
            }
        }
        
        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }
   
    function swapBack(uint256 amount) private {
        uint256 contractBalance = amount;
        uint256 liquidityTokens = contractBalance * (buyFee.liquidity + sellFee.liquidity) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 marketingTokens = contractBalance * (buyFee.marketing + sellFee.marketing) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 totalTokensToSwap = liquidityTokens + marketingTokens;
        
        uint256 tokensForLiquidity = liquidityTokens.div(2);
        uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity);
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH); 
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        
        uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap);
        addLiquidity(tokensForLiquidity, ethForLiquidity);
        payable(marketingWallet).transfer(address(this).balance);
    }

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

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            liquidityReceiver,
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"},{"internalType":"address","name":"liquidityAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyMarketingFee","type":"uint256"},{"internalType":"uint256","name":"_buyLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"},{"internalType":"uint256","name":"_sellLiquidityFee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTx","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"changeMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceSwapCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokenAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a6200001491906200080e565b66017dfcdece40006200002891906200085f565b6006556009600a6200003b91906200080e565b6501e8f1c108006200004e91906200085f565b6007556009600a6200006191906200080e565b6501e8f1c108006200007491906200085f565b6008556009600a6200008791906200080e565b6503d1e38210006200009a91906200085f565b600955348015620000aa57600080fd5b5060405162003d9338038062003d938339818101604052810190620000d0919062000914565b6000620000e26200066c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460036000620002196200066c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600d600001819055506019600d600101819055506000600f600001819055506028600f600101819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ea573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031091906200095b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000378573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039e91906200095b565b6040518363ffffffff1660e01b8152600401620003bd9291906200099e565b6020604051808303816000875af1158015620003dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040391906200095b565b905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005f96200066c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200065a9190620009dc565b60405180910390a350505050620009f9565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200070257808604811115620006da57620006d962000674565b5b6001851615620006ea5780820291505b8081029050620006fa85620006a3565b9450620006ba565b94509492505050565b6000826200071d5760019050620007f0565b816200072d5760009050620007f0565b8160018114620007465760028114620007515762000787565b6001915050620007f0565b60ff84111562000766576200076562000674565b5b8360020a91508482111562000780576200077f62000674565b5b50620007f0565b5060208310610133831016604e8410600b8410161715620007c15782820a905083811115620007bb57620007ba62000674565b5b620007f0565b620007d08484846001620006b0565b92509050818404811115620007ea57620007e962000674565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200081b82620007f7565b9150620008288362000801565b9250620008577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200070b565b905092915050565b60006200086c82620007f7565b91506200087983620007f7565b92508282026200088981620007f7565b91508282048414831517620008a357620008a262000674565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008dc82620008af565b9050919050565b620008ee81620008cf565b8114620008fa57600080fd5b50565b6000815190506200090e81620008e3565b92915050565b600080604083850312156200092e576200092d620008aa565b5b60006200093e85828601620008fd565b92505060206200095185828601620008fd565b9150509250929050565b600060208284031215620009745762000973620008aa565b5b60006200098484828501620008fd565b91505092915050565b6200099881620008cf565b82525050565b6000604082019050620009b560008301856200098d565b620009c460208301846200098d565b9392505050565b620009d681620007f7565b82525050565b6000602082019050620009f36000830184620009cb565b92915050565b61338a8062000a096000396000f3fe6080604052600436106101bb5760003560e01c80636c0a24eb116100ec578063a457c2d71161008a578063c024666811610064578063c024666814610637578063c589829d14610660578063dd62ed3e1461068b578063f2fde38b146106c8576101c2565b8063a457c2d714610594578063a9059cbb146105d1578063b1192e181461060e576101c2565b806375f0a874116100c657806375f0a874146104e85780637d1db4a5146105135780638da5cb5b1461053e57806395d89b4114610569576101c2565b80636c0a24eb1461046957806370a0823114610494578063715018a6146104d1576101c2565b80632b14ca5611610159578063470624021161013357806347062402146103ac5780634716b2c3146103d857806349bd5a5e146104015780635342acb41461042c576101c2565b80632b14ca5614610318578063313ce56714610344578063395093511461036f576101c2565b80631694505e116101955780631694505e1461025a57806318160ddd1461028557806323b872dd146102b0578063264d26dd146102ed576101c2565b806303e403b0146101c757806306fdde03146101f2578063095ea7b31461021d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106f1565b6040516101e99190612450565b60405180910390f35b3480156101fe57600080fd5b506102076106f7565b60405161021491906124fb565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906125ac565b610734565b6040516102519190612607565b60405180910390f35b34801561026657600080fd5b5061026f610752565b60405161027c9190612681565b60405180910390f35b34801561029157600080fd5b5061029a610778565b6040516102a79190612450565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d2919061269c565b610782565b6040516102e49190612607565b60405180910390f35b3480156102f957600080fd5b5061030261083a565b60405161030f91906126fe565b60405180910390f35b34801561032457600080fd5b5061032d610860565b60405161033b929190612719565b60405180910390f35b34801561035057600080fd5b50610359610872565b604051610366919061275e565b60405180910390f35b34801561037b57600080fd5b50610396600480360381019061039191906125ac565b61087b565b6040516103a39190612607565b60405180910390f35b3480156103b857600080fd5b506103c1610927565b6040516103cf929190612719565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa9190612779565b610939565b005b34801561040d57600080fd5b50610416610a3c565b60405161042391906126fe565b60405180910390f35b34801561043857600080fd5b50610453600480360381019061044e91906127b9565b610a62565b6040516104609190612607565b60405180910390f35b34801561047557600080fd5b5061047e610ab8565b60405161048b9190612450565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b691906127b9565b610abe565b6040516104c89190612450565b60405180910390f35b3480156104dd57600080fd5b506104e6610b07565b005b3480156104f457600080fd5b506104fd610c5a565b60405161050a91906126fe565b60405180910390f35b34801561051f57600080fd5b50610528610c80565b6040516105359190612450565b60405180910390f35b34801561054a57600080fd5b50610553610c86565b60405161056091906126fe565b60405180910390f35b34801561057557600080fd5b5061057e610caf565b60405161058b91906124fb565b60405180910390f35b3480156105a057600080fd5b506105bb60048036038101906105b691906125ac565b610cec565b6040516105c89190612607565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f391906125ac565b610d98565b6040516106059190612607565b60405180910390f35b34801561061a57600080fd5b50610635600480360381019061063091906127e6565b610db6565b005b34801561064357600080fd5b5061065e60048036038101906106599190612879565b610edd565b005b34801561066c57600080fd5b50610675610fcd565b6040516106829190612450565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad91906128b9565b610fd3565b6040516106bf9190612450565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea91906127b9565b61105a565b005b60095481565b60606040518060400160405280600581526020017f3078343230000000000000000000000000000000000000000000000000000000815250905090565b600061074861074161121b565b8484611223565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600061078f8484846113ec565b61082f8461079b61121b565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107e561121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461082a9190612928565b611223565b600190509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f8060000154908060010154905082565b60006009905090565b600061091d61088861121b565b84846004600061089661121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610918919061295c565b611223565b6001905092915050565b600d8060000154908060010154905082565b61094161121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c5906129dc565b60405180910390fd5b6103e86006546109de9190612a2b565b81836109ea919061295c565b11610a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2190612aa8565b60405180910390fd5b81600881905550806007819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60075481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b0f61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b93906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f3078343230000000000000000000000000000000000000000000000000000000815250905090565b6000610d8e610cf961121b565b848460046000610d0761121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d899190612928565b611223565b6001905092915050565b6000610dac610da561121b565b84846113ec565b6001905092915050565b610dbe61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e42906129dc565b60405180910390fd5b60328385610e59919061295c565b1080610e70575060328282610e6e919061295c565b105b610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea690612b14565b60405180910390fd5b82600d6000018190555083600d6001018190555080600f6000018190555081600f6001018190555050505050565b610ee561121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f69906129dc565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600a5481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61106261121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e6906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612ba6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990612c38565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612cca565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113df9190612450565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290612d5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612dee565b60405180910390fd5b6000811161150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490612e80565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461155c9190612928565b9250508190555060008190506000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561160e5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561161857600190505b8015611a1857600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461171d576008548311156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612f12565b60405180910390fd5b600754836116c586610abe565b6116cf919061295c565b1115611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790612fa4565b60405180910390fd5b61171a8385611ada565b91505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8576008548311156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae90612f12565b60405180910390fd5b6117c18386611c0f565b91506001600a60008282546117d6919061295c565b925050819055506009546117e930610abe565b101580156118045750601360009054906101000a900460ff16155b15611853576001601360006101000a81548160ff02191690831515021790555061182f600954611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b6005600a541180156118725750601360009054906101000a900460ff16155b156118c7576001601360006101000a81548160ff0219169083151502179055506118a361189e30610abe565b611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119745750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611a17576008548311156119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b590612f12565b60405180910390fd5b600754836119cb86610abe565b6119d5919061295c565b1115611a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0d90612fa4565b60405180910390fd5b5b5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a67919061295c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611acb9190612450565b60405180910390a35050505050565b6000806064600d6000015485611af09190612fc4565b611afa9190612a2b565b905060006064600d6001015486611b119190612fc4565b611b1b9190612a2b565b90508082611b29919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b77919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611bd9919061295c565b604051611be69190612450565b60405180910390a3808286611bfb9190612928565b611c059190612928565b9250505092915050565b6000806064600f6000015485611c259190612fc4565b611c2f9190612a2b565b905060006064600f6001015486611c469190612fc4565b611c509190612a2b565b90508082611c5e919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cac919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611d0e919061295c565b604051611d1b9190612450565b60405180910390a3808286611d309190612928565b611d3a9190612928565b9250505092915050565b60008190506000600f60000154600f60010154600d60000154600d60010154611d6d919061295c565b611d77919061295c565b611d81919061295c565b600f60000154600d60000154611d97919061295c565b83611da29190612fc4565b611dac9190612a2b565b90506000600f60000154600f60010154600d60000154600d60010154611dd2919061295c565b611ddc919061295c565b611de6919061295c565b600f60010154600d60010154611dfc919061295c565b84611e079190612fc4565b611e119190612a2b565b905060008183611e21919061295c565b90506000611e39600285611f1f90919063ffffffff16565b90506000611e508287611f6990919063ffffffff16565b90506000479050611e6082611fb3565b6000611e758247611f6990919063ffffffff16565b90506000611e9e86611e908a856121f690919063ffffffff16565b611f1f90919063ffffffff16565b9050611eaa8582612270565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611f12573d6000803e3d6000fd5b5050505050505050505050565b6000611f6183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612370565b905092915050565b6000611fab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123d3565b905092915050565b6000600267ffffffffffffffff811115611fd057611fcf613006565b5b604051908082528060200260200182016040528015611ffe5781602001602082028036833780820191505090505b509050308160008151811061201657612015613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e19190613079565b816001815181106120f5576120f4613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061215c30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c095949392919061319f565b600060405180830381600087803b1580156121da57600080fd5b505af11580156121ee573d6000803e3d6000fd5b505050505050565b6000808303612208576000905061226a565b600082846122169190612fc4565b90508284826122259190612a2b565b14612265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225c9061326b565b60405180910390fd5b809150505b92915050565b61229d30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123269695949392919061328b565b60606040518083038185885af1158015612344573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123699190613301565b5050505050565b600080831182906123b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ae91906124fb565b60405180910390fd5b50600083856123c69190612a2b565b9050809150509392505050565b600083831115829061241b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241291906124fb565b60405180910390fd5b506000838561242a9190612928565b9050809150509392505050565b6000819050919050565b61244a81612437565b82525050565b60006020820190506124656000830184612441565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124a557808201518184015260208101905061248a565b60008484015250505050565b6000601f19601f8301169050919050565b60006124cd8261246b565b6124d78185612476565b93506124e7818560208601612487565b6124f0816124b1565b840191505092915050565b6000602082019050818103600083015261251581846124c2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254d82612522565b9050919050565b61255d81612542565b811461256857600080fd5b50565b60008135905061257a81612554565b92915050565b61258981612437565b811461259457600080fd5b50565b6000813590506125a681612580565b92915050565b600080604083850312156125c3576125c261251d565b5b60006125d18582860161256b565b92505060206125e285828601612597565b9150509250929050565b60008115159050919050565b612601816125ec565b82525050565b600060208201905061261c60008301846125f8565b92915050565b6000819050919050565b600061264761264261263d84612522565b612622565b612522565b9050919050565b60006126598261262c565b9050919050565b600061266b8261264e565b9050919050565b61267b81612660565b82525050565b60006020820190506126966000830184612672565b92915050565b6000806000606084860312156126b5576126b461251d565b5b60006126c38682870161256b565b93505060206126d48682870161256b565b92505060406126e586828701612597565b9150509250925092565b6126f881612542565b82525050565b600060208201905061271360008301846126ef565b92915050565b600060408201905061272e6000830185612441565b61273b6020830184612441565b9392505050565b600060ff82169050919050565b61275881612742565b82525050565b6000602082019050612773600083018461274f565b92915050565b600080604083850312156127905761278f61251d565b5b600061279e85828601612597565b92505060206127af85828601612597565b9150509250929050565b6000602082840312156127cf576127ce61251d565b5b60006127dd8482850161256b565b91505092915050565b60008060008060808587031215612800576127ff61251d565b5b600061280e87828801612597565b945050602061281f87828801612597565b935050604061283087828801612597565b925050606061284187828801612597565b91505092959194509250565b612856816125ec565b811461286157600080fd5b50565b6000813590506128738161284d565b92915050565b600080604083850312156128905761288f61251d565b5b600061289e8582860161256b565b92505060206128af85828601612864565b9150509250929050565b600080604083850312156128d0576128cf61251d565b5b60006128de8582860161256b565b92505060206128ef8582860161256b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061293382612437565b915061293e83612437565b9250828203905081811115612956576129556128f9565b5b92915050565b600061296782612437565b915061297283612437565b925082820190508082111561298a576129896128f9565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129c6602083612476565b91506129d182612990565b602082019050919050565b600060208201905081810360008301526129f5816129b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a3682612437565b9150612a4183612437565b925082612a5157612a506129fc565b5b828204905092915050565b7f53686f756c6420626520626967676572207468616e20302c3125000000000000600082015250565b6000612a92601a83612476565b9150612a9d82612a5c565b602082019050919050565b60006020820190508181036000830152612ac181612a85565b9050919050565b7f43616e2774206368616e67652066656520686967686572207468616e20323425600082015250565b6000612afe602083612476565b9150612b0982612ac8565b602082019050919050565b60006020820190508181036000830152612b2d81612af1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b90602683612476565b9150612b9b82612b34565b604082019050919050565b60006020820190508181036000830152612bbf81612b83565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c22602483612476565b9150612c2d82612bc6565b604082019050919050565b60006020820190508181036000830152612c5181612c15565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cb4602283612476565b9150612cbf82612c58565b604082019050919050565b60006020820190508181036000830152612ce381612ca7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d46602583612476565b9150612d5182612cea565b604082019050919050565b60006020820190508181036000830152612d7581612d39565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612dd8602383612476565b9150612de382612d7c565b604082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e6a602983612476565b9150612e7582612e0e565b604082019050919050565b60006020820190508181036000830152612e9981612e5d565b9050919050565b7f5472616e7366657220416d6f756e74206578636565647320746865206d61785460008201527f786e73416d6f756e740000000000000000000000000000000000000000000000602082015250565b6000612efc602983612476565b9150612f0782612ea0565b604082019050919050565b60006020820190508181036000830152612f2b81612eef565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c6574416d6f756e742e0000000000000000000000000000000000000000602082015250565b6000612f8e602c83612476565b9150612f9982612f32565b604082019050919050565b60006020820190508181036000830152612fbd81612f81565b9050919050565b6000612fcf82612437565b9150612fda83612437565b9250828202612fe881612437565b91508282048414831517612fff57612ffe6128f9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061307381612554565b92915050565b60006020828403121561308f5761308e61251d565b5b600061309d84828501613064565b91505092915050565b6000819050919050565b60006130cb6130c66130c1846130a6565b612622565b612437565b9050919050565b6130db816130b0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61311681612542565b82525050565b6000613128838361310d565b60208301905092915050565b6000602082019050919050565b600061314c826130e1565b61315681856130ec565b9350613161836130fd565b8060005b83811015613192578151613179888261311c565b975061318483613134565b925050600181019050613165565b5085935050505092915050565b600060a0820190506131b46000830188612441565b6131c160208301876130d2565b81810360408301526131d38186613141565b90506131e260608301856126ef565b6131ef6080830184612441565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613255602183612476565b9150613260826131f9565b604082019050919050565b6000602082019050818103600083015261328481613248565b9050919050565b600060c0820190506132a060008301896126ef565b6132ad6020830188612441565b6132ba60408301876130d2565b6132c760608301866130d2565b6132d460808301856126ef565b6132e160a0830184612441565b979650505050505050565b6000815190506132fb81612580565b92915050565b60008060006060848603121561331a5761331961251d565b5b6000613328868287016132ec565b9350506020613339868287016132ec565b925050604061334a868287016132ec565b915050925092509256fea2646970667358221220eb827c3c2b2a75455ca6be82b6ae3a48696852c050d22012bea8d0cfc83e767364736f6c63430008110033000000000000000000000000a7377edade640b51315983227854db7458e1d08f000000000000000000000000a7377edade640b51315983227854db7458e1d08f

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80636c0a24eb116100ec578063a457c2d71161008a578063c024666811610064578063c024666814610637578063c589829d14610660578063dd62ed3e1461068b578063f2fde38b146106c8576101c2565b8063a457c2d714610594578063a9059cbb146105d1578063b1192e181461060e576101c2565b806375f0a874116100c657806375f0a874146104e85780637d1db4a5146105135780638da5cb5b1461053e57806395d89b4114610569576101c2565b80636c0a24eb1461046957806370a0823114610494578063715018a6146104d1576101c2565b80632b14ca5611610159578063470624021161013357806347062402146103ac5780634716b2c3146103d857806349bd5a5e146104015780635342acb41461042c576101c2565b80632b14ca5614610318578063313ce56714610344578063395093511461036f576101c2565b80631694505e116101955780631694505e1461025a57806318160ddd1461028557806323b872dd146102b0578063264d26dd146102ed576101c2565b806303e403b0146101c757806306fdde03146101f2578063095ea7b31461021d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106f1565b6040516101e99190612450565b60405180910390f35b3480156101fe57600080fd5b506102076106f7565b60405161021491906124fb565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906125ac565b610734565b6040516102519190612607565b60405180910390f35b34801561026657600080fd5b5061026f610752565b60405161027c9190612681565b60405180910390f35b34801561029157600080fd5b5061029a610778565b6040516102a79190612450565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d2919061269c565b610782565b6040516102e49190612607565b60405180910390f35b3480156102f957600080fd5b5061030261083a565b60405161030f91906126fe565b60405180910390f35b34801561032457600080fd5b5061032d610860565b60405161033b929190612719565b60405180910390f35b34801561035057600080fd5b50610359610872565b604051610366919061275e565b60405180910390f35b34801561037b57600080fd5b50610396600480360381019061039191906125ac565b61087b565b6040516103a39190612607565b60405180910390f35b3480156103b857600080fd5b506103c1610927565b6040516103cf929190612719565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa9190612779565b610939565b005b34801561040d57600080fd5b50610416610a3c565b60405161042391906126fe565b60405180910390f35b34801561043857600080fd5b50610453600480360381019061044e91906127b9565b610a62565b6040516104609190612607565b60405180910390f35b34801561047557600080fd5b5061047e610ab8565b60405161048b9190612450565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b691906127b9565b610abe565b6040516104c89190612450565b60405180910390f35b3480156104dd57600080fd5b506104e6610b07565b005b3480156104f457600080fd5b506104fd610c5a565b60405161050a91906126fe565b60405180910390f35b34801561051f57600080fd5b50610528610c80565b6040516105359190612450565b60405180910390f35b34801561054a57600080fd5b50610553610c86565b60405161056091906126fe565b60405180910390f35b34801561057557600080fd5b5061057e610caf565b60405161058b91906124fb565b60405180910390f35b3480156105a057600080fd5b506105bb60048036038101906105b691906125ac565b610cec565b6040516105c89190612607565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f391906125ac565b610d98565b6040516106059190612607565b60405180910390f35b34801561061a57600080fd5b50610635600480360381019061063091906127e6565b610db6565b005b34801561064357600080fd5b5061065e60048036038101906106599190612879565b610edd565b005b34801561066c57600080fd5b50610675610fcd565b6040516106829190612450565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad91906128b9565b610fd3565b6040516106bf9190612450565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea91906127b9565b61105a565b005b60095481565b60606040518060400160405280600581526020017f3078343230000000000000000000000000000000000000000000000000000000815250905090565b600061074861074161121b565b8484611223565b6001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600061078f8484846113ec565b61082f8461079b61121b565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107e561121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461082a9190612928565b611223565b600190509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f8060000154908060010154905082565b60006009905090565b600061091d61088861121b565b84846004600061089661121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610918919061295c565b611223565b6001905092915050565b600d8060000154908060010154905082565b61094161121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c5906129dc565b60405180910390fd5b6103e86006546109de9190612a2b565b81836109ea919061295c565b11610a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2190612aa8565b60405180910390fd5b81600881905550806007819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60075481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b0f61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b93906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f3078343230000000000000000000000000000000000000000000000000000000815250905090565b6000610d8e610cf961121b565b848460046000610d0761121b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d899190612928565b611223565b6001905092915050565b6000610dac610da561121b565b84846113ec565b6001905092915050565b610dbe61121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e42906129dc565b60405180910390fd5b60328385610e59919061295c565b1080610e70575060328282610e6e919061295c565b105b610eaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea690612b14565b60405180910390fd5b82600d6000018190555083600d6001018190555080600f6000018190555081600f6001018190555050505050565b610ee561121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f69906129dc565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600a5481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61106261121b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e6906129dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612ba6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990612c38565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612cca565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113df9190612450565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290612d5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612dee565b60405180910390fd5b6000811161150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490612e80565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461155c9190612928565b9250508190555060008190506000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561160e5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561161857600190505b8015611a1857600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461171d576008548311156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612f12565b60405180910390fd5b600754836116c586610abe565b6116cf919061295c565b1115611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790612fa4565b60405180910390fd5b61171a8385611ada565b91505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146118c8576008548311156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae90612f12565b60405180910390fd5b6117c18386611c0f565b91506001600a60008282546117d6919061295c565b925050819055506009546117e930610abe565b101580156118045750601360009054906101000a900460ff16155b15611853576001601360006101000a81548160ff02191690831515021790555061182f600954611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b6005600a541180156118725750601360009054906101000a900460ff16155b156118c7576001601360006101000a81548160ff0219169083151502179055506118a361189e30610abe565b611d44565b6000601360006101000a81548160ff0219169083151502179055506000600a819055505b5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119745750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611a17576008548311156119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b590612f12565b60405180910390fd5b600754836119cb86610abe565b6119d5919061295c565b1115611a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0d90612fa4565b60405180910390fd5b5b5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a67919061295c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611acb9190612450565b60405180910390a35050505050565b6000806064600d6000015485611af09190612fc4565b611afa9190612a2b565b905060006064600d6001015486611b119190612fc4565b611b1b9190612a2b565b90508082611b29919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b77919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611bd9919061295c565b604051611be69190612450565b60405180910390a3808286611bfb9190612928565b611c059190612928565b9250505092915050565b6000806064600f6000015485611c259190612fc4565b611c2f9190612a2b565b905060006064600f6001015486611c469190612fc4565b611c509190612a2b565b90508082611c5e919061295c565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cac919061295c565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484611d0e919061295c565b604051611d1b9190612450565b60405180910390a3808286611d309190612928565b611d3a9190612928565b9250505092915050565b60008190506000600f60000154600f60010154600d60000154600d60010154611d6d919061295c565b611d77919061295c565b611d81919061295c565b600f60000154600d60000154611d97919061295c565b83611da29190612fc4565b611dac9190612a2b565b90506000600f60000154600f60010154600d60000154600d60010154611dd2919061295c565b611ddc919061295c565b611de6919061295c565b600f60010154600d60010154611dfc919061295c565b84611e079190612fc4565b611e119190612a2b565b905060008183611e21919061295c565b90506000611e39600285611f1f90919063ffffffff16565b90506000611e508287611f6990919063ffffffff16565b90506000479050611e6082611fb3565b6000611e758247611f6990919063ffffffff16565b90506000611e9e86611e908a856121f690919063ffffffff16565b611f1f90919063ffffffff16565b9050611eaa8582612270565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611f12573d6000803e3d6000fd5b5050505050505050505050565b6000611f6183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612370565b905092915050565b6000611fab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123d3565b905092915050565b6000600267ffffffffffffffff811115611fd057611fcf613006565b5b604051908082528060200260200182016040528015611ffe5781602001602082028036833780820191505090505b509050308160008151811061201657612015613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e19190613079565b816001815181106120f5576120f4613035565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061215c30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c095949392919061319f565b600060405180830381600087803b1580156121da57600080fd5b505af11580156121ee573d6000803e3d6000fd5b505050505050565b6000808303612208576000905061226a565b600082846122169190612fc4565b90508284826122259190612a2b565b14612265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225c9061326b565b60405180910390fd5b809150505b92915050565b61229d30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611223565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123269695949392919061328b565b60606040518083038185885af1158015612344573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123699190613301565b5050505050565b600080831182906123b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ae91906124fb565b60405180910390fd5b50600083856123c69190612a2b565b9050809150509392505050565b600083831115829061241b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241291906124fb565b60405180910390fd5b506000838561242a9190612928565b9050809150509392505050565b6000819050919050565b61244a81612437565b82525050565b60006020820190506124656000830184612441565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124a557808201518184015260208101905061248a565b60008484015250505050565b6000601f19601f8301169050919050565b60006124cd8261246b565b6124d78185612476565b93506124e7818560208601612487565b6124f0816124b1565b840191505092915050565b6000602082019050818103600083015261251581846124c2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254d82612522565b9050919050565b61255d81612542565b811461256857600080fd5b50565b60008135905061257a81612554565b92915050565b61258981612437565b811461259457600080fd5b50565b6000813590506125a681612580565b92915050565b600080604083850312156125c3576125c261251d565b5b60006125d18582860161256b565b92505060206125e285828601612597565b9150509250929050565b60008115159050919050565b612601816125ec565b82525050565b600060208201905061261c60008301846125f8565b92915050565b6000819050919050565b600061264761264261263d84612522565b612622565b612522565b9050919050565b60006126598261262c565b9050919050565b600061266b8261264e565b9050919050565b61267b81612660565b82525050565b60006020820190506126966000830184612672565b92915050565b6000806000606084860312156126b5576126b461251d565b5b60006126c38682870161256b565b93505060206126d48682870161256b565b92505060406126e586828701612597565b9150509250925092565b6126f881612542565b82525050565b600060208201905061271360008301846126ef565b92915050565b600060408201905061272e6000830185612441565b61273b6020830184612441565b9392505050565b600060ff82169050919050565b61275881612742565b82525050565b6000602082019050612773600083018461274f565b92915050565b600080604083850312156127905761278f61251d565b5b600061279e85828601612597565b92505060206127af85828601612597565b9150509250929050565b6000602082840312156127cf576127ce61251d565b5b60006127dd8482850161256b565b91505092915050565b60008060008060808587031215612800576127ff61251d565b5b600061280e87828801612597565b945050602061281f87828801612597565b935050604061283087828801612597565b925050606061284187828801612597565b91505092959194509250565b612856816125ec565b811461286157600080fd5b50565b6000813590506128738161284d565b92915050565b600080604083850312156128905761288f61251d565b5b600061289e8582860161256b565b92505060206128af85828601612864565b9150509250929050565b600080604083850312156128d0576128cf61251d565b5b60006128de8582860161256b565b92505060206128ef8582860161256b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061293382612437565b915061293e83612437565b9250828203905081811115612956576129556128f9565b5b92915050565b600061296782612437565b915061297283612437565b925082820190508082111561298a576129896128f9565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129c6602083612476565b91506129d182612990565b602082019050919050565b600060208201905081810360008301526129f5816129b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a3682612437565b9150612a4183612437565b925082612a5157612a506129fc565b5b828204905092915050565b7f53686f756c6420626520626967676572207468616e20302c3125000000000000600082015250565b6000612a92601a83612476565b9150612a9d82612a5c565b602082019050919050565b60006020820190508181036000830152612ac181612a85565b9050919050565b7f43616e2774206368616e67652066656520686967686572207468616e20323425600082015250565b6000612afe602083612476565b9150612b0982612ac8565b602082019050919050565b60006020820190508181036000830152612b2d81612af1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b90602683612476565b9150612b9b82612b34565b604082019050919050565b60006020820190508181036000830152612bbf81612b83565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c22602483612476565b9150612c2d82612bc6565b604082019050919050565b60006020820190508181036000830152612c5181612c15565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cb4602283612476565b9150612cbf82612c58565b604082019050919050565b60006020820190508181036000830152612ce381612ca7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d46602583612476565b9150612d5182612cea565b604082019050919050565b60006020820190508181036000830152612d7581612d39565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612dd8602383612476565b9150612de382612d7c565b604082019050919050565b60006020820190508181036000830152612e0781612dcb565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e6a602983612476565b9150612e7582612e0e565b604082019050919050565b60006020820190508181036000830152612e9981612e5d565b9050919050565b7f5472616e7366657220416d6f756e74206578636565647320746865206d61785460008201527f786e73416d6f756e740000000000000000000000000000000000000000000000602082015250565b6000612efc602983612476565b9150612f0782612ea0565b604082019050919050565b60006020820190508181036000830152612f2b81612eef565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785760008201527f616c6c6574416d6f756e742e0000000000000000000000000000000000000000602082015250565b6000612f8e602c83612476565b9150612f9982612f32565b604082019050919050565b60006020820190508181036000830152612fbd81612f81565b9050919050565b6000612fcf82612437565b9150612fda83612437565b9250828202612fe881612437565b91508282048414831517612fff57612ffe6128f9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061307381612554565b92915050565b60006020828403121561308f5761308e61251d565b5b600061309d84828501613064565b91505092915050565b6000819050919050565b60006130cb6130c66130c1846130a6565b612622565b612437565b9050919050565b6130db816130b0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61311681612542565b82525050565b6000613128838361310d565b60208301905092915050565b6000602082019050919050565b600061314c826130e1565b61315681856130ec565b9350613161836130fd565b8060005b83811015613192578151613179888261311c565b975061318483613134565b925050600181019050613165565b5085935050505092915050565b600060a0820190506131b46000830188612441565b6131c160208301876130d2565b81810360408301526131d38186613141565b90506131e260608301856126ef565b6131ef6080830184612441565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613255602183612476565b9150613260826131f9565b604082019050919050565b6000602082019050818103600083015261328481613248565b9050919050565b600060c0820190506132a060008301896126ef565b6132ad6020830188612441565b6132ba60408301876130d2565b6132c760608301866130d2565b6132d460808301856126ef565b6132e160a0830184612441565b979650505050505050565b6000815190506132fb81612580565b92915050565b60008060006060848603121561331a5761331961251d565b5b6000613328868287016132ec565b9350506020613339868287016132ec565b925050604061334a868287016132ec565b915050925092509256fea2646970667358221220eb827c3c2b2a75455ca6be82b6ae3a48696852c050d22012bea8d0cfc83e767364736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000a7377edade640b51315983227854db7458e1d08f000000000000000000000000a7377edade640b51315983227854db7458e1d08f

-----Decoded View---------------
Arg [0] : marketingAddress (address): 0xA7377EDaDe640B51315983227854Db7458e1D08f
Arg [1] : liquidityAddress (address): 0xA7377EDaDe640B51315983227854Db7458e1D08f

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a7377edade640b51315983227854db7458e1d08f
Arg [1] : 000000000000000000000000a7377edade640b51315983227854db7458e1d08f


Deployed Bytecode Sourcemap

4800:10425:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5503:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7100:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7932:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4882:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7377:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8101:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5612:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5891:23;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;7286:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8375:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5863:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;10587:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4932:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9956:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5367:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7480:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3261:148;;;;;;;;;;;;;:::i;:::-;;5651:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5437:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3047:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7191:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8598:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7606:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10087:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8835:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5574:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7781:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3417:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5503:64;;;;:::o;7100:83::-;7137:13;7170:5;;;;;;;;;;;;;;;;;7163:12;;7100:83;:::o;7932:161::-;8007:4;8024:39;8033:12;:10;:12::i;:::-;8047:7;8056:6;8024:8;:39::i;:::-;8081:4;8074:11;;7932:161;;;;:::o;4882:41::-;;;;;;;;;;;;;:::o;7377:95::-;7430:7;7457;;7450:14;;7377:95;:::o;8101:266::-;8199:4;8216:36;8226:6;8234:9;8245:6;8216:9;:36::i;:::-;8263:74;8272:6;8280:12;:10;:12::i;:::-;8330:6;8294:11;:19;8306:6;8294:19;;;;;;;;;;;;;;;:33;8314:12;:10;:12::i;:::-;8294:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;8263:8;:74::i;:::-;8355:4;8348:11;;8101:266;;;;;:::o;5612:32::-;;;;;;;;;;;;;:::o;5891:23::-;;;;;;;;;;;;;;:::o;7286:83::-;7327:5;5291:1;7345:16;;7286:83;:::o;8375:215::-;8463:4;8480:80;8489:12;:10;:12::i;:::-;8503:7;8549:10;8512:11;:25;8524:12;:10;:12::i;:::-;8512:25;;;;;;;;;;;;;;;:34;8538:7;8512:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;8480:8;:80::i;:::-;8578:4;8571:11;;8375:215;;;;:::o;5863:21::-;;;;;;;;;;;;;;:::o;10587:238::-;3184:12;:10;:12::i;:::-;3174:22;;:6;;;;;;;;;;:22;;;3166:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10710:4:::1;10700:7;;:14;;;;:::i;:::-;10687:10;10678:6;:19;;;;:::i;:::-;:36;10670:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;10771:6;10756:12;:21;;;;10807:10;10788:16;:29;;;;10587:238:::0;;:::o;4932:28::-;;;;;;;;;;;;;:::o;9956:123::-;10020:4;10044:18;:27;10063:7;10044:27;;;;;;;;;;;;;;;;;;;;;;;;;10037:34;;9956:123;;;:::o;5367:63::-;;;;:::o;7480:118::-;7546:7;7573:8;:17;7582:7;7573:17;;;;;;;;;;;;;;;;7566:24;;7480:118;;;:::o;3261:148::-;3184:12;:10;:12::i;:::-;3174:22;;:6;;;;;;;;;;:22;;;3166:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3368:1:::1;3331:40;;3352:6;::::0;::::1;;;;;;;;3331:40;;;;;;;;;;;;3399:1;3382:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3261:148::o:0;5651:30::-;;;;;;;;;;;;;:::o;5437:59::-;;;;:::o;3047:79::-;3085:7;3112:6;;;;;;;;;;;3105:13;;3047:79;:::o;7191:87::-;7230:13;7263:7;;;;;;;;;;;;;;;;;7256:14;;7191:87;:::o;8598:225::-;8691:4;8708:85;8717:12;:10;:12::i;:::-;8731:7;8777:15;8740:11;:25;8752:12;:10;:12::i;:::-;8740:25;;;;;;;;;;;;;;;:34;8766:7;8740:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;8708:8;:85::i;:::-;8811:4;8804:11;;8598:225;;;;:::o;7606:167::-;7684:4;7701:42;7711:12;:10;:12::i;:::-;7725:9;7736:6;7701:9;:42::i;:::-;7761:4;7754:11;;7606:167;;;;:::o;10087:492::-;3184:12;:10;:12::i;:::-;3174:22;;:6;;;;;;;;;;:22;;;3166:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10286:2:::1;10267:16;10248;:35;;;;:::i;:::-;:40;:86;;;;10332:2;10312:17;10292;:37;;;;:::i;:::-;:42;10248:86;10240:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;10411:16;10392:6;:16;;:35;;;;10457:16;10438:6;:16;;:35;;;;10506:17;10486:7;:17;;:37;;;;10554:17;10534:7;:17;;:37;;;;10087:492:::0;;;;:::o;8835:140::-;3184:12;:10;:12::i;:::-;3174:22;;:6;;;;;;;;;;:22;;;3166:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8959:8:::1;8920:18;:36;8947:7;8920:36;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;8835:140:::0;;:::o;5574:29::-;;;;:::o;7781:143::-;7862:7;7889:11;:18;7901:5;7889:18;;;;;;;;;;;;;;;:27;7908:7;7889:27;;;;;;;;;;;;;;;;7882:34;;7781:143;;;;:::o;3417:244::-;3184:12;:10;:12::i;:::-;3174:22;;:6;;;;;;;;;;:22;;;3166:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3526:1:::1;3506:22;;:8;:22;;::::0;3498:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3616:8;3587:38;;3608:6;::::0;::::1;;;;;;;;3587:38;;;;;;;;;;;;3645:8;3636:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3417:244:::0;:::o;2483:115::-;2536:15;2579:10;2564:26;;2483:115;:::o;10833:337::-;10943:1;10926:19;;:5;:19;;;10918:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11024:1;11005:21;;:7;:21;;;10997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11108:6;11078:11;:18;11090:5;11078:18;;;;;;;;;;;;;;;:27;11097:7;11078:27;;;;;;;;;;;;;;;:36;;;;11146:7;11130:32;;11139:5;11130:32;;;11155:6;11130:32;;;;;;:::i;:::-;;;;;;;;10833:337;;;:::o;11178:2094::-;11316:1;11300:18;;:4;:18;;;11292:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11393:1;11379:16;;:2;:16;;;11371:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11463:1;11454:6;:10;11446:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11549:6;11531:8;:14;11540:4;11531:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;11566:22;11591:6;11566:31;;11618:12;11647:18;:24;11666:4;11647:24;;;;;;;;;;;;;;;;;;;;;;;;;11646:25;:52;;;;;11676:18;:22;11695:2;11676:22;;;;;;;;;;;;;;;;;;;;;;;;;11675:23;11646:52;11643:97;;;11724:4;11714:14;;11643:97;11755:7;11752:1412;;;11787:13;;;;;;;;;;;11781:19;;:2;:19;;;11778:311;;11838:12;;11828:6;:22;;11820:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;11949:16;;11939:6;11923:13;11933:2;11923:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;11915:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;12050:23;12062:6;12070:2;12050:11;:23::i;:::-;12033:40;;11778:311;12116:13;;;;;;;;;;;12108:21;;:4;:21;;;12105:755;;12167:12;;12157:6;:22;;12149:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;12261:26;12274:6;12282:4;12261:12;:26::i;:::-;12244:43;;12324:1;12306:14;;:19;;;;;;;:::i;:::-;;;;;;;;12377:17;;12349:24;12367:4;12349:9;:24::i;:::-;:45;;:58;;;;;12399:8;;;;;;;;;;;12398:9;12349:58;12345:250;;;12443:4;12432:8;;:15;;;;;;;;;;;;;;;;;;12470:27;12479:17;;12470:8;:27::i;:::-;12531:5;12520:8;;:16;;;;;;;;;;;;;;;;;;12576:1;12559:14;:18;;;;12345:250;12636:1;12619:14;;:18;:31;;;;;12642:8;;;;;;;;;;;12641:9;12619:31;12615:230;;;12686:4;12675:8;;:15;;;;;;;;;;;;;;;;;;12713:34;12722:24;12740:4;12722:9;:24::i;:::-;12713:8;:34::i;:::-;12781:5;12770:8;;:16;;;;;;;;;;;;;;;;;;12826:1;12809:14;:18;;;;12615:230;12105:755;12885:13;;;;;;;;;;;12879:19;;:2;:19;;;;:44;;;;;12910:13;;;;;;;;;;;12902:21;;:4;:21;;;;12879:44;12876:277;;;12961:12;;12951:6;:22;;12943:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;13072:16;;13062:6;13046:13;13056:2;13046:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;13038:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;12876:277;11752:1412;13200:14;13184:8;:12;13193:2;13184:12;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13245:2;13230:34;;13239:4;13230:34;;;13249:14;13230:34;;;;;;:::i;:::-;;;;;;;;11281:1991;;11178:2094;;;:::o;9024:456::-;9092:7;9112:25;9168:3;9149:6;:16;;;9140:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9112:59;;9183:26;9240:3;9221:6;:16;;;9212:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9183:60;;9303:18;9283:17;:38;;;;:::i;:::-;9256:8;:23;9273:4;9256:23;;;;;;;;;;;;;;;;:65;;;;;;;:::i;:::-;;;;;;;;9361:4;9337:70;;9347:4;9337:70;;;9389:17;9368:18;:38;;;;:::i;:::-;9337:70;;;;;;:::i;:::-;;;;;;;;9453:18;9434:17;9426:6;:25;;;;:::i;:::-;:45;;;;:::i;:::-;9418:54;;;;9024:456;;;;:::o;9488:460::-;9557:7;9577:25;9634:3;9614:7;:17;;;9605:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;9577:60;;9649:26;9707:3;9687:7;:17;;;9678:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;9649:61;;9770:18;9750:17;:38;;;;:::i;:::-;9723:8;:23;9740:4;9723:23;;;;;;;;;;;;;;;;:65;;;;;;;:::i;:::-;;;;;;;;9828:4;9804:71;;9814:4;9804:71;;;9856:17;9835:18;:38;;;;:::i;:::-;9804:71;;;;;;:::i;:::-;;;;;;;;9921:18;9902:17;9894:6;:25;;;;:::i;:::-;:45;;;;:::i;:::-;9886:54;;;;9488:460;;;;:::o;13283:1074::-;13336:23;13362:6;13336:32;;13379:23;13523:7;:17;;;13503:7;:17;;;13484:6;:16;;;13465:6;:16;;;:35;;;;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;13443:7;:17;;;13424:6;:16;;;:36;;;;:::i;:::-;13405:15;:56;;;;:::i;:::-;:136;;;;:::i;:::-;13379:162;;13552:23;13696:7;:17;;;13676:7;:17;;;13657:6;:16;;;13638:6;:16;;;:35;;;;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;13616:7;:17;;;13597:6;:16;;;:36;;;;:::i;:::-;13578:15;:56;;;;:::i;:::-;:136;;;;:::i;:::-;13552:162;;13725:25;13771:15;13753;:33;;;;:::i;:::-;13725:61;;13807:26;13836:22;13856:1;13836:15;:19;;:22;;;;:::i;:::-;13807:51;;13869:26;13898:39;13918:18;13898:15;:19;;:39;;;;:::i;:::-;13869:68;;13948:25;13976:21;13948:49;;14008:36;14025:18;14008:16;:36::i;:::-;14056:18;14077:44;14103:17;14077:21;:25;;:44;;;;:::i;:::-;14056:65;;14142:23;14168:54;14204:17;14168:31;14183:15;14168:10;:14;;:31;;;;:::i;:::-;:35;;:54;;;;:::i;:::-;14142:80;;14233:49;14246:18;14266:15;14233:12;:49::i;:::-;14301:15;;;;;;;;;;;14293:33;;:56;14327:21;14293:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13325:1032;;;;;;;;;13283:1074;:::o;1713:132::-;1771:7;1798:39;1802:1;1805;1798:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1791:46;;1713:132;;;;:::o;1111:136::-;1169:7;1196:43;1200:1;1203;1196:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1189:50;;1111:136;;;;:::o;14365:475::-;14431:21;14469:1;14455:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14431:40;;14500:4;14482;14487:1;14482:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;14526:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14516:4;14521:1;14516:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;14561:62;14578:4;14593:15;;;;;;;;;;;14611:11;14561:8;:62::i;:::-;14636:15;;;;;;;;;;;:66;;;14717:11;14743:1;14759:4;14786;14806:15;14636:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14420:420;14365:475;:::o;1455:250::-;1513:7;1542:1;1537;:6;1533:47;;1567:1;1560:8;;;;1533:47;1592:9;1608:1;1604;:5;;;;:::i;:::-;1592:17;;1637:1;1632;1628;:5;;;;:::i;:::-;:10;1620:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1696:1;1689:8;;;1455:250;;;;;:::o;14848:374::-;14929:62;14946:4;14961:15;;;;;;;;;;;14979:11;14929:8;:62::i;:::-;15004:15;;;;;;;;;;;:31;;;15044:9;15078:4;15098:11;15124:1;15140;15156:17;;;;;;;;;;;15188:15;15004:210;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14848:374;;:::o;1853:278::-;1939:7;1971:1;1967;:5;1974:12;1959:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1998:9;2014:1;2010;:5;;;;:::i;:::-;1998:17;;2122:1;2115:8;;;1853:278;;;;;:::o;1255:192::-;1341:7;1374:1;1369;:6;;1377:12;1361:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1401:9;1417:1;1413;:5;;;;:::i;:::-;1401:17;;1438:1;1431:8;;;1255:192;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:60::-;3826:3;3847:5;3840:12;;3798:60;;;:::o;3864:142::-;3914:9;3947:53;3965:34;3974:24;3992:5;3974:24;:::i;:::-;3965:34;:::i;:::-;3947:53;:::i;:::-;3934:66;;3864:142;;;:::o;4012:126::-;4062:9;4095:37;4126:5;4095:37;:::i;:::-;4082:50;;4012:126;;;:::o;4144:152::-;4220:9;4253:37;4284:5;4253:37;:::i;:::-;4240:50;;4144:152;;;:::o;4302:183::-;4415:63;4472:5;4415:63;:::i;:::-;4410:3;4403:76;4302:183;;:::o;4491:274::-;4610:4;4648:2;4637:9;4633:18;4625:26;;4661:97;4755:1;4744:9;4740:17;4731:6;4661:97;:::i;:::-;4491:274;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:118::-;5483:24;5501:5;5483:24;:::i;:::-;5478:3;5471:37;5396:118;;:::o;5520:222::-;5613:4;5651:2;5640:9;5636:18;5628:26;;5664:71;5732:1;5721:9;5717:17;5708:6;5664:71;:::i;:::-;5520:222;;;;:::o;5748:332::-;5869:4;5907:2;5896:9;5892:18;5884:26;;5920:71;5988:1;5977:9;5973:17;5964:6;5920:71;:::i;:::-;6001:72;6069:2;6058:9;6054:18;6045:6;6001:72;:::i;:::-;5748:332;;;;;:::o;6086:86::-;6121:7;6161:4;6154:5;6150:16;6139:27;;6086:86;;;:::o;6178:112::-;6261:22;6277:5;6261:22;:::i;:::-;6256:3;6249:35;6178:112;;:::o;6296:214::-;6385:4;6423:2;6412:9;6408:18;6400:26;;6436:67;6500:1;6489:9;6485:17;6476:6;6436:67;:::i;:::-;6296:214;;;;:::o;6516:474::-;6584:6;6592;6641:2;6629:9;6620:7;6616:23;6612:32;6609:119;;;6647:79;;:::i;:::-;6609:119;6767:1;6792:53;6837:7;6828:6;6817:9;6813:22;6792:53;:::i;:::-;6782:63;;6738:117;6894:2;6920:53;6965:7;6956:6;6945:9;6941:22;6920:53;:::i;:::-;6910:63;;6865:118;6516:474;;;;;:::o;6996:329::-;7055:6;7104:2;7092:9;7083:7;7079:23;7075:32;7072:119;;;7110:79;;:::i;:::-;7072:119;7230:1;7255:53;7300:7;7291:6;7280:9;7276:22;7255:53;:::i;:::-;7245:63;;7201:117;6996:329;;;;:::o;7331:765::-;7417:6;7425;7433;7441;7490:3;7478:9;7469:7;7465:23;7461:33;7458:120;;;7497:79;;:::i;:::-;7458:120;7617:1;7642:53;7687:7;7678:6;7667:9;7663:22;7642:53;:::i;:::-;7632:63;;7588:117;7744:2;7770:53;7815:7;7806:6;7795:9;7791:22;7770:53;:::i;:::-;7760:63;;7715:118;7872:2;7898:53;7943:7;7934:6;7923:9;7919:22;7898:53;:::i;:::-;7888:63;;7843:118;8000:2;8026:53;8071:7;8062:6;8051:9;8047:22;8026:53;:::i;:::-;8016:63;;7971:118;7331:765;;;;;;;:::o;8102:116::-;8172:21;8187:5;8172:21;:::i;:::-;8165:5;8162:32;8152:60;;8208:1;8205;8198:12;8152:60;8102:116;:::o;8224:133::-;8267:5;8305:6;8292:20;8283:29;;8321:30;8345:5;8321:30;:::i;:::-;8224:133;;;;:::o;8363:468::-;8428:6;8436;8485:2;8473:9;8464:7;8460:23;8456:32;8453:119;;;8491:79;;:::i;:::-;8453:119;8611:1;8636:53;8681:7;8672:6;8661:9;8657:22;8636:53;:::i;:::-;8626:63;;8582:117;8738:2;8764:50;8806:7;8797:6;8786:9;8782:22;8764:50;:::i;:::-;8754:60;;8709:115;8363:468;;;;;:::o;8837:474::-;8905:6;8913;8962:2;8950:9;8941:7;8937:23;8933:32;8930:119;;;8968:79;;:::i;:::-;8930:119;9088:1;9113:53;9158:7;9149:6;9138:9;9134:22;9113:53;:::i;:::-;9103:63;;9059:117;9215:2;9241:53;9286:7;9277:6;9266:9;9262:22;9241:53;:::i;:::-;9231:63;;9186:118;8837:474;;;;;:::o;9317:180::-;9365:77;9362:1;9355:88;9462:4;9459:1;9452:15;9486:4;9483:1;9476:15;9503:194;9543:4;9563:20;9581:1;9563:20;:::i;:::-;9558:25;;9597:20;9615:1;9597:20;:::i;:::-;9592:25;;9641:1;9638;9634:9;9626:17;;9665:1;9659:4;9656:11;9653:37;;;9670:18;;:::i;:::-;9653:37;9503:194;;;;:::o;9703:191::-;9743:3;9762:20;9780:1;9762:20;:::i;:::-;9757:25;;9796:20;9814:1;9796:20;:::i;:::-;9791:25;;9839:1;9836;9832:9;9825:16;;9860:3;9857:1;9854:10;9851:36;;;9867:18;;:::i;:::-;9851:36;9703:191;;;;:::o;9900:182::-;10040:34;10036:1;10028:6;10024:14;10017:58;9900:182;:::o;10088:366::-;10230:3;10251:67;10315:2;10310:3;10251:67;:::i;:::-;10244:74;;10327:93;10416:3;10327:93;:::i;:::-;10445:2;10440:3;10436:12;10429:19;;10088:366;;;:::o;10460:419::-;10626:4;10664:2;10653:9;10649:18;10641:26;;10713:9;10707:4;10703:20;10699:1;10688:9;10684:17;10677:47;10741:131;10867:4;10741:131;:::i;:::-;10733:139;;10460:419;;;:::o;10885:180::-;10933:77;10930:1;10923:88;11030:4;11027:1;11020:15;11054:4;11051:1;11044:15;11071:185;11111:1;11128:20;11146:1;11128:20;:::i;:::-;11123:25;;11162:20;11180:1;11162:20;:::i;:::-;11157:25;;11201:1;11191:35;;11206:18;;:::i;:::-;11191:35;11248:1;11245;11241:9;11236:14;;11071:185;;;;:::o;11262:176::-;11402:28;11398:1;11390:6;11386:14;11379:52;11262:176;:::o;11444:366::-;11586:3;11607:67;11671:2;11666:3;11607:67;:::i;:::-;11600:74;;11683:93;11772:3;11683:93;:::i;:::-;11801:2;11796:3;11792:12;11785:19;;11444:366;;;:::o;11816:419::-;11982:4;12020:2;12009:9;12005:18;11997:26;;12069:9;12063:4;12059:20;12055:1;12044:9;12040:17;12033:47;12097:131;12223:4;12097:131;:::i;:::-;12089:139;;11816:419;;;:::o;12241:182::-;12381:34;12377:1;12369:6;12365:14;12358:58;12241:182;:::o;12429:366::-;12571:3;12592:67;12656:2;12651:3;12592:67;:::i;:::-;12585:74;;12668:93;12757:3;12668:93;:::i;:::-;12786:2;12781:3;12777:12;12770:19;;12429:366;;;:::o;12801:419::-;12967:4;13005:2;12994:9;12990:18;12982:26;;13054:9;13048:4;13044:20;13040:1;13029:9;13025:17;13018:47;13082:131;13208:4;13082:131;:::i;:::-;13074:139;;12801:419;;;:::o;13226:225::-;13366:34;13362:1;13354:6;13350:14;13343:58;13435:8;13430:2;13422:6;13418:15;13411:33;13226:225;:::o;13457:366::-;13599:3;13620:67;13684:2;13679:3;13620:67;:::i;:::-;13613:74;;13696:93;13785:3;13696:93;:::i;:::-;13814:2;13809:3;13805:12;13798:19;;13457:366;;;:::o;13829:419::-;13995:4;14033:2;14022:9;14018:18;14010:26;;14082:9;14076:4;14072:20;14068:1;14057:9;14053:17;14046:47;14110:131;14236:4;14110:131;:::i;:::-;14102:139;;13829:419;;;:::o;14254:223::-;14394:34;14390:1;14382:6;14378:14;14371:58;14463:6;14458:2;14450:6;14446:15;14439:31;14254:223;:::o;14483:366::-;14625:3;14646:67;14710:2;14705:3;14646:67;:::i;:::-;14639:74;;14722:93;14811:3;14722:93;:::i;:::-;14840:2;14835:3;14831:12;14824:19;;14483:366;;;:::o;14855:419::-;15021:4;15059:2;15048:9;15044:18;15036:26;;15108:9;15102:4;15098:20;15094:1;15083:9;15079:17;15072:47;15136:131;15262:4;15136:131;:::i;:::-;15128:139;;14855:419;;;:::o;15280:221::-;15420:34;15416:1;15408:6;15404:14;15397:58;15489:4;15484:2;15476:6;15472:15;15465:29;15280:221;:::o;15507:366::-;15649:3;15670:67;15734:2;15729:3;15670:67;:::i;:::-;15663:74;;15746:93;15835:3;15746:93;:::i;:::-;15864:2;15859:3;15855:12;15848:19;;15507:366;;;:::o;15879:419::-;16045:4;16083:2;16072:9;16068:18;16060:26;;16132:9;16126:4;16122:20;16118:1;16107:9;16103:17;16096:47;16160:131;16286:4;16160:131;:::i;:::-;16152:139;;15879:419;;;:::o;16304:224::-;16444:34;16440:1;16432:6;16428:14;16421:58;16513:7;16508:2;16500:6;16496:15;16489:32;16304:224;:::o;16534:366::-;16676:3;16697:67;16761:2;16756:3;16697:67;:::i;:::-;16690:74;;16773:93;16862:3;16773:93;:::i;:::-;16891:2;16886:3;16882:12;16875:19;;16534:366;;;:::o;16906:419::-;17072:4;17110:2;17099:9;17095:18;17087:26;;17159:9;17153:4;17149:20;17145:1;17134:9;17130:17;17123:47;17187:131;17313:4;17187:131;:::i;:::-;17179:139;;16906:419;;;:::o;17331:222::-;17471:34;17467:1;17459:6;17455:14;17448:58;17540:5;17535:2;17527:6;17523:15;17516:30;17331:222;:::o;17559:366::-;17701:3;17722:67;17786:2;17781:3;17722:67;:::i;:::-;17715:74;;17798:93;17887:3;17798:93;:::i;:::-;17916:2;17911:3;17907:12;17900:19;;17559:366;;;:::o;17931:419::-;18097:4;18135:2;18124:9;18120:18;18112:26;;18184:9;18178:4;18174:20;18170:1;18159:9;18155:17;18148:47;18212:131;18338:4;18212:131;:::i;:::-;18204:139;;17931:419;;;:::o;18356:228::-;18496:34;18492:1;18484:6;18480:14;18473:58;18565:11;18560:2;18552:6;18548:15;18541:36;18356:228;:::o;18590:366::-;18732:3;18753:67;18817:2;18812:3;18753:67;:::i;:::-;18746:74;;18829:93;18918:3;18829:93;:::i;:::-;18947:2;18942:3;18938:12;18931:19;;18590:366;;;:::o;18962:419::-;19128:4;19166:2;19155:9;19151:18;19143:26;;19215:9;19209:4;19205:20;19201:1;19190:9;19186:17;19179:47;19243:131;19369:4;19243:131;:::i;:::-;19235:139;;18962:419;;;:::o;19387:228::-;19527:34;19523:1;19515:6;19511:14;19504:58;19596:11;19591:2;19583:6;19579:15;19572:36;19387:228;:::o;19621:366::-;19763:3;19784:67;19848:2;19843:3;19784:67;:::i;:::-;19777:74;;19860:93;19949:3;19860:93;:::i;:::-;19978:2;19973:3;19969:12;19962:19;;19621:366;;;:::o;19993:419::-;20159:4;20197:2;20186:9;20182:18;20174:26;;20246:9;20240:4;20236:20;20232:1;20221:9;20217:17;20210:47;20274:131;20400:4;20274:131;:::i;:::-;20266:139;;19993:419;;;:::o;20418:231::-;20558:34;20554:1;20546:6;20542:14;20535:58;20627:14;20622:2;20614:6;20610:15;20603:39;20418:231;:::o;20655:366::-;20797:3;20818:67;20882:2;20877:3;20818:67;:::i;:::-;20811:74;;20894:93;20983:3;20894:93;:::i;:::-;21012:2;21007:3;21003:12;20996:19;;20655:366;;;:::o;21027:419::-;21193:4;21231:2;21220:9;21216:18;21208:26;;21280:9;21274:4;21270:20;21266:1;21255:9;21251:17;21244:47;21308:131;21434:4;21308:131;:::i;:::-;21300:139;;21027:419;;;:::o;21452:410::-;21492:7;21515:20;21533:1;21515:20;:::i;:::-;21510:25;;21549:20;21567:1;21549:20;:::i;:::-;21544:25;;21604:1;21601;21597:9;21626:30;21644:11;21626:30;:::i;:::-;21615:41;;21805:1;21796:7;21792:15;21789:1;21786:22;21766:1;21759:9;21739:83;21716:139;;21835:18;;:::i;:::-;21716:139;21500:362;21452:410;;;;:::o;21868:180::-;21916:77;21913:1;21906:88;22013:4;22010:1;22003:15;22037:4;22034:1;22027:15;22054:180;22102:77;22099:1;22092:88;22199:4;22196:1;22189:15;22223:4;22220:1;22213:15;22240:143;22297:5;22328:6;22322:13;22313:22;;22344:33;22371:5;22344:33;:::i;:::-;22240:143;;;;:::o;22389:351::-;22459:6;22508:2;22496:9;22487:7;22483:23;22479:32;22476:119;;;22514:79;;:::i;:::-;22476:119;22634:1;22659:64;22715:7;22706:6;22695:9;22691:22;22659:64;:::i;:::-;22649:74;;22605:128;22389:351;;;;:::o;22746:85::-;22791:7;22820:5;22809:16;;22746:85;;;:::o;22837:158::-;22895:9;22928:61;22946:42;22955:32;22981:5;22955:32;:::i;:::-;22946:42;:::i;:::-;22928:61;:::i;:::-;22915:74;;22837:158;;;:::o;23001:147::-;23096:45;23135:5;23096:45;:::i;:::-;23091:3;23084:58;23001:147;;:::o;23154:114::-;23221:6;23255:5;23249:12;23239:22;;23154:114;;;:::o;23274:184::-;23373:11;23407:6;23402:3;23395:19;23447:4;23442:3;23438:14;23423:29;;23274:184;;;;:::o;23464:132::-;23531:4;23554:3;23546:11;;23584:4;23579:3;23575:14;23567:22;;23464:132;;;:::o;23602:108::-;23679:24;23697:5;23679:24;:::i;:::-;23674:3;23667:37;23602:108;;:::o;23716:179::-;23785:10;23806:46;23848:3;23840:6;23806:46;:::i;:::-;23884:4;23879:3;23875:14;23861:28;;23716:179;;;;:::o;23901:113::-;23971:4;24003;23998:3;23994:14;23986:22;;23901:113;;;:::o;24050:732::-;24169:3;24198:54;24246:5;24198:54;:::i;:::-;24268:86;24347:6;24342:3;24268:86;:::i;:::-;24261:93;;24378:56;24428:5;24378:56;:::i;:::-;24457:7;24488:1;24473:284;24498:6;24495:1;24492:13;24473:284;;;24574:6;24568:13;24601:63;24660:3;24645:13;24601:63;:::i;:::-;24594:70;;24687:60;24740:6;24687:60;:::i;:::-;24677:70;;24533:224;24520:1;24517;24513:9;24508:14;;24473:284;;;24477:14;24773:3;24766:10;;24174:608;;;24050:732;;;;:::o;24788:831::-;25051:4;25089:3;25078:9;25074:19;25066:27;;25103:71;25171:1;25160:9;25156:17;25147:6;25103:71;:::i;:::-;25184:80;25260:2;25249:9;25245:18;25236:6;25184:80;:::i;:::-;25311:9;25305:4;25301:20;25296:2;25285:9;25281:18;25274:48;25339:108;25442:4;25433:6;25339:108;:::i;:::-;25331:116;;25457:72;25525:2;25514:9;25510:18;25501:6;25457:72;:::i;:::-;25539:73;25607:3;25596:9;25592:19;25583:6;25539:73;:::i;:::-;24788:831;;;;;;;;:::o;25625:220::-;25765:34;25761:1;25753:6;25749:14;25742:58;25834:3;25829:2;25821:6;25817:15;25810:28;25625:220;:::o;25851:366::-;25993:3;26014:67;26078:2;26073:3;26014:67;:::i;:::-;26007:74;;26090:93;26179:3;26090:93;:::i;:::-;26208:2;26203:3;26199:12;26192:19;;25851:366;;;:::o;26223:419::-;26389:4;26427:2;26416:9;26412:18;26404:26;;26476:9;26470:4;26466:20;26462:1;26451:9;26447:17;26440:47;26504:131;26630:4;26504:131;:::i;:::-;26496:139;;26223:419;;;:::o;26648:807::-;26897:4;26935:3;26924:9;26920:19;26912:27;;26949:71;27017:1;27006:9;27002:17;26993:6;26949:71;:::i;:::-;27030:72;27098:2;27087:9;27083:18;27074:6;27030:72;:::i;:::-;27112:80;27188:2;27177:9;27173:18;27164:6;27112:80;:::i;:::-;27202;27278:2;27267:9;27263:18;27254:6;27202:80;:::i;:::-;27292:73;27360:3;27349:9;27345:19;27336:6;27292:73;:::i;:::-;27375;27443:3;27432:9;27428:19;27419:6;27375:73;:::i;:::-;26648:807;;;;;;;;;:::o;27461:143::-;27518:5;27549:6;27543:13;27534:22;;27565:33;27592:5;27565:33;:::i;:::-;27461:143;;;;:::o;27610:663::-;27698:6;27706;27714;27763:2;27751:9;27742:7;27738:23;27734:32;27731:119;;;27769:79;;:::i;:::-;27731:119;27889:1;27914:64;27970:7;27961:6;27950:9;27946:22;27914:64;:::i;:::-;27904:74;;27860:128;28027:2;28053:64;28109:7;28100:6;28089:9;28085:22;28053:64;:::i;:::-;28043:74;;27998:129;28166:2;28192:64;28248:7;28239:6;28228:9;28224:22;28192:64;:::i;:::-;28182:74;;28137:129;27610:663;;;;;:::o

Swarm Source

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