ETH Price: $3,367.33 (+0.00%)

Token

Alice AI (ALICE)
 

Overview

Max Total Supply

100,000,000 ALICE

Holders

1,533 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Users can streamline their DeFi transactions and market analysis through intuitive Type AI commands and comprehensive influencer Alpha Tracking.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
AliceAI

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-13
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

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

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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

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

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

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

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

    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

contract AliceAI is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _IsLimitFree;
    mapping(address => uint256) private _BlockedAddress;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;

    uint256 private InitialBlockNo;

    uint256 public buyTax = 35;
    uint256 public sellTax = 55;

    uint256 private constant _totalSupply = 100000000 * 10**_decimals;
    uint256 private constant onePercent = (_totalSupply)/100;
    uint256 private constant minimumSwapAmount = 40000;
    uint256 private maxSwap = onePercent*5/10;
    uint256 public MaxTX = onePercent*15/10;
    uint256 public MxWall = onePercent*15/10;

    
    string private constant _name = "Alice AI";
    string private constant _symbol = "ALICE";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address immutable public DevAdd ;
    address immutable public AdminAdd;
    address immutable public StakeAdd;

    bool private launch = false;

    constructor() {
        AdminAdd  = 0x5d8568694Dd2bc2Bbef679dd137E42Ed98EF74A8;
        DevAdd = 0x868Ab43d9E1de39bD92F9031d7cAC88eFD5Fe70D;
        StakeAdd = 0x15EE70689F25a52A99112d83282310e77806066c;
        _balance[msg.sender] = _totalSupply;
        _IsLimitFree[DevAdd ] = 1;
        _IsLimitFree[msg.sender] = 1;
        _IsLimitFree[address(this)] = 1;

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

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if(currentAllowance != type(uint256).max) { 
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }
        return true;
    }

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


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

    function _ExcludedWallet(address wallet) external onlyOwner {
        _IsLimitFree[wallet] = 1;
    }

    function _RemoveExcludedWallet(address wallet) external onlyOwner {
        _IsLimitFree[wallet] = 0;
    }

    function TerminateActivity(address _wallet) external onlyOwner {
        require(_wallet != address(this) && _wallet != address(uniswapV2Pair) && _wallet != address(uniswapV2Router), "Invalid wallet");
        _BlockedAddress[_wallet] = 1;
    }

    function FreeActivity(address _wallet) external onlyOwner {
        _BlockedAddress[_wallet] = 0;
    }

    function AbolishLimits() external onlyOwner {
        MaxTX = _totalSupply;
        MxWall = _totalSupply;
    }

    function ChangeTaxes(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= buyTax && newSellTax <= sellTax, "Tax cannot be increased");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function _tokenTransfer(address from, address to, uint256 amount, uint256 _tax) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "ERC20: no tokens transferred");
        uint256 _tax = 0;
        if (_IsLimitFree[from] == 0 && _IsLimitFree[to] == 0)
        {
            require(launch, "Trading not open");
            require(_BlockedAddress[from] == 0, "Please contact support");
            require(amount <= MaxTX, "MaxTx Enabled at launch");
            if (to != uniswapV2Pair && to != address(0xdead)) require(balanceOf(to) + amount <= MxWall, "MaxWallet Enabled at launch");
            if (block.number < InitialBlockNo + 3) {
                _tax = (from == uniswapV2Pair) ? 35 : 90;
                _BlockedAddress[to] = 1;
            } else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minimumSwapAmount) { 
                        uint256 mxSw = maxSwap;
                        if (tokensToSwap > amount) tokensToSwap = amount;
                        if (tokensToSwap > mxSw) tokensToSwap = mxSw;
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                }
            }
        }
        _tokenTransfer(from, to, amount, _tax);
    }

    function WDeth() external onlyOwner {
        bool success;
        (success, ) = owner().call{value: address(this).balance}("");
    } 

    function ManualSwap(uint256 percent) external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        uint256 amtswap = (percent*contractBalance)/100;
        swapTokensForEth(amtswap);
    }

    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
        );
        bool success;
        uint256 devtax = address(this).balance *60/100;
        uint256 Admin = address(this).balance *30/100;
        uint256 stake = address(this).balance *10/100;

        (success, ) = StakeAdd.call{value: stake}("");
        (success, ) = AdminAdd.call{value: Admin}("");
        (success, ) = DevAdd .call{value: devtax}("");
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"AbolishLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AdminAdd","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"ChangeTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"DevAdd","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"FreeActivity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"ManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MaxTX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MxWall","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OpenTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"StakeAdd","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"TerminateActivity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"WDeth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_ExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_RemoveExcludedWallet","outputs":[],"stateMutability":"nonpayable","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"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"},{"stateMutability":"payable","type":"receive"}]

60e060405260236006556037600755600a600560646012600a6200002491906200061d565b6305f5e1006200003591906200066e565b620000419190620006e8565b6200004d91906200066e565b620000599190620006e8565b600855600a600f60646012600a6200007291906200061d565b6305f5e1006200008391906200066e565b6200008f9190620006e8565b6200009b91906200066e565b620000a79190620006e8565b600955600a600f60646012600a620000c091906200061d565b6305f5e100620000d191906200066e565b620000dd9190620006e8565b620000e991906200066e565b620000f59190620006e8565b600a556000600c60146101000a81548160ff0219169083151502179055503480156200012057600080fd5b506000620001336200047b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350735d8568694dd2bc2bbef679dd137e42ed98ef74a873ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505073868ab43d9e1de39bd92f9031d7cac88efd5fe70d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250507315ee70689f25a52a99112d83282310e77806066c73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506012600a620002b991906200061d565b6305f5e100620002ca91906200066e565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003ee6200047b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200044d91906200061d565b6305f5e1006200045e91906200066e565b6040516200046d919062000731565b60405180910390a36200074e565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200051157808604811115620004e957620004e862000483565b5b6001851615620004f95780820291505b80810290506200050985620004b2565b9450620004c9565b94509492505050565b6000826200052c5760019050620005ff565b816200053c5760009050620005ff565b8160018114620005555760028114620005605762000596565b6001915050620005ff565b60ff84111562000575576200057462000483565b5b8360020a9150848211156200058f576200058e62000483565b5b50620005ff565b5060208310610133831016604e8410600b8410161715620005d05782820a905083811115620005ca57620005c962000483565b5b620005ff565b620005df8484846001620004bf565b92509050818404811115620005f957620005f862000483565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200062a8262000606565b9150620006378362000610565b9250620006667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200051a565b905092915050565b60006200067b8262000606565b9150620006888362000606565b9250828202620006988162000606565b91508282048414831517620006b257620006b162000483565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620006f58262000606565b9150620007028362000606565b925082620007155762000714620006b9565b5b828204905092915050565b6200072b8162000606565b82525050565b600060208201905062000748600083018462000720565b92915050565b60805160a05160c0516139136200079360003960008181610a5d0152612337015260008181610aa701526123c30152600081816118b3015261244f01526139136000f3fe6080604052600436106101c65760003560e01c806370a08231116100f7578063c5cb28a311610095578063e5d51dc711610064578063e5d51dc714610607578063f2fde38b14610630578063fa84095c14610659578063fda38a8014610684576101cd565b8063c5cb28a31461055f578063cc1776d314610576578063d7f73858146105a1578063dd62ed3e146105ca576101cd565b806395d89b41116100d157806395d89b41146104b5578063a9059cbb146104e0578063b19826f41461051d578063c195230414610534576101cd565b806370a0823114610436578063715018a6146104735780638da5cb5b1461048a576101cd565b806335975d32116101645780634e23803f1161013e5780634e23803f146103a25780634f7041a5146103cb57806351cd7cc3146103f657806356ca8a411461040d576101cd565b806335975d321461032157806349bd5a5e1461034c5780634dabe75c14610377576101cd565b80631d875776116101a05780631d8757761461026557806323b872dd1461028e578063313ce567146102cb5780633297acb4146102f6576101cd565b806306fdde03146101d2578063095ea7b3146101fd57806318160ddd1461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106ad565b6040516101f491906128e0565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f919061299b565b6106ea565b60405161023191906129f6565b60405180910390f35b34801561024657600080fd5b5061024f610708565b60405161025c9190612a20565b60405180910390f35b34801561027157600080fd5b5061028c60048036038101906102879190612a3b565b61072c565b005b34801561029a57600080fd5b506102b560048036038101906102b09190612a68565b61092c565b6040516102c291906129f6565b60405180910390f35b3480156102d757600080fd5b506102e0610a4c565b6040516102ed9190612ad7565b60405180910390f35b34801561030257600080fd5b5061030b610a55565b6040516103189190612a20565b60405180910390f35b34801561032d57600080fd5b50610336610a5b565b6040516103439190612b01565b60405180910390f35b34801561035857600080fd5b50610361610a7f565b60405161036e9190612b01565b60405180910390f35b34801561038357600080fd5b5061038c610aa5565b6040516103999190612b01565b60405180910390f35b3480156103ae57600080fd5b506103c960048036038101906103c49190612a3b565b610ac9565b005b3480156103d757600080fd5b506103e0610ba6565b6040516103ed9190612a20565b60405180910390f35b34801561040257600080fd5b5061040b610bac565b005b34801561041957600080fd5b50610434600480360381019061042f9190612b1c565b6110d0565b005b34801561044257600080fd5b5061045d60048036038101906104589190612a3b565b61119c565b60405161046a9190612a20565b60405180910390f35b34801561047f57600080fd5b506104886111e5565b005b34801561049657600080fd5b5061049f611338565b6040516104ac9190612b01565b60405180910390f35b3480156104c157600080fd5b506104ca611361565b6040516104d791906128e0565b60405180910390f35b3480156104ec57600080fd5b506105076004803603810190610502919061299b565b61139e565b60405161051491906129f6565b60405180910390f35b34801561052957600080fd5b506105326113bc565b005b34801561054057600080fd5b506105496114c9565b6040516105569190612a20565b60405180910390f35b34801561056b57600080fd5b506105746114cf565b005b34801561058257600080fd5b5061058b6115ac565b6040516105989190612a20565b60405180910390f35b3480156105ad57600080fd5b506105c860048036038101906105c39190612a3b565b6115b2565b005b3480156105d657600080fd5b506105f160048036038101906105ec9190612b49565b61168f565b6040516105fe9190612a20565b60405180910390f35b34801561061357600080fd5b5061062e60048036038101906106299190612b89565b611716565b005b34801561063c57600080fd5b5061065760048036038101906106529190612a3b565b611810565b005b34801561066557600080fd5b5061066e6118b1565b60405161067b9190612b01565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190612a3b565b6118d5565b005b60606040518060400160405280600881526020017f416c696365204149000000000000000000000000000000000000000000000000815250905090565b60006106fe6106f76119b2565b84846119ba565b6001905092915050565b60006012600a6107189190612d2b565b6305f5e1006107279190612d76565b905090565b6107346119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b890612e04565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561084b5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156108a55750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b6108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db90612e70565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000610939848484611b83565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109846119b2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a405782811015610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290612f02565b60405180910390fd5b610a3f85610a376119b2565b8584036119ba565b5b60019150509392505050565b60006012905090565b60095481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ad16119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5590612e04565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60065481565b610bb46119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612e04565b60405180910390fd5b600c60149054906101000a900460ff1615610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890612f6e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d779190612fa3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e249190612fa3565b6040518363ffffffff1660e01b8152600401610e41929190612fd0565b6020604051808303816000875af1158015610e60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e849190612fa3565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f0d30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610ef99190612d2b565b6305f5e100610f089190612d76565b6119ba565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f563061119c565b600080610f61611338565b426040518863ffffffff1660e01b8152600401610f839695949392919061303e565b60606040518083038185885af1158015610fa1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fc691906130b4565b505050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611068929190613107565b6020604051808303816000875af1158015611087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ab919061315c565b506001600c60146101000a81548160ff02191690831515021790555043600581905550565b6110d86119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115c90612e04565b60405180910390fd5b60006111703061119c565b90506000606482846111829190612d76565b61118c91906131b8565b90506111978161209e565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111ed6119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127190612e04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f414c494345000000000000000000000000000000000000000000000000000000815250905090565b60006113b26113ab6119b2565b8484611b83565b6001905092915050565b6113c46119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144890612e04565b60405180910390fd5b600061145b611338565b73ffffffffffffffffffffffffffffffffffffffff164760405161147e9061321a565b60006040518083038185875af1925050503d80600081146114bb576040519150601f19603f3d011682016040523d82523d6000602084013e6114c0565b606091505b50508091505050565b600a5481565b6114d76119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155b90612e04565b60405180910390fd5b6012600a6115729190612d2b565b6305f5e1006115819190612d76565b6009819055506012600a6115959190612d2b565b6305f5e1006115a49190612d76565b600a81905550565b60075481565b6115ba6119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163e90612e04565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61171e6119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290612e04565b60405180910390fd5b60065482111580156117bf57506007548111155b6117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f59061327b565b60405180910390fd5b81600681905550806007819055505050565b6118186119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189c90612e04565b60405180910390fd5b6118ae816124e1565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b6118dd6119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196190612e04565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a209061330d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f9061339f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b769190612a20565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be990613431565b60405180910390fd5b60008111611c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2c9061349d565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054148015611cc457506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1561208c57600c60149054906101000a900460ff16611d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0f90613509565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9190613575565b60405180910390fd5b600954821115611ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd6906135e1565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e6b575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ec957600a5482611e7d8561119c565b611e879190613601565b1115611ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebf90613681565b60405180910390fd5b5b6003600554611ed89190613601565b431015611f8d57600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611f3b57605a611f3e565b60235b60ff1690506001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061208b565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611fec57600654905061208a565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361208957600061204c3061119c565b9050619c4081111561208257600060085490508382111561206b578391505b80821115612077578091505b6120808261209e565b505b6007549150505b5b5b5b6120988484848461260d565b50505050565b6000600267ffffffffffffffff8111156120bb576120ba6136a1565b5b6040519080825280602002602001820160405280156120e95781602001602082028036833780820191505090505b5090503081600081518110612101576121006136d0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cc9190612fa3565b816001815181106121e0576121df6136d0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061224730600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119ba565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122ab9594939291906137bd565b600060405180830381600087803b1580156122c557600080fd5b505af11580156122d9573d6000803e3d6000fd5b505050506000806064603c476122ef9190612d76565b6122f991906131b8565b905060006064601e4761230c9190612d76565b61231691906131b8565b905060006064600a476123299190612d76565b61233391906131b8565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16816040516123799061321a565b60006040518083038185875af1925050503d80600081146123b6576040519150601f19603f3d011682016040523d82523d6000602084013e6123bb565b606091505b5050809450507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16826040516124059061321a565b60006040518083038185875af1925050503d8060008114612442576040519150601f19603f3d011682016040523d82523d6000602084013e612447565b606091505b5050809450507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16836040516124919061321a565b60006040518083038185875af1925050503d80600081146124ce576040519150601f19603f3d011682016040523d82523d6000602084013e6124d3565b606091505b505080945050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254790613889565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006064828461261d9190612d76565b61262791906131b8565b90506000818461263791906138a9565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268491906138a9565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127129190613601565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127a09190613601565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128409190612a20565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561288a57808201518184015260208101905061286f565b60008484015250505050565b6000601f19601f8301169050919050565b60006128b282612850565b6128bc818561285b565b93506128cc81856020860161286c565b6128d581612896565b840191505092915050565b600060208201905081810360008301526128fa81846128a7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061293282612907565b9050919050565b61294281612927565b811461294d57600080fd5b50565b60008135905061295f81612939565b92915050565b6000819050919050565b61297881612965565b811461298357600080fd5b50565b6000813590506129958161296f565b92915050565b600080604083850312156129b2576129b1612902565b5b60006129c085828601612950565b92505060206129d185828601612986565b9150509250929050565b60008115159050919050565b6129f0816129db565b82525050565b6000602082019050612a0b60008301846129e7565b92915050565b612a1a81612965565b82525050565b6000602082019050612a356000830184612a11565b92915050565b600060208284031215612a5157612a50612902565b5b6000612a5f84828501612950565b91505092915050565b600080600060608486031215612a8157612a80612902565b5b6000612a8f86828701612950565b9350506020612aa086828701612950565b9250506040612ab186828701612986565b9150509250925092565b600060ff82169050919050565b612ad181612abb565b82525050565b6000602082019050612aec6000830184612ac8565b92915050565b612afb81612927565b82525050565b6000602082019050612b166000830184612af2565b92915050565b600060208284031215612b3257612b31612902565b5b6000612b4084828501612986565b91505092915050565b60008060408385031215612b6057612b5f612902565b5b6000612b6e85828601612950565b9250506020612b7f85828601612950565b9150509250929050565b60008060408385031215612ba057612b9f612902565b5b6000612bae85828601612986565b9250506020612bbf85828601612986565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c4f57808604811115612c2b57612c2a612bc9565b5b6001851615612c3a5780820291505b8081029050612c4885612bf8565b9450612c0f565b94509492505050565b600082612c685760019050612d24565b81612c765760009050612d24565b8160018114612c8c5760028114612c9657612cc5565b6001915050612d24565b60ff841115612ca857612ca7612bc9565b5b8360020a915084821115612cbf57612cbe612bc9565b5b50612d24565b5060208310610133831016604e8410600b8410161715612cfa5782820a905083811115612cf557612cf4612bc9565b5b612d24565b612d078484846001612c05565b92509050818404811115612d1e57612d1d612bc9565b5b81810290505b9392505050565b6000612d3682612965565b9150612d4183612abb565b9250612d6e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c58565b905092915050565b6000612d8182612965565b9150612d8c83612965565b9250828202612d9a81612965565b91508282048414831517612db157612db0612bc9565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612dee60208361285b565b9150612df982612db8565b602082019050919050565b60006020820190508181036000830152612e1d81612de1565b9050919050565b7f496e76616c69642077616c6c6574000000000000000000000000000000000000600082015250565b6000612e5a600e8361285b565b9150612e6582612e24565b602082019050919050565b60006020820190508181036000830152612e8981612e4d565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612eec60288361285b565b9150612ef782612e90565b604082019050919050565b60006020820190508181036000830152612f1b81612edf565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f5860178361285b565b9150612f6382612f22565b602082019050919050565b60006020820190508181036000830152612f8781612f4b565b9050919050565b600081519050612f9d81612939565b92915050565b600060208284031215612fb957612fb8612902565b5b6000612fc784828501612f8e565b91505092915050565b6000604082019050612fe56000830185612af2565b612ff26020830184612af2565b9392505050565b6000819050919050565b6000819050919050565b600061302861302361301e84612ff9565b613003565b612965565b9050919050565b6130388161300d565b82525050565b600060c0820190506130536000830189612af2565b6130606020830188612a11565b61306d604083018761302f565b61307a606083018661302f565b6130876080830185612af2565b61309460a0830184612a11565b979650505050505050565b6000815190506130ae8161296f565b92915050565b6000806000606084860312156130cd576130cc612902565b5b60006130db8682870161309f565b93505060206130ec8682870161309f565b92505060406130fd8682870161309f565b9150509250925092565b600060408201905061311c6000830185612af2565b6131296020830184612a11565b9392505050565b613139816129db565b811461314457600080fd5b50565b60008151905061315681613130565b92915050565b60006020828403121561317257613171612902565b5b600061318084828501613147565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131c382612965565b91506131ce83612965565b9250826131de576131dd613189565b5b828204905092915050565b600081905092915050565b50565b60006132046000836131e9565b915061320f826131f4565b600082019050919050565b6000613225826131f7565b9150819050919050565b7f5461782063616e6e6f7420626520696e63726561736564000000000000000000600082015250565b600061326560178361285b565b91506132708261322f565b602082019050919050565b6000602082019050818103600083015261329481613258565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132f760248361285b565b91506133028261329b565b604082019050919050565b60006020820190508181036000830152613326816132ea565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061338960228361285b565b91506133948261332d565b604082019050919050565b600060208201905081810360008301526133b88161337c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061341b60258361285b565b9150613426826133bf565b604082019050919050565b6000602082019050818103600083015261344a8161340e565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b6000613487601c8361285b565b915061349282613451565b602082019050919050565b600060208201905081810360008301526134b68161347a565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b60006134f360108361285b565b91506134fe826134bd565b602082019050919050565b60006020820190508181036000830152613522816134e6565b9050919050565b7f506c6561736520636f6e7461637420737570706f727400000000000000000000600082015250565b600061355f60168361285b565b915061356a82613529565b602082019050919050565b6000602082019050818103600083015261358e81613552565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b60006135cb60178361285b565b91506135d682613595565b602082019050919050565b600060208201905081810360008301526135fa816135be565b9050919050565b600061360c82612965565b915061361783612965565b925082820190508082111561362f5761362e612bc9565b5b92915050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b600061366b601b8361285b565b915061367682613635565b602082019050919050565b6000602082019050818103600083015261369a8161365e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61373481612927565b82525050565b6000613746838361372b565b60208301905092915050565b6000602082019050919050565b600061376a826136ff565b613774818561370a565b935061377f8361371b565b8060005b838110156137b0578151613797888261373a565b97506137a283613752565b925050600181019050613783565b5085935050505092915050565b600060a0820190506137d26000830188612a11565b6137df602083018761302f565b81810360408301526137f1818661375f565b90506138006060830185612af2565b61380d6080830184612a11565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061387360268361285b565b915061387e82613817565b604082019050919050565b600060208201905081810360008301526138a281613866565b9050919050565b60006138b482612965565b91506138bf83612965565b92508282039050818111156138d7576138d6612bc9565b5b9291505056fea2646970667358221220a5ab1698b4879157187eeee5648cf18e5cbf95eb7573b5278678139dcf7dcbf464736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c806370a08231116100f7578063c5cb28a311610095578063e5d51dc711610064578063e5d51dc714610607578063f2fde38b14610630578063fa84095c14610659578063fda38a8014610684576101cd565b8063c5cb28a31461055f578063cc1776d314610576578063d7f73858146105a1578063dd62ed3e146105ca576101cd565b806395d89b41116100d157806395d89b41146104b5578063a9059cbb146104e0578063b19826f41461051d578063c195230414610534576101cd565b806370a0823114610436578063715018a6146104735780638da5cb5b1461048a576101cd565b806335975d32116101645780634e23803f1161013e5780634e23803f146103a25780634f7041a5146103cb57806351cd7cc3146103f657806356ca8a411461040d576101cd565b806335975d321461032157806349bd5a5e1461034c5780634dabe75c14610377576101cd565b80631d875776116101a05780631d8757761461026557806323b872dd1461028e578063313ce567146102cb5780633297acb4146102f6576101cd565b806306fdde03146101d2578063095ea7b3146101fd57806318160ddd1461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106ad565b6040516101f491906128e0565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f919061299b565b6106ea565b60405161023191906129f6565b60405180910390f35b34801561024657600080fd5b5061024f610708565b60405161025c9190612a20565b60405180910390f35b34801561027157600080fd5b5061028c60048036038101906102879190612a3b565b61072c565b005b34801561029a57600080fd5b506102b560048036038101906102b09190612a68565b61092c565b6040516102c291906129f6565b60405180910390f35b3480156102d757600080fd5b506102e0610a4c565b6040516102ed9190612ad7565b60405180910390f35b34801561030257600080fd5b5061030b610a55565b6040516103189190612a20565b60405180910390f35b34801561032d57600080fd5b50610336610a5b565b6040516103439190612b01565b60405180910390f35b34801561035857600080fd5b50610361610a7f565b60405161036e9190612b01565b60405180910390f35b34801561038357600080fd5b5061038c610aa5565b6040516103999190612b01565b60405180910390f35b3480156103ae57600080fd5b506103c960048036038101906103c49190612a3b565b610ac9565b005b3480156103d757600080fd5b506103e0610ba6565b6040516103ed9190612a20565b60405180910390f35b34801561040257600080fd5b5061040b610bac565b005b34801561041957600080fd5b50610434600480360381019061042f9190612b1c565b6110d0565b005b34801561044257600080fd5b5061045d60048036038101906104589190612a3b565b61119c565b60405161046a9190612a20565b60405180910390f35b34801561047f57600080fd5b506104886111e5565b005b34801561049657600080fd5b5061049f611338565b6040516104ac9190612b01565b60405180910390f35b3480156104c157600080fd5b506104ca611361565b6040516104d791906128e0565b60405180910390f35b3480156104ec57600080fd5b506105076004803603810190610502919061299b565b61139e565b60405161051491906129f6565b60405180910390f35b34801561052957600080fd5b506105326113bc565b005b34801561054057600080fd5b506105496114c9565b6040516105569190612a20565b60405180910390f35b34801561056b57600080fd5b506105746114cf565b005b34801561058257600080fd5b5061058b6115ac565b6040516105989190612a20565b60405180910390f35b3480156105ad57600080fd5b506105c860048036038101906105c39190612a3b565b6115b2565b005b3480156105d657600080fd5b506105f160048036038101906105ec9190612b49565b61168f565b6040516105fe9190612a20565b60405180910390f35b34801561061357600080fd5b5061062e60048036038101906106299190612b89565b611716565b005b34801561063c57600080fd5b5061065760048036038101906106529190612a3b565b611810565b005b34801561066557600080fd5b5061066e6118b1565b60405161067b9190612b01565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190612a3b565b6118d5565b005b60606040518060400160405280600881526020017f416c696365204149000000000000000000000000000000000000000000000000815250905090565b60006106fe6106f76119b2565b84846119ba565b6001905092915050565b60006012600a6107189190612d2b565b6305f5e1006107279190612d76565b905090565b6107346119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b890612e04565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561084b5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156108a55750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b6108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db90612e70565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000610939848484611b83565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109846119b2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a405782811015610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290612f02565b60405180910390fd5b610a3f85610a376119b2565b8584036119ba565b5b60019150509392505050565b60006012905090565b60095481565b7f00000000000000000000000015ee70689f25a52a99112d83282310e77806066c81565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000005d8568694dd2bc2bbef679dd137e42ed98ef74a881565b610ad16119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5590612e04565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60065481565b610bb46119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612e04565b60405180910390fd5b600c60149054906101000a900460ff1615610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890612f6e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d779190612fa3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e249190612fa3565b6040518363ffffffff1660e01b8152600401610e41929190612fd0565b6020604051808303816000875af1158015610e60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e849190612fa3565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f0d30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610ef99190612d2b565b6305f5e100610f089190612d76565b6119ba565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f563061119c565b600080610f61611338565b426040518863ffffffff1660e01b8152600401610f839695949392919061303e565b60606040518083038185885af1158015610fa1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fc691906130b4565b505050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611068929190613107565b6020604051808303816000875af1158015611087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ab919061315c565b506001600c60146101000a81548160ff02191690831515021790555043600581905550565b6110d86119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115c90612e04565b60405180910390fd5b60006111703061119c565b90506000606482846111829190612d76565b61118c91906131b8565b90506111978161209e565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111ed6119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127190612e04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f414c494345000000000000000000000000000000000000000000000000000000815250905090565b60006113b26113ab6119b2565b8484611b83565b6001905092915050565b6113c46119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611451576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144890612e04565b60405180910390fd5b600061145b611338565b73ffffffffffffffffffffffffffffffffffffffff164760405161147e9061321a565b60006040518083038185875af1925050503d80600081146114bb576040519150601f19603f3d011682016040523d82523d6000602084013e6114c0565b606091505b50508091505050565b600a5481565b6114d76119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155b90612e04565b60405180910390fd5b6012600a6115729190612d2b565b6305f5e1006115819190612d76565b6009819055506012600a6115959190612d2b565b6305f5e1006115a49190612d76565b600a81905550565b60075481565b6115ba6119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163e90612e04565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61171e6119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290612e04565b60405180910390fd5b60065482111580156117bf57506007548111155b6117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f59061327b565b60405180910390fd5b81600681905550806007819055505050565b6118186119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189c90612e04565b60405180910390fd5b6118ae816124e1565b50565b7f000000000000000000000000868ab43d9e1de39bd92f9031d7cac88efd5fe70d81565b6118dd6119b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461196a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196190612e04565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a209061330d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f9061339f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b769190612a20565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be990613431565b60405180910390fd5b60008111611c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2c9061349d565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054148015611cc457506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b1561208c57600c60149054906101000a900460ff16611d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0f90613509565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9190613575565b60405180910390fd5b600954821115611ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd6906135e1565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e6b575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ec957600a5482611e7d8561119c565b611e879190613601565b1115611ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebf90613681565b60405180910390fd5b5b6003600554611ed89190613601565b431015611f8d57600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611f3b57605a611f3e565b60235b60ff1690506001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061208b565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611fec57600654905061208a565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361208957600061204c3061119c565b9050619c4081111561208257600060085490508382111561206b578391505b80821115612077578091505b6120808261209e565b505b6007549150505b5b5b5b6120988484848461260d565b50505050565b6000600267ffffffffffffffff8111156120bb576120ba6136a1565b5b6040519080825280602002602001820160405280156120e95781602001602082028036833780820191505090505b5090503081600081518110612101576121006136d0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cc9190612fa3565b816001815181106121e0576121df6136d0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061224730600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119ba565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122ab9594939291906137bd565b600060405180830381600087803b1580156122c557600080fd5b505af11580156122d9573d6000803e3d6000fd5b505050506000806064603c476122ef9190612d76565b6122f991906131b8565b905060006064601e4761230c9190612d76565b61231691906131b8565b905060006064600a476123299190612d76565b61233391906131b8565b90507f00000000000000000000000015ee70689f25a52a99112d83282310e77806066c73ffffffffffffffffffffffffffffffffffffffff16816040516123799061321a565b60006040518083038185875af1925050503d80600081146123b6576040519150601f19603f3d011682016040523d82523d6000602084013e6123bb565b606091505b5050809450507f0000000000000000000000005d8568694dd2bc2bbef679dd137e42ed98ef74a873ffffffffffffffffffffffffffffffffffffffff16826040516124059061321a565b60006040518083038185875af1925050503d8060008114612442576040519150601f19603f3d011682016040523d82523d6000602084013e612447565b606091505b5050809450507f000000000000000000000000868ab43d9e1de39bd92f9031d7cac88efd5fe70d73ffffffffffffffffffffffffffffffffffffffff16836040516124919061321a565b60006040518083038185875af1925050503d80600081146124ce576040519150601f19603f3d011682016040523d82523d6000602084013e6124d3565b606091505b505080945050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254790613889565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006064828461261d9190612d76565b61262791906131b8565b90506000818461263791906138a9565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268491906138a9565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127129190613601565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127a09190613601565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128409190612a20565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561288a57808201518184015260208101905061286f565b60008484015250505050565b6000601f19601f8301169050919050565b60006128b282612850565b6128bc818561285b565b93506128cc81856020860161286c565b6128d581612896565b840191505092915050565b600060208201905081810360008301526128fa81846128a7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061293282612907565b9050919050565b61294281612927565b811461294d57600080fd5b50565b60008135905061295f81612939565b92915050565b6000819050919050565b61297881612965565b811461298357600080fd5b50565b6000813590506129958161296f565b92915050565b600080604083850312156129b2576129b1612902565b5b60006129c085828601612950565b92505060206129d185828601612986565b9150509250929050565b60008115159050919050565b6129f0816129db565b82525050565b6000602082019050612a0b60008301846129e7565b92915050565b612a1a81612965565b82525050565b6000602082019050612a356000830184612a11565b92915050565b600060208284031215612a5157612a50612902565b5b6000612a5f84828501612950565b91505092915050565b600080600060608486031215612a8157612a80612902565b5b6000612a8f86828701612950565b9350506020612aa086828701612950565b9250506040612ab186828701612986565b9150509250925092565b600060ff82169050919050565b612ad181612abb565b82525050565b6000602082019050612aec6000830184612ac8565b92915050565b612afb81612927565b82525050565b6000602082019050612b166000830184612af2565b92915050565b600060208284031215612b3257612b31612902565b5b6000612b4084828501612986565b91505092915050565b60008060408385031215612b6057612b5f612902565b5b6000612b6e85828601612950565b9250506020612b7f85828601612950565b9150509250929050565b60008060408385031215612ba057612b9f612902565b5b6000612bae85828601612986565b9250506020612bbf85828601612986565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c4f57808604811115612c2b57612c2a612bc9565b5b6001851615612c3a5780820291505b8081029050612c4885612bf8565b9450612c0f565b94509492505050565b600082612c685760019050612d24565b81612c765760009050612d24565b8160018114612c8c5760028114612c9657612cc5565b6001915050612d24565b60ff841115612ca857612ca7612bc9565b5b8360020a915084821115612cbf57612cbe612bc9565b5b50612d24565b5060208310610133831016604e8410600b8410161715612cfa5782820a905083811115612cf557612cf4612bc9565b5b612d24565b612d078484846001612c05565b92509050818404811115612d1e57612d1d612bc9565b5b81810290505b9392505050565b6000612d3682612965565b9150612d4183612abb565b9250612d6e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c58565b905092915050565b6000612d8182612965565b9150612d8c83612965565b9250828202612d9a81612965565b91508282048414831517612db157612db0612bc9565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612dee60208361285b565b9150612df982612db8565b602082019050919050565b60006020820190508181036000830152612e1d81612de1565b9050919050565b7f496e76616c69642077616c6c6574000000000000000000000000000000000000600082015250565b6000612e5a600e8361285b565b9150612e6582612e24565b602082019050919050565b60006020820190508181036000830152612e8981612e4d565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612eec60288361285b565b9150612ef782612e90565b604082019050919050565b60006020820190508181036000830152612f1b81612edf565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f5860178361285b565b9150612f6382612f22565b602082019050919050565b60006020820190508181036000830152612f8781612f4b565b9050919050565b600081519050612f9d81612939565b92915050565b600060208284031215612fb957612fb8612902565b5b6000612fc784828501612f8e565b91505092915050565b6000604082019050612fe56000830185612af2565b612ff26020830184612af2565b9392505050565b6000819050919050565b6000819050919050565b600061302861302361301e84612ff9565b613003565b612965565b9050919050565b6130388161300d565b82525050565b600060c0820190506130536000830189612af2565b6130606020830188612a11565b61306d604083018761302f565b61307a606083018661302f565b6130876080830185612af2565b61309460a0830184612a11565b979650505050505050565b6000815190506130ae8161296f565b92915050565b6000806000606084860312156130cd576130cc612902565b5b60006130db8682870161309f565b93505060206130ec8682870161309f565b92505060406130fd8682870161309f565b9150509250925092565b600060408201905061311c6000830185612af2565b6131296020830184612a11565b9392505050565b613139816129db565b811461314457600080fd5b50565b60008151905061315681613130565b92915050565b60006020828403121561317257613171612902565b5b600061318084828501613147565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131c382612965565b91506131ce83612965565b9250826131de576131dd613189565b5b828204905092915050565b600081905092915050565b50565b60006132046000836131e9565b915061320f826131f4565b600082019050919050565b6000613225826131f7565b9150819050919050565b7f5461782063616e6e6f7420626520696e63726561736564000000000000000000600082015250565b600061326560178361285b565b91506132708261322f565b602082019050919050565b6000602082019050818103600083015261329481613258565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132f760248361285b565b91506133028261329b565b604082019050919050565b60006020820190508181036000830152613326816132ea565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061338960228361285b565b91506133948261332d565b604082019050919050565b600060208201905081810360008301526133b88161337c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061341b60258361285b565b9150613426826133bf565b604082019050919050565b6000602082019050818103600083015261344a8161340e565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b6000613487601c8361285b565b915061349282613451565b602082019050919050565b600060208201905081810360008301526134b68161347a565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b60006134f360108361285b565b91506134fe826134bd565b602082019050919050565b60006020820190508181036000830152613522816134e6565b9050919050565b7f506c6561736520636f6e7461637420737570706f727400000000000000000000600082015250565b600061355f60168361285b565b915061356a82613529565b602082019050919050565b6000602082019050818103600083015261358e81613552565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b60006135cb60178361285b565b91506135d682613595565b602082019050919050565b600060208201905081810360008301526135fa816135be565b9050919050565b600061360c82612965565b915061361783612965565b925082820190508082111561362f5761362e612bc9565b5b92915050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b600061366b601b8361285b565b915061367682613635565b602082019050919050565b6000602082019050818103600083015261369a8161365e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61373481612927565b82525050565b6000613746838361372b565b60208301905092915050565b6000602082019050919050565b600061376a826136ff565b613774818561370a565b935061377f8361371b565b8060005b838110156137b0578151613797888261373a565b97506137a283613752565b925050600181019050613783565b5085935050505092915050565b600060a0820190506137d26000830188612a11565b6137df602083018761302f565b81810360408301526137f1818661375f565b90506138006060830185612af2565b61380d6080830184612a11565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061387360268361285b565b915061387e82613817565b604082019050919050565b600060208201905081810360008301526138a281613866565b9050919050565b60006138b482612965565b91506138bf83612965565b92508282039050818111156138d7576138d6612bc9565b5b9291505056fea2646970667358221220a5ab1698b4879157187eeee5648cf18e5cbf95eb7573b5278678139dcf7dcbf464736f6c63430008130033

Deployed Bytecode Sourcemap

2734:8407:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4358:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5192:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4635:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7212:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5360:578;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4544:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3467:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3830:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3716:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3790:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6984:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3158:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6291:685;;;;;;;;;;;;;:::i;:::-;;10043:219;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4743:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1786:148;;;;;;;;;;;;;:::i;:::-;;1218:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4449:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4869:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9896:138;;;;;;;;;;;;;:::i;:::-;;3513:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7581:115;;;;;;;;;;;;;:::i;:::-;;3191:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7095:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5042:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7704:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1432:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3751:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7468:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4358:83;4395:13;4428:5;;;;;;;;;;;;;;;;;4421:12;;4358:83;:::o;5192:160::-;5267:4;5283:39;5292:12;:10;:12::i;:::-;5306:7;5315:6;5283:8;:39::i;:::-;5340:4;5333:11;;5192:160;;;;:::o;4635:100::-;4688:7;3108:2;3279;:13;;;;:::i;:::-;3267:9;:25;;;;:::i;:::-;4708:19;;4635:100;:::o;7212:248::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7313:4:::1;7294:24;;:7;:24;;;;:61;;;;;7341:13;;;;;;;;;;;7322:33;;:7;:33;;;;7294:61;:100;;;;;7378:15;;;;;;;;;;;7359:35;;:7;:35;;;;7294:100;7286:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;7451:1;7424:15;:24;7440:7;7424:24;;;;;;;;;;;;;;;:28;;;;7212:248:::0;:::o;5360:578::-;5458:4;5475:36;5485:6;5493:9;5504:6;5475:9;:36::i;:::-;5524:24;5551:11;:19;5563:6;5551:19;;;;;;;;;;;;;;;:33;5571:12;:10;:12::i;:::-;5551:33;;;;;;;;;;;;;;;;5524:60;;5618:17;5598:16;:37;5595:314;;5699:6;5679:16;:26;;5653:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;5825:57;5834:6;5842:12;:10;:12::i;:::-;5875:6;5856:16;:25;5825:8;:57::i;:::-;5595:314;5926:4;5919:11;;;5360:578;;;;;:::o;4544:83::-;4585:5;3108:2;4603:16;;4544:83;:::o;3467:39::-;;;;:::o;3830:33::-;;;:::o;3716:28::-;;;;;;;;;;;;;:::o;3790:33::-;;;:::o;6984:103::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7078:1:::1;7055:12;:20;7068:6;7055:20;;;;;;;;;;;;;;;:24;;;;6984:103:::0;:::o;3158:26::-;;;;:::o;6291:685::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6353:6:::1;;;;;;;;;;;6352:7;6344:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;6434;6397:15;;:80;;;;;;;;;;;;;;;;;;6522:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6504:55;;;6568:4;6575:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6504:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6488:13;;:110;;;;;;;;;;;;;;;;;;6609:63;6626:4;6641:15;;;;;;;;;;;3108:2;3279;:13;;;;:::i;:::-;3267:9;:25;;;;:::i;:::-;6609:8;:63::i;:::-;6693:15;;;;;;;;;;;:31;;;6732:21;6763:4;6769:24;6787:4;6769:9;:24::i;:::-;6794:1;6796::::0;6798:7:::1;:5;:7::i;:::-;6806:15;6693:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6840:13;;;;;;;;;;;6833:29;;;6871:15;;;;;;;;;;;6889:14;6833:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6924:4;6915:6;;:13;;;;;;;;;;;;;;;;;;6956:12;6939:14;:29;;;;6291:685::o:0;10043:219::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10110:23:::1;10136:24;10154:4;10136:9;:24::i;:::-;10110:50;;10171:15;10215:3;10198:15;10190:7;:23;;;;:::i;:::-;10189:29;;;;:::i;:::-;10171:47;;10229:25;10246:7;10229:16;:25::i;:::-;10099:163;;10043:219:::0;:::o;4743:118::-;4809:7;4836:8;:17;4845:7;4836:17;;;;;;;;;;;;;;;;4829:24;;4743:118;;;:::o;1786:148::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1893:1:::1;1856:40;;1877:6;::::0;::::1;;;;;;;;1856:40;;;;;;;;;;;;1924:1;1907:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1786:148::o:0;1218:79::-;1256:7;1283:6;;;;;;;;;;;1276:13;;1218:79;:::o;4449:87::-;4488:13;4521:7;;;;;;;;;;;;;;;;;4514:14;;4449:87;:::o;4869:165::-;4946:4;4962:42;4972:12;:10;:12::i;:::-;4986:9;4997:6;4962:9;:42::i;:::-;5022:4;5015:11;;4869:165;;;;:::o;9896:138::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9943:12:::1;9980:7;:5;:7::i;:::-;:12;;10000:21;9980:46;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9966:60;;;;;9932:102;9896:138::o:0;3513:40::-;;;;:::o;7581:115::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3108:2:::1;3279;:13;;;;:::i;:::-;3267:9;:25;;;;:::i;:::-;7636:5;:20;;;;3108:2;3279;:13;;;;:::i;:::-;3267:9;:25;;;;:::i;:::-;7667:6;:21;;;;7581:115::o:0;3191:27::-;;;;:::o;7095:109::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7195:1:::1;7172:12;:20;7185:6;7172:20;;;;;;;;;;;;;;;:24;;;;7095:109:::0;:::o;5042:142::-;5123:7;5149:11;:18;5161:5;5149:18;;;;;;;;;;;;;;;:27;5168:7;5149:27;;;;;;;;;;;;;;;;5142:34;;5042:142;;;;:::o;7704:238::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7815:6:::1;;7802:9;:19;;:44;;;;;7839:7;;7825:10;:21;;7802:44;7794:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;7894:9;7885:6;:18;;;;7924:10;7914:7;:20;;;;7704:238:::0;;:::o;1432:109::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1505:28:::1;1524:8;1505:18;:28::i;:::-;1432:109:::0;:::o;3751:31::-;;;:::o;7468:105::-;1355:12;:10;:12::i;:::-;1345:22;;:6;;;;;;;;;;:22;;;1337:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7564:1:::1;7537:15;:24;7553:7;7537:24;;;;;;;;;;;;;;;:28;;;;7468:105:::0;:::o;93:98::-;146:7;173:10;166:17;;93:98;:::o;5946:335::-;6056:1;6039:19;;:5;:19;;;6031:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6137:1;6118:21;;:7;:21;;;6110:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6219:6;6189:11;:18;6201:5;6189:18;;;;;;;;;;;;;;;:27;6208:7;6189:27;;;;;;;;;;;;;;;:36;;;;6257:7;6241:32;;6250:5;6241:32;;;6266:6;6241:32;;;;;;:::i;:::-;;;;;;;;5946:335;;;:::o;8392:1496::-;8496:1;8480:18;;:4;:18;;;8472:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8568:1;8559:6;:10;8551:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;8613:12;8666:1;8644:12;:18;8657:4;8644:18;;;;;;;;;;;;;;;;:23;:48;;;;;8691:1;8671:12;:16;8684:2;8671:16;;;;;;;;;;;;;;;;:21;8644:48;8640:1192;;;8726:6;;;;;;;;;;;8718:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;8801:1;8776:15;:21;8792:4;8776:21;;;;;;;;;;;;;;;;:26;8768:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;8862:5;;8852:6;:15;;8844:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;8920:13;;;;;;;;;;;8914:19;;:2;:19;;;;:44;;;;;8951:6;8937:21;;:2;:21;;;;8914:44;8910:122;;;8994:6;;8984;8968:13;8978:2;8968:9;:13::i;:::-;:22;;;;:::i;:::-;:32;;8960:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;8910:122;9083:1;9066:14;;:18;;;;:::i;:::-;9051:12;:33;9047:774;;;9121:13;;;;;;;;;;;9113:21;;:4;:21;;;9112:33;;9143:2;9112:33;;;9138:2;9112:33;9105:40;;;;9186:1;9164:15;:19;9180:2;9164:19;;;;;;;;;;;;;;;:23;;;;9047:774;;;9240:13;;;;;;;;;;;9232:21;;:4;:21;;;9228:578;;9285:6;;9278:13;;9228:578;;;9327:13;;;;;;;;;;;9321:19;;:2;:19;;;9317:489;;9365:20;9388:24;9406:4;9388:9;:24::i;:::-;9365:47;;3407:5;9439:12;:32;9435:315;;;9501:12;9516:7;;9501:22;;9569:6;9554:12;:21;9550:48;;;9592:6;9577:21;;9550:48;9644:4;9629:12;:19;9625:44;;;9665:4;9650:19;;9625:44;9696:30;9713:12;9696:16;:30::i;:::-;9473:277;9435:315;9779:7;;9772:14;;9342:464;9317:489;9228:578;9047:774;8640:1192;9842:38;9857:4;9863:2;9867:6;9875:4;9842:14;:38::i;:::-;8461:1427;8392:1496;;;:::o;10270:833::-;10336:21;10374:1;10360:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10336:40;;10405:4;10387;10392:1;10387:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;10431:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10421:4;10426:1;10421:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;10464:62;10481:4;10496:15;;;;;;;;;;;10514:11;10464:8;:62::i;:::-;10537:15;;;;;;;;;;;:66;;;10618:11;10644:1;10660:4;10687;10707:15;10537:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10744:12;10767:14;10810:3;10807:2;10784:21;:25;;;;:::i;:::-;:29;;;;:::i;:::-;10767:46;;10824:13;10866:3;10863:2;10840:21;:25;;;;:::i;:::-;:29;;;;:::i;:::-;10824:45;;10880:13;10922:3;10919:2;10896:21;:25;;;;:::i;:::-;:29;;;;:::i;:::-;10880:45;;10952:8;:13;;10973:5;10952:31;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10938:45;;;;;11008:8;:13;;11029:5;11008:31;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10994:45;;;;;11064:6;:12;;11084:6;11064:31;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11050:45;;;;;10325:778;;;;;10270:833;:::o;1549:229::-;1643:1;1623:22;;:8;:22;;;1615:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1733:8;1704:38;;1725:6;;;;;;;;;;1704:38;;;;;;;;;;;;1762:8;1753:6;;:17;;;;;;;;;;;;;;;;;;1549:229;:::o;7950:434::-;8049:17;8087:3;8079:4;8070:6;:13;;;;:::i;:::-;8069:21;;;;:::i;:::-;8049:41;;8101:22;8135:9;8126:6;:18;;;;:::i;:::-;8101:43;;8191:6;8174:8;:14;8183:4;8174:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;8157:8;:14;8166:4;8157:14;;;;;;;;;;;;;;;:40;;;;8238:14;8223:8;:12;8232:2;8223:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;8208:8;:12;8217:2;8208:12;;;;;;;;;;;;;;;:44;;;;8315:9;8289:8;:23;8306:4;8289:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;8263:8;:23;8280:4;8263:23;;;;;;;;;;;;;;;:61;;;;8357:2;8342:34;;8351:4;8342:34;;;8361:14;8342:34;;;;;;:::i;:::-;;;;;;;;8038:346;;7950:434;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:::-;6423:6;6431;6480:2;6468:9;6459:7;6455:23;6451:32;6448:119;;;6486:79;;:::i;:::-;6448:119;6606:1;6631:53;6676:7;6667:6;6656:9;6652:22;6631:53;:::i;:::-;6621:63;;6577:117;6733:2;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6704:118;6355:474;;;;;:::o;6835:180::-;6883:77;6880:1;6873:88;6980:4;6977:1;6970:15;7004:4;7001:1;6994:15;7021:102;7063:8;7110:5;7107:1;7103:13;7082:34;;7021:102;;;:::o;7129:848::-;7190:5;7197:4;7221:6;7212:15;;7245:5;7236:14;;7259:712;7280:1;7270:8;7267:15;7259:712;;;7375:4;7370:3;7366:14;7360:4;7357:24;7354:50;;;7384:18;;:::i;:::-;7354:50;7434:1;7424:8;7420:16;7417:451;;;7849:4;7842:5;7838:16;7829:25;;7417:451;7899:4;7893;7889:15;7881:23;;7929:32;7952:8;7929:32;:::i;:::-;7917:44;;7259:712;;;7129:848;;;;;;;:::o;7983:1073::-;8037:5;8228:8;8218:40;;8249:1;8240:10;;8251:5;;8218:40;8277:4;8267:36;;8294:1;8285:10;;8296:5;;8267:36;8363:4;8411:1;8406:27;;;;8447:1;8442:191;;;;8356:277;;8406:27;8424:1;8415:10;;8426:5;;;8442:191;8487:3;8477:8;8474:17;8471:43;;;8494:18;;:::i;:::-;8471:43;8543:8;8540:1;8536:16;8527:25;;8578:3;8571:5;8568:14;8565:40;;;8585:18;;:::i;:::-;8565:40;8618:5;;;8356:277;;8742:2;8732:8;8729:16;8723:3;8717:4;8714:13;8710:36;8692:2;8682:8;8679:16;8674:2;8668:4;8665:12;8661:35;8645:111;8642:246;;;8798:8;8792:4;8788:19;8779:28;;8833:3;8826:5;8823:14;8820:40;;;8840:18;;:::i;:::-;8820:40;8873:5;;8642:246;8913:42;8951:3;8941:8;8935:4;8932:1;8913:42;:::i;:::-;8898:57;;;;8987:4;8982:3;8978:14;8971:5;8968:25;8965:51;;;8996:18;;:::i;:::-;8965:51;9045:4;9038:5;9034:16;9025:25;;7983:1073;;;;;;:::o;9062:281::-;9120:5;9144:23;9162:4;9144:23;:::i;:::-;9136:31;;9188:25;9204:8;9188:25;:::i;:::-;9176:37;;9232:104;9269:66;9259:8;9253:4;9232:104;:::i;:::-;9223:113;;9062:281;;;;:::o;9349:410::-;9389:7;9412:20;9430:1;9412:20;:::i;:::-;9407:25;;9446:20;9464:1;9446:20;:::i;:::-;9441:25;;9501:1;9498;9494:9;9523:30;9541:11;9523:30;:::i;:::-;9512:41;;9702:1;9693:7;9689:15;9686:1;9683:22;9663:1;9656:9;9636:83;9613:139;;9732:18;;:::i;:::-;9613:139;9397:362;9349:410;;;;:::o;9765:182::-;9905:34;9901:1;9893:6;9889:14;9882:58;9765:182;:::o;9953:366::-;10095:3;10116:67;10180:2;10175:3;10116:67;:::i;:::-;10109:74;;10192:93;10281:3;10192:93;:::i;:::-;10310:2;10305:3;10301:12;10294:19;;9953:366;;;:::o;10325:419::-;10491:4;10529:2;10518:9;10514:18;10506:26;;10578:9;10572:4;10568:20;10564:1;10553:9;10549:17;10542:47;10606:131;10732:4;10606:131;:::i;:::-;10598:139;;10325:419;;;:::o;10750:164::-;10890:16;10886:1;10878:6;10874:14;10867:40;10750:164;:::o;10920:366::-;11062:3;11083:67;11147:2;11142:3;11083:67;:::i;:::-;11076:74;;11159:93;11248:3;11159:93;:::i;:::-;11277:2;11272:3;11268:12;11261:19;;10920:366;;;:::o;11292:419::-;11458:4;11496:2;11485:9;11481:18;11473:26;;11545:9;11539:4;11535:20;11531:1;11520:9;11516:17;11509:47;11573:131;11699:4;11573:131;:::i;:::-;11565:139;;11292:419;;;:::o;11717:227::-;11857:34;11853:1;11845:6;11841:14;11834:58;11926:10;11921:2;11913:6;11909:15;11902:35;11717:227;:::o;11950:366::-;12092:3;12113:67;12177:2;12172:3;12113:67;:::i;:::-;12106:74;;12189:93;12278:3;12189:93;:::i;:::-;12307:2;12302:3;12298:12;12291:19;;11950:366;;;:::o;12322:419::-;12488:4;12526:2;12515:9;12511:18;12503:26;;12575:9;12569:4;12565:20;12561:1;12550:9;12546:17;12539:47;12603:131;12729:4;12603:131;:::i;:::-;12595:139;;12322:419;;;:::o;12747:173::-;12887:25;12883:1;12875:6;12871:14;12864:49;12747:173;:::o;12926:366::-;13068:3;13089:67;13153:2;13148:3;13089:67;:::i;:::-;13082:74;;13165:93;13254:3;13165:93;:::i;:::-;13283:2;13278:3;13274:12;13267:19;;12926:366;;;:::o;13298:419::-;13464:4;13502:2;13491:9;13487:18;13479:26;;13551:9;13545:4;13541:20;13537:1;13526:9;13522:17;13515:47;13579:131;13705:4;13579:131;:::i;:::-;13571:139;;13298:419;;;:::o;13723:143::-;13780:5;13811:6;13805:13;13796:22;;13827:33;13854:5;13827:33;:::i;:::-;13723:143;;;;:::o;13872:351::-;13942:6;13991:2;13979:9;13970:7;13966:23;13962:32;13959:119;;;13997:79;;:::i;:::-;13959:119;14117:1;14142:64;14198:7;14189:6;14178:9;14174:22;14142:64;:::i;:::-;14132:74;;14088:128;13872:351;;;;:::o;14229:332::-;14350:4;14388:2;14377:9;14373:18;14365:26;;14401:71;14469:1;14458:9;14454:17;14445:6;14401:71;:::i;:::-;14482:72;14550:2;14539:9;14535:18;14526:6;14482:72;:::i;:::-;14229:332;;;;;:::o;14567:85::-;14612:7;14641:5;14630:16;;14567:85;;;:::o;14658:60::-;14686:3;14707:5;14700:12;;14658:60;;;:::o;14724:158::-;14782:9;14815:61;14833:42;14842:32;14868:5;14842:32;:::i;:::-;14833:42;:::i;:::-;14815:61;:::i;:::-;14802:74;;14724:158;;;:::o;14888:147::-;14983:45;15022:5;14983:45;:::i;:::-;14978:3;14971:58;14888:147;;:::o;15041:807::-;15290:4;15328:3;15317:9;15313:19;15305:27;;15342:71;15410:1;15399:9;15395:17;15386:6;15342:71;:::i;:::-;15423:72;15491:2;15480:9;15476:18;15467:6;15423:72;:::i;:::-;15505:80;15581:2;15570:9;15566:18;15557:6;15505:80;:::i;:::-;15595;15671:2;15660:9;15656:18;15647:6;15595:80;:::i;:::-;15685:73;15753:3;15742:9;15738:19;15729:6;15685:73;:::i;:::-;15768;15836:3;15825:9;15821:19;15812:6;15768:73;:::i;:::-;15041:807;;;;;;;;;:::o;15854:143::-;15911:5;15942:6;15936:13;15927:22;;15958:33;15985:5;15958:33;:::i;:::-;15854:143;;;;:::o;16003:663::-;16091:6;16099;16107;16156:2;16144:9;16135:7;16131:23;16127:32;16124:119;;;16162:79;;:::i;:::-;16124:119;16282:1;16307:64;16363:7;16354:6;16343:9;16339:22;16307:64;:::i;:::-;16297:74;;16253:128;16420:2;16446:64;16502:7;16493:6;16482:9;16478:22;16446:64;:::i;:::-;16436:74;;16391:129;16559:2;16585:64;16641:7;16632:6;16621:9;16617:22;16585:64;:::i;:::-;16575:74;;16530:129;16003:663;;;;;:::o;16672:332::-;16793:4;16831:2;16820:9;16816:18;16808:26;;16844:71;16912:1;16901:9;16897:17;16888:6;16844:71;:::i;:::-;16925:72;16993:2;16982:9;16978:18;16969:6;16925:72;:::i;:::-;16672:332;;;;;:::o;17010:116::-;17080:21;17095:5;17080:21;:::i;:::-;17073:5;17070:32;17060:60;;17116:1;17113;17106:12;17060:60;17010:116;:::o;17132:137::-;17186:5;17217:6;17211:13;17202:22;;17233:30;17257:5;17233:30;:::i;:::-;17132:137;;;;:::o;17275:345::-;17342:6;17391:2;17379:9;17370:7;17366:23;17362:32;17359:119;;;17397:79;;:::i;:::-;17359:119;17517:1;17542:61;17595:7;17586:6;17575:9;17571:22;17542:61;:::i;:::-;17532:71;;17488:125;17275:345;;;;:::o;17626:180::-;17674:77;17671:1;17664:88;17771:4;17768:1;17761:15;17795:4;17792:1;17785:15;17812:185;17852:1;17869:20;17887:1;17869:20;:::i;:::-;17864:25;;17903:20;17921:1;17903:20;:::i;:::-;17898:25;;17942:1;17932:35;;17947:18;;:::i;:::-;17932:35;17989:1;17986;17982:9;17977:14;;17812:185;;;;:::o;18003:147::-;18104:11;18141:3;18126:18;;18003:147;;;;:::o;18156:114::-;;:::o;18276:398::-;18435:3;18456:83;18537:1;18532:3;18456:83;:::i;:::-;18449:90;;18548:93;18637:3;18548:93;:::i;:::-;18666:1;18661:3;18657:11;18650:18;;18276:398;;;:::o;18680:379::-;18864:3;18886:147;19029:3;18886:147;:::i;:::-;18879:154;;19050:3;19043:10;;18680:379;;;:::o;19065:173::-;19205:25;19201:1;19193:6;19189:14;19182:49;19065:173;:::o;19244:366::-;19386:3;19407:67;19471:2;19466:3;19407:67;:::i;:::-;19400:74;;19483:93;19572:3;19483:93;:::i;:::-;19601:2;19596:3;19592:12;19585:19;;19244:366;;;:::o;19616:419::-;19782:4;19820:2;19809:9;19805:18;19797:26;;19869:9;19863:4;19859:20;19855:1;19844:9;19840:17;19833:47;19897:131;20023:4;19897:131;:::i;:::-;19889:139;;19616:419;;;:::o;20041:223::-;20181:34;20177:1;20169:6;20165:14;20158:58;20250:6;20245:2;20237:6;20233:15;20226:31;20041:223;:::o;20270:366::-;20412:3;20433:67;20497:2;20492:3;20433:67;:::i;:::-;20426:74;;20509:93;20598:3;20509:93;:::i;:::-;20627:2;20622:3;20618:12;20611:19;;20270:366;;;:::o;20642:419::-;20808:4;20846:2;20835:9;20831:18;20823:26;;20895:9;20889:4;20885:20;20881:1;20870:9;20866:17;20859:47;20923:131;21049:4;20923:131;:::i;:::-;20915:139;;20642:419;;;:::o;21067:221::-;21207:34;21203:1;21195:6;21191:14;21184:58;21276:4;21271:2;21263:6;21259:15;21252:29;21067:221;:::o;21294:366::-;21436:3;21457:67;21521:2;21516:3;21457:67;:::i;:::-;21450:74;;21533:93;21622:3;21533:93;:::i;:::-;21651:2;21646:3;21642:12;21635:19;;21294:366;;;:::o;21666:419::-;21832:4;21870:2;21859:9;21855:18;21847:26;;21919:9;21913:4;21909:20;21905:1;21894:9;21890:17;21883:47;21947:131;22073:4;21947:131;:::i;:::-;21939:139;;21666:419;;;:::o;22091:224::-;22231:34;22227:1;22219:6;22215:14;22208:58;22300:7;22295:2;22287:6;22283:15;22276:32;22091:224;:::o;22321:366::-;22463:3;22484:67;22548:2;22543:3;22484:67;:::i;:::-;22477:74;;22560:93;22649:3;22560:93;:::i;:::-;22678:2;22673:3;22669:12;22662:19;;22321:366;;;:::o;22693:419::-;22859:4;22897:2;22886:9;22882:18;22874:26;;22946:9;22940:4;22936:20;22932:1;22921:9;22917:17;22910:47;22974:131;23100:4;22974:131;:::i;:::-;22966:139;;22693:419;;;:::o;23118:178::-;23258:30;23254:1;23246:6;23242:14;23235:54;23118:178;:::o;23302:366::-;23444:3;23465:67;23529:2;23524:3;23465:67;:::i;:::-;23458:74;;23541:93;23630:3;23541:93;:::i;:::-;23659:2;23654:3;23650:12;23643:19;;23302:366;;;:::o;23674:419::-;23840:4;23878:2;23867:9;23863:18;23855:26;;23927:9;23921:4;23917:20;23913:1;23902:9;23898:17;23891:47;23955:131;24081:4;23955:131;:::i;:::-;23947:139;;23674:419;;;:::o;24099:166::-;24239:18;24235:1;24227:6;24223:14;24216:42;24099:166;:::o;24271:366::-;24413:3;24434:67;24498:2;24493:3;24434:67;:::i;:::-;24427:74;;24510:93;24599:3;24510:93;:::i;:::-;24628:2;24623:3;24619:12;24612:19;;24271:366;;;:::o;24643:419::-;24809:4;24847:2;24836:9;24832:18;24824:26;;24896:9;24890:4;24886:20;24882:1;24871:9;24867:17;24860:47;24924:131;25050:4;24924:131;:::i;:::-;24916:139;;24643:419;;;:::o;25068:172::-;25208:24;25204:1;25196:6;25192:14;25185:48;25068:172;:::o;25246:366::-;25388:3;25409:67;25473:2;25468:3;25409:67;:::i;:::-;25402:74;;25485:93;25574:3;25485:93;:::i;:::-;25603:2;25598:3;25594:12;25587:19;;25246:366;;;:::o;25618:419::-;25784:4;25822:2;25811:9;25807:18;25799:26;;25871:9;25865:4;25861:20;25857:1;25846:9;25842:17;25835:47;25899:131;26025:4;25899:131;:::i;:::-;25891:139;;25618:419;;;:::o;26043:173::-;26183:25;26179:1;26171:6;26167:14;26160:49;26043:173;:::o;26222:366::-;26364:3;26385:67;26449:2;26444:3;26385:67;:::i;:::-;26378:74;;26461:93;26550:3;26461:93;:::i;:::-;26579:2;26574:3;26570:12;26563:19;;26222:366;;;:::o;26594:419::-;26760:4;26798:2;26787:9;26783:18;26775:26;;26847:9;26841:4;26837:20;26833:1;26822:9;26818:17;26811:47;26875:131;27001:4;26875:131;:::i;:::-;26867:139;;26594:419;;;:::o;27019:191::-;27059:3;27078:20;27096:1;27078:20;:::i;:::-;27073:25;;27112:20;27130:1;27112:20;:::i;:::-;27107:25;;27155:1;27152;27148:9;27141:16;;27176:3;27173:1;27170:10;27167:36;;;27183:18;;:::i;:::-;27167:36;27019:191;;;;:::o;27216:177::-;27356:29;27352:1;27344:6;27340:14;27333:53;27216:177;:::o;27399:366::-;27541:3;27562:67;27626:2;27621:3;27562:67;:::i;:::-;27555:74;;27638:93;27727:3;27638:93;:::i;:::-;27756:2;27751:3;27747:12;27740:19;;27399:366;;;:::o;27771:419::-;27937:4;27975:2;27964:9;27960:18;27952:26;;28024:9;28018:4;28014:20;28010:1;27999:9;27995:17;27988:47;28052:131;28178:4;28052:131;:::i;:::-;28044:139;;27771:419;;;:::o;28196:180::-;28244:77;28241:1;28234:88;28341:4;28338:1;28331:15;28365:4;28362:1;28355:15;28382:180;28430:77;28427:1;28420:88;28527:4;28524:1;28517:15;28551:4;28548:1;28541:15;28568:114;28635:6;28669:5;28663:12;28653:22;;28568:114;;;:::o;28688:184::-;28787:11;28821:6;28816:3;28809:19;28861:4;28856:3;28852:14;28837:29;;28688:184;;;;:::o;28878:132::-;28945:4;28968:3;28960:11;;28998:4;28993:3;28989:14;28981:22;;28878:132;;;:::o;29016:108::-;29093:24;29111:5;29093:24;:::i;:::-;29088:3;29081:37;29016:108;;:::o;29130:179::-;29199:10;29220:46;29262:3;29254:6;29220:46;:::i;:::-;29298:4;29293:3;29289:14;29275:28;;29130:179;;;;:::o;29315:113::-;29385:4;29417;29412:3;29408:14;29400:22;;29315:113;;;:::o;29464:732::-;29583:3;29612:54;29660:5;29612:54;:::i;:::-;29682:86;29761:6;29756:3;29682:86;:::i;:::-;29675:93;;29792:56;29842:5;29792:56;:::i;:::-;29871:7;29902:1;29887:284;29912:6;29909:1;29906:13;29887:284;;;29988:6;29982:13;30015:63;30074:3;30059:13;30015:63;:::i;:::-;30008:70;;30101:60;30154:6;30101:60;:::i;:::-;30091:70;;29947:224;29934:1;29931;29927:9;29922:14;;29887:284;;;29891:14;30187:3;30180:10;;29588:608;;;29464:732;;;;:::o;30202:831::-;30465:4;30503:3;30492:9;30488:19;30480:27;;30517:71;30585:1;30574:9;30570:17;30561:6;30517:71;:::i;:::-;30598:80;30674:2;30663:9;30659:18;30650:6;30598:80;:::i;:::-;30725:9;30719:4;30715:20;30710:2;30699:9;30695:18;30688:48;30753:108;30856:4;30847:6;30753:108;:::i;:::-;30745:116;;30871:72;30939:2;30928:9;30924:18;30915:6;30871:72;:::i;:::-;30953:73;31021:3;31010:9;31006:19;30997:6;30953:73;:::i;:::-;30202:831;;;;;;;;:::o;31039:225::-;31179:34;31175:1;31167:6;31163:14;31156:58;31248:8;31243:2;31235:6;31231:15;31224:33;31039:225;:::o;31270:366::-;31412:3;31433:67;31497:2;31492:3;31433:67;:::i;:::-;31426:74;;31509:93;31598:3;31509:93;:::i;:::-;31627:2;31622:3;31618:12;31611:19;;31270:366;;;:::o;31642:419::-;31808:4;31846:2;31835:9;31831:18;31823:26;;31895:9;31889:4;31885:20;31881:1;31870:9;31866:17;31859:47;31923:131;32049:4;31923:131;:::i;:::-;31915:139;;31642:419;;;:::o;32067:194::-;32107:4;32127:20;32145:1;32127:20;:::i;:::-;32122:25;;32161:20;32179:1;32161:20;:::i;:::-;32156:25;;32205:1;32202;32198:9;32190:17;;32229:1;32223:4;32220:11;32217:37;;;32234:18;;:::i;:::-;32217:37;32067:194;;;;:::o

Swarm Source

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