ETH Price: $3,623.41 (+9.05%)

Token

QANON (WWG1WGA)
 

Overview

Max Total Supply

1,000,000,000 WWG1WGA

Holders

53

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20WWG1WGA

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.15;

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

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

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

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

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    function getOwner() external view returns (address);
    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);
}

abstract contract Auth {
    address internal owner;
    address internal potentialOwner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
        emit Authorize_Wallet(adr,true);
    }

    function unauthorize(address adr) external onlyOwner {
        require(adr != owner, "OWNER cant be unauthorized");
        authorizations[adr] = false;
        emit Authorize_Wallet(adr,false);
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    function transferOwnership(address payable adr) external onlyOwner {
        require(adr != owner, "Already the owner");
        require(adr != address(0), "Can not be zero address.");
        potentialOwner = adr;
        emit OwnershipNominated(adr);
    }

    function renounceOwnership() external onlyOwner {
        authorizations[owner] = false;
        owner = address(0);
    }

    function acceptOwnership() external {
        require(msg.sender == potentialOwner, "You must be nominated as potential owner before you can accept the role.");
        authorizations[owner] = false;
        authorizations[potentialOwner] = true;

        emit Authorize_Wallet(owner,false);
        emit Authorize_Wallet(potentialOwner,true);
        
        owner = potentialOwner;
        potentialOwner = address(0);
        emit OwnershipTransferred(owner);
    }

    event OwnershipTransferred(address owner);
    event OwnershipNominated(address potentialOwner);
    event Authorize_Wallet(address Wallet, bool Status);
}

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

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

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

contract ERC20WWG1WGA is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "QANON";
    string public constant symbol = "WWG1WGA";
    uint8 public constant decimals = 9;

    uint256 public constant totalSupply = 1 * 10**9 * 10**decimals;

    uint256 public _maxTxAmount = totalSupply / 100;
    uint256 public _maxWalletToken = totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isAnon;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public marketingFee = 2;
    uint256 public wikileaksFee = 2;
    uint256 public utilityFee = 1;
    uint256 public totalFee = marketingFee + wikileaksFee + utilityFee;
    uint256 public constant feeDenominator = 100;
    
    uint256 buyMultiplier = 100;
    uint256 sellMultiplier = 100;
    uint256 transferMultiplier = 1800;

    address public marketingFeeReceiver;
    address public wikileaksWallet;
    address public utilityFeeReceiver;

    IDEXRouter public router;
    address public immutable pair;

    bool public tradingOpen = false;
    bool public tradingPublic = false;

    bool public swapEnabled = false;
    uint256 public swapThreshold = totalSupply / 1000;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        marketingFeeReceiver = 0x22182eD3BeFEe656f01A379E30bc30cb3dF70f70;
        utilityFeeReceiver = 0x6aCfDBBB7a7bE59713082c566cd4c3E0098234C6;
        wikileaksWallet = 0xeD0a60418eE978B0F5d0A143167D13e7dF7237eA;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[utilityFeeReceiver] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[utilityFeeReceiver] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;
        isWalletLimitExempt[utilityFeeReceiver] = true;

        authorize(utilityFeeReceiver);

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        require(maxWallPercent_base1000 >= 5,"Cannot set max wallet less than 0.5%");
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
    }

    function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner {
        require(maxTXPercentage_base1000 >= 5,"Cannot set max transaction less than 0.5%");
        _maxTxAmount = (totalSupply * maxTXPercentage_base1000 ) / 1000;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen,"trading not open yet");
            if(!tradingPublic){
            	require(isAnon[sender] || isAnon[recipient],"trading not open yet");
            }
        }

        if (!authorizations[sender] && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "Max TX Limit Exceeded");

        if(shouldSwapBack()){ swapBack(); }

        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

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

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

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

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && balanceOf[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }

        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function openTrading(bool _public, bool _enable) external onlyOwner {
        tradingOpen = _enable;
        tradingPublic = _public;
    }

    function swapBack() internal swapping {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapThreshold,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance;

        uint256 amountETHMarketing = (amountETH * marketingFee) / totalFee;
        uint256 amountETHWikileaks = (amountETH * wikileaksFee) / totalFee;
        uint256 amountETHDevelopment = (amountETH * utilityFee) / totalFee;

        payable(marketingFeeReceiver).transfer(amountETHMarketing);
        payable(wikileaksWallet).transfer(amountETHWikileaks);
        payable(utilityFeeReceiver).transfer(amountETHDevelopment);
    }

    function manage_FeeExempt(address[] calldata addresses, bool status) external authorized {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i=0; i < addresses.length; ++i) {
            isFeeExempt[addresses[i]] = status;
        }
    }

    function manage_TxLimitExempt(address[] calldata addresses, bool status) external authorized {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i=0; i < addresses.length; ++i) {
            isTxLimitExempt[addresses[i]] = status;
        }
    }

    function manage_WalletLimitExempt(address[] calldata addresses, bool status) external authorized {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i=0; i < addresses.length; ++i) {
            isWalletLimitExempt[addresses[i]] = status;
        }
    }

    function manage_Anon(address[] calldata addresses, bool status) external authorized {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i=0; i < addresses.length; ++i) {
            isAnon[addresses[i]] = status;
        }
    }

    function update_fees() view internal {
        require(totalFee.mul(buyMultiplier).div(100) <= 7, "Buy tax cannot be more than 7%");
        require(totalFee.mul(sellMultiplier).div(100) <= 7, "Sell tax cannot be more than 7%");
    }

    function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external authorized {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;

        update_fees();
    }

    function setFees_base100(uint256 _marketingFee, uint256 _wikileaksFee, uint256 _utilityFee) external onlyOwner {
        marketingFee = _marketingFee;
        wikileaksFee = _wikileaksFee;
        utilityFee = _utilityFee;
        totalFee = _marketingFee + _wikileaksFee + _utilityFee;
        
        update_fees();
    }

    function setFeeReceivers(address _marketingFeeReceiver, address _wikileaksWallet, address _utilityFeeReceiver ) external onlyOwner {
        marketingFeeReceiver = _marketingFeeReceiver;
        wikileaksWallet = _wikileaksWallet;
        utilityFeeReceiver = _utilityFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = totalSupply / _denominator;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

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":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"Authorize_Wallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"potentialOwner","type":"address"}],"name":"OwnershipNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAnon","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_Anon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_FeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_TxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_WalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_public","type":"bool"},{"internalType":"bool","name":"_enable","type":"bool"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_wikileaksWallet","type":"address"},{"internalType":"address","name":"_utilityFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_wikileaksFee","type":"uint256"},{"internalType":"uint256","name":"_utilityFee","type":"uint256"}],"name":"setFees_base100","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingPublic","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"utilityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"utilityFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wikileaksFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wikileaksWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260646009600a62000016919062000ddb565b633b9aca0062000027919062000e2c565b62000033919062000ebc565b60035560646009600a62000048919062000ddb565b633b9aca0062000059919062000e2c565b62000065919062000ebc565b6004556002600b556002600c556001600d55600d54600c54600b546200008c919062000ef4565b62000098919062000ef4565b600e556064600f5560646010556107086011556000601560146101000a81548160ff02191690831515021790555060006015806101000a81548160ff0219169083151502179055506000601560166101000a81548160ff0219169083151502179055506103e86009600a6200010e919062000ddb565b633b9aca006200011f919062000e2c565b6200012b919062000ebc565b6016553480156200013b57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000299573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bf919062000fbb565b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000360573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000386919062000fbb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396608051306040518363ffffffff1660e01b8152600401620003c492919062000ffe565b6020604051808303816000875af1158015620003e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040a919062000fbb565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507322182ed3befee656f01a379e30bc30cb3df70f70601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736acfdbbb7a7be59713082c566cd4c3e0098234c6601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ed0a60418ee978b0f5d0a143167d13e7df7237ea601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016009600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000a0c601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000afe60201b60201c565b6009600a62000a1c919062000ddb565b633b9aca0062000a2d919062000e2c565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000ad0919062000ddb565b633b9aca0062000ae1919062000e2c565b60405162000af091906200103c565b60405180910390a362001126565b62000b0f3362000be860201b60201c565b62000b51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b4890620010ba565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b950581600160405162000bdd929190620010f9565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000ccf5780860481111562000ca75762000ca662000c41565b5b600185161562000cb75780820291505b808102905062000cc78562000c70565b945062000c87565b94509492505050565b60008262000cea576001905062000dbd565b8162000cfa576000905062000dbd565b816001811462000d13576002811462000d1e5762000d54565b600191505062000dbd565b60ff84111562000d335762000d3262000c41565b5b8360020a91508482111562000d4d5762000d4c62000c41565b5b5062000dbd565b5060208310610133831016604e8410600b841016171562000d8e5782820a90508381111562000d885762000d8762000c41565b5b62000dbd565b62000d9d848484600162000c7d565b9250905081840481111562000db75762000db662000c41565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000de88262000dc4565b915062000df58362000dce565b925062000e247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000cd8565b905092915050565b600062000e398262000dc4565b915062000e468362000dc4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e825762000e8162000c41565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ec98262000dc4565b915062000ed68362000dc4565b92508262000ee95762000ee862000e8d565b5b828204905092915050565b600062000f018262000dc4565b915062000f0e8362000dc4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000f465762000f4562000c41565b5b828201905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f838262000f56565b9050919050565b62000f958162000f76565b811462000fa157600080fd5b50565b60008151905062000fb58162000f8a565b92915050565b60006020828403121562000fd45762000fd362000f51565b5b600062000fe48482850162000fa4565b91505092915050565b62000ff88162000f76565b82525050565b600060408201905062001015600083018562000fed565b62001024602083018462000fed565b9392505050565b620010368162000dc4565b82525050565b60006020820190506200105360008301846200102b565b92915050565b600082825260208201905092915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000620010a260068362001059565b9150620010af826200106a565b602082019050919050565b60006020820190508181036000830152620010d58162001093565b9050919050565b60008115159050919050565b620010f381620010dc565b82525050565b600060408201905062001110600083018562000fed565b6200111f6020830184620010e8565b9392505050565b60805160a051614ef16200116860003960008181611fbe01528181612b4901528181613271015281816136e80152613745015260006133fc0152614ef16000f3fe6080604052600436106103015760003560e01c806370a0823111610190578063b6a5d7de116100dc578063df20fd4911610095578063f2fde38b1161006f578063f2fde38b14610bb1578063f887ea4014610bda578063fe9fbb8014610c05578063ffb54a9914610c4257610308565b8063df20fd4914610b34578063e96fada214610b5d578063f0b37c0414610b8857610308565b8063b6a5d7de14610a14578063bd9ab53714610a3d578063c867d60b14610a66578063d7c0103214610aa3578063dccd8bd214610acc578063dd62ed3e14610af757610308565b806386dc53771161014957806395d89b411161012357806395d89b4114610958578063a503160b14610983578063a8aa1b31146109ac578063a9059cbb146109d757610308565b806386dc5377146108c7578063893d20e8146108f05780638b42507f1461091b57610308565b806370a08231146107c9578063715018a61461080657806377b54bad1461081d57806378109e541461085a57806379ba5097146108855780637d1db4a51461089c57610308565b80632b112e491161024f5780634be9d86911610208578063647de05d116101e2578063647de05d1461071f5780636b67c4df1461074a5780636ce46bc3146107755780636ddd17131461079e57610308565b80634be9d8691461068e578063571ac8b0146106b757806361b2620a146106f457610308565b80632b112e49146105585780632f54bf6e14610583578063313ce567146105c05780633f4218e0146105eb57806345ec1d7f1461062857806347d6aee31461066557610308565b806313e3ec46116102bc57806318160ddd1161029657806318160ddd1461049c5780631da1db5e146104c75780631df4ccfc146104f057806323b872dd1461051b57610308565b806313e3ec461461041b578063147284ec14610446578063180b0d7e1461047157610308565b80621086831461030d578062bff446146103365780630445b6671461035f57806306fdde031461038a57806309302dc6146103b5578063095ea7b3146103de57610308565b3661030857005b600080fd5b34801561031957600080fd5b50610334600480360381019061032f9190613b7f565b610c6d565b005b34801561034257600080fd5b5061035d60048036038101906103589190613b7f565b610d9f565b005b34801561036b57600080fd5b50610374610ed1565b6040516103819190613bf8565b60405180910390f35b34801561039657600080fd5b5061039f610ed7565b6040516103ac9190613cac565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190613cfa565b610f10565b005b3480156103ea57600080fd5b5061040560048036038101906104009190613d85565b610fda565b6040516104129190613dd4565b60405180910390f35b34801561042757600080fd5b506104306110cc565b60405161043d9190613bf8565b60405180910390f35b34801561045257600080fd5b5061045b6110d2565b6040516104689190613dfe565b60405180910390f35b34801561047d57600080fd5b506104866110f8565b6040516104939190613bf8565b60405180910390f35b3480156104a857600080fd5b506104b16110fd565b6040516104be9190613bf8565b60405180910390f35b3480156104d357600080fd5b506104ee60048036038101906104e99190613cfa565b61111d565b005b3480156104fc57600080fd5b506105056111d2565b6040516105129190613bf8565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190613e19565b6111d8565b60405161054f9190613dd4565b60405180910390f35b34801561056457600080fd5b5061056d6113d8565b60405161057a9190613bf8565b60405180910390f35b34801561058f57600080fd5b506105aa60048036038101906105a59190613e6c565b611492565b6040516105b79190613dd4565b60405180910390f35b3480156105cc57600080fd5b506105d56114eb565b6040516105e29190613eb5565b60405180910390f35b3480156105f757600080fd5b50610612600480360381019061060d9190613e6c565b6114f0565b60405161061f9190613dd4565b60405180910390f35b34801561063457600080fd5b5061064f600480360381019061064a9190613e6c565b611510565b60405161065c9190613dd4565b60405180910390f35b34801561067157600080fd5b5061068c60048036038101906106879190613b7f565b611530565b005b34801561069a57600080fd5b506106b560048036038101906106b09190613b7f565b611662565b005b3480156106c357600080fd5b506106de60048036038101906106d99190613e6c565b611794565b6040516106eb9190613dd4565b60405180910390f35b34801561070057600080fd5b506107096117c7565b6040516107169190613dd4565b60405180910390f35b34801561072b57600080fd5b506107346117d8565b6040516107419190613dfe565b60405180910390f35b34801561075657600080fd5b5061075f6117fe565b60405161076c9190613bf8565b60405180910390f35b34801561078157600080fd5b5061079c60048036038101906107979190613ed0565b611804565b005b3480156107aa57600080fd5b506107b361186e565b6040516107c09190613dd4565b60405180910390f35b3480156107d557600080fd5b506107f060048036038101906107eb9190613e6c565b611881565b6040516107fd9190613bf8565b60405180910390f35b34801561081257600080fd5b5061081b611899565b005b34801561082957600080fd5b50610844600480360381019061083f9190613d85565b61199d565b6040516108519190613dd4565b60405180910390f35b34801561086657600080fd5b5061086f611af2565b60405161087c9190613bf8565b60405180910390f35b34801561089157600080fd5b5061089a611af8565b005b3480156108a857600080fd5b506108b1611e2e565b6040516108be9190613bf8565b60405180910390f35b3480156108d357600080fd5b506108ee60048036038101906108e99190613f23565b611e34565b005b3480156108fc57600080fd5b50610905611eb3565b6040516109129190613dfe565b60405180910390f35b34801561092757600080fd5b50610942600480360381019061093d9190613e6c565b611edc565b60405161094f9190613dd4565b60405180910390f35b34801561096457600080fd5b5061096d611efc565b60405161097a9190613cac565b60405180910390f35b34801561098f57600080fd5b506109aa60048036038101906109a59190613ed0565b611f35565b005b3480156109b857600080fd5b506109c1611fbc565b6040516109ce9190613dfe565b60405180910390f35b3480156109e357600080fd5b506109fe60048036038101906109f99190613d85565b611fe0565b604051610a0b9190613dd4565b60405180910390f35b348015610a2057600080fd5b50610a3b6004803603810190610a369190613e6c565b611ff5565b005b348015610a4957600080fd5b50610a646004803603810190610a5f9190613cfa565b6120d2565b005b348015610a7257600080fd5b50610a8d6004803603810190610a889190613e6c565b61219c565b604051610a9a9190613dd4565b60405180910390f35b348015610aaf57600080fd5b50610aca6004803603810190610ac59190613f63565b6121bc565b005b348015610ad857600080fd5b50610ae16122cc565b604051610aee9190613bf8565b60405180910390f35b348015610b0357600080fd5b50610b1e6004803603810190610b199190613fb6565b6122d2565b604051610b2b9190613bf8565b60405180910390f35b348015610b4057600080fd5b50610b5b6004803603810190610b569190613ff6565b612359565b005b348015610b6957600080fd5b50610b726123ed565b604051610b7f9190613dfe565b60405180910390f35b348015610b9457600080fd5b50610baf6004803603810190610baa9190613e6c565b612413565b005b348015610bbd57600080fd5b50610bd86004803603810190610bd39190614074565b61257e565b005b348015610be657600080fd5b50610bef61273e565b604051610bfc9190614100565b60405180910390f35b348015610c1157600080fd5b50610c2c6004803603810190610c279190613e6c565b612764565b604051610c399190613dd4565b60405180910390f35b348015610c4e57600080fd5b50610c576127ba565b604051610c649190613dd4565b60405180910390f35b610c7633612764565b610cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cac90614167565b60405180910390fd5b6101f58383905010610cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf3906141f9565b60405180910390fd5b60005b83839050811015610d995781600a6000868685818110610d2257610d21614219565b5b9050602002016020810190610d379190613e6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610d9290614277565b9050610cff565b50505050565b610da833612764565b610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90614167565b60405180910390fd5b6101f58383905010610e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e25906141f9565b60405180910390fd5b60005b83839050811015610ecb578160076000868685818110610e5457610e53614219565b5b9050602002016020810190610e699190613e6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610ec490614277565b9050610e31565b50505050565b60165481565b6040518060400160405280600581526020017f51414e4f4e00000000000000000000000000000000000000000000000000000081525081565b610f1933611492565b610f58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4f9061430b565b60405180910390fd5b6005811015610f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f939061439d565b60405180910390fd5b6103e8816009600a610fae91906144f0565b633b9aca00610fbd919061453b565b610fc7919061453b565b610fd191906145c4565b60048190555050565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516110ba9190613bf8565b60405180910390a36001905092915050565b600c5481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606481565b6009600a61110b91906144f0565b633b9aca0061111a919061453b565b81565b61112633611492565b611165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115c9061430b565b60405180910390fd5b600047905060006064838361117a919061453b565b61118491906145c4565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156111cc573d6000803e3d6000fd5b50505050565b600e5481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146113c457611343826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6113cf848484612831565b90509392505050565b6000600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546009600a61146a91906144f0565b633b9aca00611479919061453b565b61148391906145f5565b61148d91906145f5565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600981565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b61153933612764565b611578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156f90614167565b60405180910390fd5b6101f583839050106115bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b6906141f9565b60405180910390fd5b60005b8383905081101561165c5781600860008686858181106115e5576115e4614219565b5b90506020020160208101906115fa9190613e6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508061165590614277565b90506115c2565b50505050565b61166b33612764565b6116aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a190614167565b60405180910390fd5b6101f583839050106116f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e8906141f9565b60405180910390fd5b60005b8383905081101561178e57816009600086868581811061171757611716614219565b5b905060200201602081019061172c9190613e6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508061178790614277565b90506116f4565b50505050565b60006117c0827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fda565b9050919050565b60158054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b61180d33612764565b61184c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184390614167565b60405180910390fd5b8160108190555082600f8190555080601181905550611869612fbe565b505050565b601560169054906101000a900460ff1681565b60056020528060005260406000206000915090505481565b6118a233611492565b6118e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d89061430b565b60405180910390fd5b6000600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006119a833611492565b6119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de9061430b565b60405180910390fd5b60008203611a6c578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611a289190613dfe565b602060405180830381865afa158015611a45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a69919061463e565b91505b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401611aa792919061466b565b6020604051808303816000875af1158015611ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aea91906146a9565b905092915050565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7f9061476e565b60405180910390fd5b6000600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b950560008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000604051611ccd92919061478e565b60405180910390a17fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b9505600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001604051611d2992919061478e565b60405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611e249190613dfe565b60405180910390a1565b60035481565b611e3d33611492565b611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e739061430b565b60405180910390fd5b80601560146101000a81548160ff021916908315150217905550816015806101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6040518060400160405280600781526020017f575747315747410000000000000000000000000000000000000000000000000081525081565b611f3e33611492565b611f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f749061430b565b60405180910390fd5b82600b8190555081600c8190555080600d81905550808284611f9f91906147b7565b611fa991906147b7565b600e81905550611fb7612fbe565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000611fed338484612831565b905092915050565b611ffe33611492565b61203d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120349061430b565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b95058160016040516120c792919061478e565b60405180910390a150565b6120db33611492565b61211a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121119061430b565b60405180910390fd5b600581101561215e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121559061487f565b60405180910390fd5b6103e8816009600a61217091906144f0565b633b9aca0061217f919061453b565b612189919061453b565b61219391906145c4565b60038190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6121c533611492565b612204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fb9061430b565b60405180910390fd5b82601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61236233611492565b6123a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123989061430b565b60405180910390fd5b81601560166101000a81548160ff021916908315150217905550806009600a6123ca91906144f0565b633b9aca006123d9919061453b565b6123e391906145c4565b6016819055505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61241c33611492565b61245b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124529061430b565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e0906148eb565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b950581600060405161257392919061478e565b60405180910390a150565b61258733611492565b6125c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bd9061430b565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264b90614957565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036126c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ba906149c3565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef222816040516127339190614a04565b60405180910390a150565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601560149054906101000a900460ff1681565b6000838311158290612815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280c9190613cac565b60405180910390fd5b506000838561282491906145f5565b9050809150509392505050565b6000601760009054906101000a900460ff161561285a5761285384848461309a565b9050612fb7565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128fe5750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a4657601560149054906101000a900460ff16612952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294990614a6b565b60405180910390fd5b60158054906101000a900460ff16612a4557600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612a055750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3b90614a6b565b60405180910390fd5b5b5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612aea5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b405750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b9857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612c2d5760045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612beb91906147b7565b1115612c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c2390614ad7565b60405180910390fd5b5b60035482111580612c875750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612cdb5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1190614b43565b60405180910390fd5b612d2261326d565b15612d3057612d2f613342565b5b612db9826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612e9f5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612eb357612eae8584866136c0565b612eb5565b825b9050612f0981600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390990919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fa99190613bf8565b60405180910390a360019150505b9392505050565b6007612fea6064612fdc600f54600e5461396790919063ffffffff16565b6139e190919063ffffffff16565b111561302b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302290614baf565b60405180910390fd5b60076130576064613049601054600e5461396790919063ffffffff16565b6139e190919063ffffffff16565b1115613098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308f90614c1b565b60405180910390fd5b565b6000613125826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131ba82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390990919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161325a9190613bf8565b60405180910390a3600190509392505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156132d85750601760009054906101000a900460ff16155b80156132f05750601560169054906101000a900460ff165b801561333d5750601654600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601760006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561337a57613379614c3b565b5b6040519080825280602002602001820160405280156133a85781602001602082028036833780820191505090505b50905030816000815181106133c0576133bf614219565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061342f5761342e614219565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94760165460008430426040518663ffffffff1660e01b81526004016134cf959493929190614d63565b600060405180830381600087803b1580156134e957600080fd5b505af11580156134fd573d6000803e3d6000fd5b5050505060004790506000600e54600b5483613519919061453b565b61352391906145c4565b90506000600e54600c5484613538919061453b565b61354291906145c4565b90506000600e54600d5485613557919061453b565b61356191906145c4565b9050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156135cb573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015613634573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561369d573d6000803e3d6000fd5b5050505050506000601760006101000a81548160ff021916908315150217905550565b6000808314806136d257506000600e54145b156136df57829050613902565b600060115490507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361374357601054905061379d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361379c57600f5490505b5b60006137e46064806137af919061453b565b6137d6846137c8600e548a61396790919063ffffffff16565b61396790919063ffffffff16565b6139e190919063ffffffff16565b905060008111156138ea5761384181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390990919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516138e19190613bf8565b60405180910390a35b6138fd8186613a2b90919063ffffffff16565b925050505b9392505050565b600080828461391891906147b7565b90508381101561395d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161395490614e09565b60405180910390fd5b8091505092915050565b600080830361397957600090506139db565b60008284613987919061453b565b905082848261399691906145c4565b146139d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139cd90614e9b565b60405180910390fd5b809150505b92915050565b6000613a2383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613a75565b905092915050565b6000613a6d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506127cd565b905092915050565b60008083118290613abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ab39190613cac565b60405180910390fd5b5060008385613acb91906145c4565b9050809150509392505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112613b0757613b06613ae2565b5b8235905067ffffffffffffffff811115613b2457613b23613ae7565b5b602083019150836020820283011115613b4057613b3f613aec565b5b9250929050565b60008115159050919050565b613b5c81613b47565b8114613b6757600080fd5b50565b600081359050613b7981613b53565b92915050565b600080600060408486031215613b9857613b97613ad8565b5b600084013567ffffffffffffffff811115613bb657613bb5613add565b5b613bc286828701613af1565b93509350506020613bd586828701613b6a565b9150509250925092565b6000819050919050565b613bf281613bdf565b82525050565b6000602082019050613c0d6000830184613be9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613c4d578082015181840152602081019050613c32565b83811115613c5c576000848401525b50505050565b6000601f19601f8301169050919050565b6000613c7e82613c13565b613c888185613c1e565b9350613c98818560208601613c2f565b613ca181613c62565b840191505092915050565b60006020820190508181036000830152613cc68184613c73565b905092915050565b613cd781613bdf565b8114613ce257600080fd5b50565b600081359050613cf481613cce565b92915050565b600060208284031215613d1057613d0f613ad8565b5b6000613d1e84828501613ce5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613d5282613d27565b9050919050565b613d6281613d47565b8114613d6d57600080fd5b50565b600081359050613d7f81613d59565b92915050565b60008060408385031215613d9c57613d9b613ad8565b5b6000613daa85828601613d70565b9250506020613dbb85828601613ce5565b9150509250929050565b613dce81613b47565b82525050565b6000602082019050613de96000830184613dc5565b92915050565b613df881613d47565b82525050565b6000602082019050613e136000830184613def565b92915050565b600080600060608486031215613e3257613e31613ad8565b5b6000613e4086828701613d70565b9350506020613e5186828701613d70565b9250506040613e6286828701613ce5565b9150509250925092565b600060208284031215613e8257613e81613ad8565b5b6000613e9084828501613d70565b91505092915050565b600060ff82169050919050565b613eaf81613e99565b82525050565b6000602082019050613eca6000830184613ea6565b92915050565b600080600060608486031215613ee957613ee8613ad8565b5b6000613ef786828701613ce5565b9350506020613f0886828701613ce5565b9250506040613f1986828701613ce5565b9150509250925092565b60008060408385031215613f3a57613f39613ad8565b5b6000613f4885828601613b6a565b9250506020613f5985828601613b6a565b9150509250929050565b600080600060608486031215613f7c57613f7b613ad8565b5b6000613f8a86828701613d70565b9350506020613f9b86828701613d70565b9250506040613fac86828701613d70565b9150509250925092565b60008060408385031215613fcd57613fcc613ad8565b5b6000613fdb85828601613d70565b9250506020613fec85828601613d70565b9150509250929050565b6000806040838503121561400d5761400c613ad8565b5b600061401b85828601613b6a565b925050602061402c85828601613ce5565b9150509250929050565b600061404182613d27565b9050919050565b61405181614036565b811461405c57600080fd5b50565b60008135905061406e81614048565b92915050565b60006020828403121561408a57614089613ad8565b5b60006140988482850161405f565b91505092915050565b6000819050919050565b60006140c66140c16140bc84613d27565b6140a1565b613d27565b9050919050565b60006140d8826140ab565b9050919050565b60006140ea826140cd565b9050919050565b6140fa816140df565b82525050565b600060208201905061411560008301846140f1565b92915050565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b6000614151600b83613c1e565b915061415c8261411b565b602082019050919050565b6000602082019050818103600083015261418081614144565b9050919050565b7f474153204572726f723a206d6178206c696d697420697320353030206164647260008201527f6573736573000000000000000000000000000000000000000000000000000000602082015250565b60006141e3602583613c1e565b91506141ee82614187565b604082019050919050565b60006020820190508181036000830152614212816141d6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061428282613bdf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036142b4576142b3614248565b5b600182019050919050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006142f5600683613c1e565b9150614300826142bf565b602082019050919050565b60006020820190508181036000830152614324816142e8565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000614387602483613c1e565b91506143928261432b565b604082019050919050565b600060208201905081810360008301526143b68161437a565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115614414578086048111156143f0576143ef614248565b5b60018516156143ff5780820291505b808102905061440d856143bd565b94506143d4565b94509492505050565b60008261442d57600190506144e9565b8161443b57600090506144e9565b8160018114614451576002811461445b5761448a565b60019150506144e9565b60ff84111561446d5761446c614248565b5b8360020a91508482111561448457614483614248565b5b506144e9565b5060208310610133831016604e8410600b84101617156144bf5782820a9050838111156144ba576144b9614248565b5b6144e9565b6144cc84848460016143ca565b925090508184048111156144e3576144e2614248565b5b81810290505b9392505050565b60006144fb82613bdf565b915061450683613e99565b92506145337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461441d565b905092915050565b600061454682613bdf565b915061455183613bdf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561458a57614589614248565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006145cf82613bdf565b91506145da83613bdf565b9250826145ea576145e9614595565b5b828204905092915050565b600061460082613bdf565b915061460b83613bdf565b92508282101561461e5761461d614248565b5b828203905092915050565b60008151905061463881613cce565b92915050565b60006020828403121561465457614653613ad8565b5b600061466284828501614629565b91505092915050565b60006040820190506146806000830185613def565b61468d6020830184613be9565b9392505050565b6000815190506146a381613b53565b92915050565b6000602082840312156146bf576146be613ad8565b5b60006146cd84828501614694565b91505092915050565b7f596f75206d757374206265206e6f6d696e6174656420617320706f74656e746960008201527f616c206f776e6572206265666f726520796f752063616e20616363657074207460208201527f686520726f6c652e000000000000000000000000000000000000000000000000604082015250565b6000614758604883613c1e565b9150614763826146d6565b606082019050919050565b600060208201905081810360008301526147878161474b565b9050919050565b60006040820190506147a36000830185613def565b6147b06020830184613dc5565b9392505050565b60006147c282613bdf565b91506147cd83613bdf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561480257614801614248565b5b828201905092915050565b7f43616e6e6f7420736574206d6178207472616e73616374696f6e206c6573732060008201527f7468616e20302e35250000000000000000000000000000000000000000000000602082015250565b6000614869602983613c1e565b91506148748261480d565b604082019050919050565b600060208201905081810360008301526148988161485c565b9050919050565b7f4f574e45522063616e7420626520756e617574686f72697a6564000000000000600082015250565b60006148d5601a83613c1e565b91506148e08261489f565b602082019050919050565b60006020820190508181036000830152614904816148c8565b9050919050565b7f416c726561647920746865206f776e6572000000000000000000000000000000600082015250565b6000614941601183613c1e565b915061494c8261490b565b602082019050919050565b6000602082019050818103600083015261497081614934565b9050919050565b7f43616e206e6f74206265207a65726f20616464726573732e0000000000000000600082015250565b60006149ad601883613c1e565b91506149b882614977565b602082019050919050565b600060208201905081810360008301526149dc816149a0565b9050919050565b60006149ee826140cd565b9050919050565b6149fe816149e3565b82525050565b6000602082019050614a1960008301846149f5565b92915050565b7f74726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b6000614a55601483613c1e565b9150614a6082614a1f565b602082019050919050565b60006020820190508181036000830152614a8481614a48565b9050919050565b7f6d61782077616c6c6574206c696d697420726561636865640000000000000000600082015250565b6000614ac1601883613c1e565b9150614acc82614a8b565b602082019050919050565b60006020820190508181036000830152614af081614ab4565b9050919050565b7f4d6178205458204c696d69742045786365656465640000000000000000000000600082015250565b6000614b2d601583613c1e565b9150614b3882614af7565b602082019050919050565b60006020820190508181036000830152614b5c81614b20565b9050919050565b7f427579207461782063616e6e6f74206265206d6f7265207468616e2037250000600082015250565b6000614b99601e83613c1e565b9150614ba482614b63565b602082019050919050565b60006020820190508181036000830152614bc881614b8c565b9050919050565b7f53656c6c207461782063616e6e6f74206265206d6f7265207468616e20372500600082015250565b6000614c05601f83613c1e565b9150614c1082614bcf565b602082019050919050565b60006020820190508181036000830152614c3481614bf8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000614c8f614c8a614c8584614c6a565b6140a1565b613bdf565b9050919050565b614c9f81614c74565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614cda81613d47565b82525050565b6000614cec8383614cd1565b60208301905092915050565b6000602082019050919050565b6000614d1082614ca5565b614d1a8185614cb0565b9350614d2583614cc1565b8060005b83811015614d56578151614d3d8882614ce0565b9750614d4883614cf8565b925050600181019050614d29565b5085935050505092915050565b600060a082019050614d786000830188613be9565b614d856020830187614c96565b8181036040830152614d978186614d05565b9050614da66060830185613def565b614db36080830184613be9565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614df3601b83613c1e565b9150614dfe82614dbd565b602082019050919050565b60006020820190508181036000830152614e2281614de6565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614e85602183613c1e565b9150614e9082614e29565b604082019050919050565b60006020820190508181036000830152614eb481614e78565b905091905056fea2646970667358221220847a102133bfb029de3f29865e2afc362fd9c7d421d5359f55e805bb5310685a64736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106103015760003560e01c806370a0823111610190578063b6a5d7de116100dc578063df20fd4911610095578063f2fde38b1161006f578063f2fde38b14610bb1578063f887ea4014610bda578063fe9fbb8014610c05578063ffb54a9914610c4257610308565b8063df20fd4914610b34578063e96fada214610b5d578063f0b37c0414610b8857610308565b8063b6a5d7de14610a14578063bd9ab53714610a3d578063c867d60b14610a66578063d7c0103214610aa3578063dccd8bd214610acc578063dd62ed3e14610af757610308565b806386dc53771161014957806395d89b411161012357806395d89b4114610958578063a503160b14610983578063a8aa1b31146109ac578063a9059cbb146109d757610308565b806386dc5377146108c7578063893d20e8146108f05780638b42507f1461091b57610308565b806370a08231146107c9578063715018a61461080657806377b54bad1461081d57806378109e541461085a57806379ba5097146108855780637d1db4a51461089c57610308565b80632b112e491161024f5780634be9d86911610208578063647de05d116101e2578063647de05d1461071f5780636b67c4df1461074a5780636ce46bc3146107755780636ddd17131461079e57610308565b80634be9d8691461068e578063571ac8b0146106b757806361b2620a146106f457610308565b80632b112e49146105585780632f54bf6e14610583578063313ce567146105c05780633f4218e0146105eb57806345ec1d7f1461062857806347d6aee31461066557610308565b806313e3ec46116102bc57806318160ddd1161029657806318160ddd1461049c5780631da1db5e146104c75780631df4ccfc146104f057806323b872dd1461051b57610308565b806313e3ec461461041b578063147284ec14610446578063180b0d7e1461047157610308565b80621086831461030d578062bff446146103365780630445b6671461035f57806306fdde031461038a57806309302dc6146103b5578063095ea7b3146103de57610308565b3661030857005b600080fd5b34801561031957600080fd5b50610334600480360381019061032f9190613b7f565b610c6d565b005b34801561034257600080fd5b5061035d60048036038101906103589190613b7f565b610d9f565b005b34801561036b57600080fd5b50610374610ed1565b6040516103819190613bf8565b60405180910390f35b34801561039657600080fd5b5061039f610ed7565b6040516103ac9190613cac565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190613cfa565b610f10565b005b3480156103ea57600080fd5b5061040560048036038101906104009190613d85565b610fda565b6040516104129190613dd4565b60405180910390f35b34801561042757600080fd5b506104306110cc565b60405161043d9190613bf8565b60405180910390f35b34801561045257600080fd5b5061045b6110d2565b6040516104689190613dfe565b60405180910390f35b34801561047d57600080fd5b506104866110f8565b6040516104939190613bf8565b60405180910390f35b3480156104a857600080fd5b506104b16110fd565b6040516104be9190613bf8565b60405180910390f35b3480156104d357600080fd5b506104ee60048036038101906104e99190613cfa565b61111d565b005b3480156104fc57600080fd5b506105056111d2565b6040516105129190613bf8565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190613e19565b6111d8565b60405161054f9190613dd4565b60405180910390f35b34801561056457600080fd5b5061056d6113d8565b60405161057a9190613bf8565b60405180910390f35b34801561058f57600080fd5b506105aa60048036038101906105a59190613e6c565b611492565b6040516105b79190613dd4565b60405180910390f35b3480156105cc57600080fd5b506105d56114eb565b6040516105e29190613eb5565b60405180910390f35b3480156105f757600080fd5b50610612600480360381019061060d9190613e6c565b6114f0565b60405161061f9190613dd4565b60405180910390f35b34801561063457600080fd5b5061064f600480360381019061064a9190613e6c565b611510565b60405161065c9190613dd4565b60405180910390f35b34801561067157600080fd5b5061068c60048036038101906106879190613b7f565b611530565b005b34801561069a57600080fd5b506106b560048036038101906106b09190613b7f565b611662565b005b3480156106c357600080fd5b506106de60048036038101906106d99190613e6c565b611794565b6040516106eb9190613dd4565b60405180910390f35b34801561070057600080fd5b506107096117c7565b6040516107169190613dd4565b60405180910390f35b34801561072b57600080fd5b506107346117d8565b6040516107419190613dfe565b60405180910390f35b34801561075657600080fd5b5061075f6117fe565b60405161076c9190613bf8565b60405180910390f35b34801561078157600080fd5b5061079c60048036038101906107979190613ed0565b611804565b005b3480156107aa57600080fd5b506107b361186e565b6040516107c09190613dd4565b60405180910390f35b3480156107d557600080fd5b506107f060048036038101906107eb9190613e6c565b611881565b6040516107fd9190613bf8565b60405180910390f35b34801561081257600080fd5b5061081b611899565b005b34801561082957600080fd5b50610844600480360381019061083f9190613d85565b61199d565b6040516108519190613dd4565b60405180910390f35b34801561086657600080fd5b5061086f611af2565b60405161087c9190613bf8565b60405180910390f35b34801561089157600080fd5b5061089a611af8565b005b3480156108a857600080fd5b506108b1611e2e565b6040516108be9190613bf8565b60405180910390f35b3480156108d357600080fd5b506108ee60048036038101906108e99190613f23565b611e34565b005b3480156108fc57600080fd5b50610905611eb3565b6040516109129190613dfe565b60405180910390f35b34801561092757600080fd5b50610942600480360381019061093d9190613e6c565b611edc565b60405161094f9190613dd4565b60405180910390f35b34801561096457600080fd5b5061096d611efc565b60405161097a9190613cac565b60405180910390f35b34801561098f57600080fd5b506109aa60048036038101906109a59190613ed0565b611f35565b005b3480156109b857600080fd5b506109c1611fbc565b6040516109ce9190613dfe565b60405180910390f35b3480156109e357600080fd5b506109fe60048036038101906109f99190613d85565b611fe0565b604051610a0b9190613dd4565b60405180910390f35b348015610a2057600080fd5b50610a3b6004803603810190610a369190613e6c565b611ff5565b005b348015610a4957600080fd5b50610a646004803603810190610a5f9190613cfa565b6120d2565b005b348015610a7257600080fd5b50610a8d6004803603810190610a889190613e6c565b61219c565b604051610a9a9190613dd4565b60405180910390f35b348015610aaf57600080fd5b50610aca6004803603810190610ac59190613f63565b6121bc565b005b348015610ad857600080fd5b50610ae16122cc565b604051610aee9190613bf8565b60405180910390f35b348015610b0357600080fd5b50610b1e6004803603810190610b199190613fb6565b6122d2565b604051610b2b9190613bf8565b60405180910390f35b348015610b4057600080fd5b50610b5b6004803603810190610b569190613ff6565b612359565b005b348015610b6957600080fd5b50610b726123ed565b604051610b7f9190613dfe565b60405180910390f35b348015610b9457600080fd5b50610baf6004803603810190610baa9190613e6c565b612413565b005b348015610bbd57600080fd5b50610bd86004803603810190610bd39190614074565b61257e565b005b348015610be657600080fd5b50610bef61273e565b604051610bfc9190614100565b60405180910390f35b348015610c1157600080fd5b50610c2c6004803603810190610c279190613e6c565b612764565b604051610c399190613dd4565b60405180910390f35b348015610c4e57600080fd5b50610c576127ba565b604051610c649190613dd4565b60405180910390f35b610c7633612764565b610cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cac90614167565b60405180910390fd5b6101f58383905010610cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf3906141f9565b60405180910390fd5b60005b83839050811015610d995781600a6000868685818110610d2257610d21614219565b5b9050602002016020810190610d379190613e6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610d9290614277565b9050610cff565b50505050565b610da833612764565b610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90614167565b60405180910390fd5b6101f58383905010610e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e25906141f9565b60405180910390fd5b60005b83839050811015610ecb578160076000868685818110610e5457610e53614219565b5b9050602002016020810190610e699190613e6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610ec490614277565b9050610e31565b50505050565b60165481565b6040518060400160405280600581526020017f51414e4f4e00000000000000000000000000000000000000000000000000000081525081565b610f1933611492565b610f58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4f9061430b565b60405180910390fd5b6005811015610f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f939061439d565b60405180910390fd5b6103e8816009600a610fae91906144f0565b633b9aca00610fbd919061453b565b610fc7919061453b565b610fd191906145c4565b60048190555050565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516110ba9190613bf8565b60405180910390a36001905092915050565b600c5481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606481565b6009600a61110b91906144f0565b633b9aca0061111a919061453b565b81565b61112633611492565b611165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115c9061430b565b60405180910390fd5b600047905060006064838361117a919061453b565b61118491906145c4565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156111cc573d6000803e3d6000fd5b50505050565b600e5481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146113c457611343826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6113cf848484612831565b90509392505050565b6000600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546009600a61146a91906144f0565b633b9aca00611479919061453b565b61148391906145f5565b61148d91906145f5565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600981565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b61153933612764565b611578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156f90614167565b60405180910390fd5b6101f583839050106115bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b6906141f9565b60405180910390fd5b60005b8383905081101561165c5781600860008686858181106115e5576115e4614219565b5b90506020020160208101906115fa9190613e6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508061165590614277565b90506115c2565b50505050565b61166b33612764565b6116aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a190614167565b60405180910390fd5b6101f583839050106116f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e8906141f9565b60405180910390fd5b60005b8383905081101561178e57816009600086868581811061171757611716614219565b5b905060200201602081019061172c9190613e6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508061178790614277565b90506116f4565b50505050565b60006117c0827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610fda565b9050919050565b60158054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b61180d33612764565b61184c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184390614167565b60405180910390fd5b8160108190555082600f8190555080601181905550611869612fbe565b505050565b601560169054906101000a900460ff1681565b60056020528060005260406000206000915090505481565b6118a233611492565b6118e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d89061430b565b60405180910390fd5b6000600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006119a833611492565b6119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de9061430b565b60405180910390fd5b60008203611a6c578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611a289190613dfe565b602060405180830381865afa158015611a45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a69919061463e565b91505b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401611aa792919061466b565b6020604051808303816000875af1158015611ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aea91906146a9565b905092915050565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7f9061476e565b60405180910390fd5b6000600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b950560008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000604051611ccd92919061478e565b60405180910390a17fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b9505600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001604051611d2992919061478e565b60405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611e249190613dfe565b60405180910390a1565b60035481565b611e3d33611492565b611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e739061430b565b60405180910390fd5b80601560146101000a81548160ff021916908315150217905550816015806101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6040518060400160405280600781526020017f575747315747410000000000000000000000000000000000000000000000000081525081565b611f3e33611492565b611f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f749061430b565b60405180910390fd5b82600b8190555081600c8190555080600d81905550808284611f9f91906147b7565b611fa991906147b7565b600e81905550611fb7612fbe565b505050565b7f0000000000000000000000003a34981e45c988c6a4daf2405bf1207b3ac6a27381565b6000611fed338484612831565b905092915050565b611ffe33611492565b61203d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120349061430b565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b95058160016040516120c792919061478e565b60405180910390a150565b6120db33611492565b61211a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121119061430b565b60405180910390fd5b600581101561215e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121559061487f565b60405180910390fd5b6103e8816009600a61217091906144f0565b633b9aca0061217f919061453b565b612189919061453b565b61219391906145c4565b60038190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6121c533611492565b612204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fb9061430b565b60405180910390fd5b82601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61236233611492565b6123a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123989061430b565b60405180910390fd5b81601560166101000a81548160ff021916908315150217905550806009600a6123ca91906144f0565b633b9aca006123d9919061453b565b6123e391906145c4565b6016819055505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61241c33611492565b61245b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124529061430b565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e0906148eb565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b950581600060405161257392919061478e565b60405180910390a150565b61258733611492565b6125c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bd9061430b565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264b90614957565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036126c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ba906149c3565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef222816040516127339190614a04565b60405180910390a150565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601560149054906101000a900460ff1681565b6000838311158290612815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280c9190613cac565b60405180910390fd5b506000838561282491906145f5565b9050809150509392505050565b6000601760009054906101000a900460ff161561285a5761285384848461309a565b9050612fb7565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128fe5750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a4657601560149054906101000a900460ff16612952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294990614a6b565b60405180910390fd5b60158054906101000a900460ff16612a4557600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612a055750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3b90614a6b565b60405180910390fd5b5b5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612aea5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b405750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b9857507f0000000000000000000000003a34981e45c988c6a4daf2405bf1207b3ac6a27373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612c2d5760045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612beb91906147b7565b1115612c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c2390614ad7565b60405180910390fd5b5b60035482111580612c875750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612cdb5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1190614b43565b60405180910390fd5b612d2261326d565b15612d3057612d2f613342565b5b612db9826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612e9f5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612eb357612eae8584866136c0565b612eb5565b825b9050612f0981600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390990919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fa99190613bf8565b60405180910390a360019150505b9392505050565b6007612fea6064612fdc600f54600e5461396790919063ffffffff16565b6139e190919063ffffffff16565b111561302b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302290614baf565b60405180910390fd5b60076130576064613049601054600e5461396790919063ffffffff16565b6139e190919063ffffffff16565b1115613098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308f90614c1b565b60405180910390fd5b565b6000613125826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131ba82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390990919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161325a9190613bf8565b60405180910390a3600190509392505050565b60007f0000000000000000000000003a34981e45c988c6a4daf2405bf1207b3ac6a27373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156132d85750601760009054906101000a900460ff16155b80156132f05750601560169054906101000a900460ff165b801561333d5750601654600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601760006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561337a57613379614c3b565b5b6040519080825280602002602001820160405280156133a85781602001602082028036833780820191505090505b50905030816000815181106133c0576133bf614219565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061342f5761342e614219565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94760165460008430426040518663ffffffff1660e01b81526004016134cf959493929190614d63565b600060405180830381600087803b1580156134e957600080fd5b505af11580156134fd573d6000803e3d6000fd5b5050505060004790506000600e54600b5483613519919061453b565b61352391906145c4565b90506000600e54600c5484613538919061453b565b61354291906145c4565b90506000600e54600d5485613557919061453b565b61356191906145c4565b9050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156135cb573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015613634573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561369d573d6000803e3d6000fd5b5050505050506000601760006101000a81548160ff021916908315150217905550565b6000808314806136d257506000600e54145b156136df57829050613902565b600060115490507f0000000000000000000000003a34981e45c988c6a4daf2405bf1207b3ac6a27373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361374357601054905061379d565b7f0000000000000000000000003a34981e45c988c6a4daf2405bf1207b3ac6a27373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361379c57600f5490505b5b60006137e46064806137af919061453b565b6137d6846137c8600e548a61396790919063ffffffff16565b61396790919063ffffffff16565b6139e190919063ffffffff16565b905060008111156138ea5761384181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461390990919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516138e19190613bf8565b60405180910390a35b6138fd8186613a2b90919063ffffffff16565b925050505b9392505050565b600080828461391891906147b7565b90508381101561395d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161395490614e09565b60405180910390fd5b8091505092915050565b600080830361397957600090506139db565b60008284613987919061453b565b905082848261399691906145c4565b146139d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139cd90614e9b565b60405180910390fd5b809150505b92915050565b6000613a2383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613a75565b905092915050565b6000613a6d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506127cd565b905092915050565b60008083118290613abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ab39190613cac565b60405180910390fd5b5060008385613acb91906145c4565b9050809150509392505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112613b0757613b06613ae2565b5b8235905067ffffffffffffffff811115613b2457613b23613ae7565b5b602083019150836020820283011115613b4057613b3f613aec565b5b9250929050565b60008115159050919050565b613b5c81613b47565b8114613b6757600080fd5b50565b600081359050613b7981613b53565b92915050565b600080600060408486031215613b9857613b97613ad8565b5b600084013567ffffffffffffffff811115613bb657613bb5613add565b5b613bc286828701613af1565b93509350506020613bd586828701613b6a565b9150509250925092565b6000819050919050565b613bf281613bdf565b82525050565b6000602082019050613c0d6000830184613be9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613c4d578082015181840152602081019050613c32565b83811115613c5c576000848401525b50505050565b6000601f19601f8301169050919050565b6000613c7e82613c13565b613c888185613c1e565b9350613c98818560208601613c2f565b613ca181613c62565b840191505092915050565b60006020820190508181036000830152613cc68184613c73565b905092915050565b613cd781613bdf565b8114613ce257600080fd5b50565b600081359050613cf481613cce565b92915050565b600060208284031215613d1057613d0f613ad8565b5b6000613d1e84828501613ce5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613d5282613d27565b9050919050565b613d6281613d47565b8114613d6d57600080fd5b50565b600081359050613d7f81613d59565b92915050565b60008060408385031215613d9c57613d9b613ad8565b5b6000613daa85828601613d70565b9250506020613dbb85828601613ce5565b9150509250929050565b613dce81613b47565b82525050565b6000602082019050613de96000830184613dc5565b92915050565b613df881613d47565b82525050565b6000602082019050613e136000830184613def565b92915050565b600080600060608486031215613e3257613e31613ad8565b5b6000613e4086828701613d70565b9350506020613e5186828701613d70565b9250506040613e6286828701613ce5565b9150509250925092565b600060208284031215613e8257613e81613ad8565b5b6000613e9084828501613d70565b91505092915050565b600060ff82169050919050565b613eaf81613e99565b82525050565b6000602082019050613eca6000830184613ea6565b92915050565b600080600060608486031215613ee957613ee8613ad8565b5b6000613ef786828701613ce5565b9350506020613f0886828701613ce5565b9250506040613f1986828701613ce5565b9150509250925092565b60008060408385031215613f3a57613f39613ad8565b5b6000613f4885828601613b6a565b9250506020613f5985828601613b6a565b9150509250929050565b600080600060608486031215613f7c57613f7b613ad8565b5b6000613f8a86828701613d70565b9350506020613f9b86828701613d70565b9250506040613fac86828701613d70565b9150509250925092565b60008060408385031215613fcd57613fcc613ad8565b5b6000613fdb85828601613d70565b9250506020613fec85828601613d70565b9150509250929050565b6000806040838503121561400d5761400c613ad8565b5b600061401b85828601613b6a565b925050602061402c85828601613ce5565b9150509250929050565b600061404182613d27565b9050919050565b61405181614036565b811461405c57600080fd5b50565b60008135905061406e81614048565b92915050565b60006020828403121561408a57614089613ad8565b5b60006140988482850161405f565b91505092915050565b6000819050919050565b60006140c66140c16140bc84613d27565b6140a1565b613d27565b9050919050565b60006140d8826140ab565b9050919050565b60006140ea826140cd565b9050919050565b6140fa816140df565b82525050565b600060208201905061411560008301846140f1565b92915050565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b6000614151600b83613c1e565b915061415c8261411b565b602082019050919050565b6000602082019050818103600083015261418081614144565b9050919050565b7f474153204572726f723a206d6178206c696d697420697320353030206164647260008201527f6573736573000000000000000000000000000000000000000000000000000000602082015250565b60006141e3602583613c1e565b91506141ee82614187565b604082019050919050565b60006020820190508181036000830152614212816141d6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061428282613bdf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036142b4576142b3614248565b5b600182019050919050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b60006142f5600683613c1e565b9150614300826142bf565b602082019050919050565b60006020820190508181036000830152614324816142e8565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000614387602483613c1e565b91506143928261432b565b604082019050919050565b600060208201905081810360008301526143b68161437a565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115614414578086048111156143f0576143ef614248565b5b60018516156143ff5780820291505b808102905061440d856143bd565b94506143d4565b94509492505050565b60008261442d57600190506144e9565b8161443b57600090506144e9565b8160018114614451576002811461445b5761448a565b60019150506144e9565b60ff84111561446d5761446c614248565b5b8360020a91508482111561448457614483614248565b5b506144e9565b5060208310610133831016604e8410600b84101617156144bf5782820a9050838111156144ba576144b9614248565b5b6144e9565b6144cc84848460016143ca565b925090508184048111156144e3576144e2614248565b5b81810290505b9392505050565b60006144fb82613bdf565b915061450683613e99565b92506145337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461441d565b905092915050565b600061454682613bdf565b915061455183613bdf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561458a57614589614248565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006145cf82613bdf565b91506145da83613bdf565b9250826145ea576145e9614595565b5b828204905092915050565b600061460082613bdf565b915061460b83613bdf565b92508282101561461e5761461d614248565b5b828203905092915050565b60008151905061463881613cce565b92915050565b60006020828403121561465457614653613ad8565b5b600061466284828501614629565b91505092915050565b60006040820190506146806000830185613def565b61468d6020830184613be9565b9392505050565b6000815190506146a381613b53565b92915050565b6000602082840312156146bf576146be613ad8565b5b60006146cd84828501614694565b91505092915050565b7f596f75206d757374206265206e6f6d696e6174656420617320706f74656e746960008201527f616c206f776e6572206265666f726520796f752063616e20616363657074207460208201527f686520726f6c652e000000000000000000000000000000000000000000000000604082015250565b6000614758604883613c1e565b9150614763826146d6565b606082019050919050565b600060208201905081810360008301526147878161474b565b9050919050565b60006040820190506147a36000830185613def565b6147b06020830184613dc5565b9392505050565b60006147c282613bdf565b91506147cd83613bdf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561480257614801614248565b5b828201905092915050565b7f43616e6e6f7420736574206d6178207472616e73616374696f6e206c6573732060008201527f7468616e20302e35250000000000000000000000000000000000000000000000602082015250565b6000614869602983613c1e565b91506148748261480d565b604082019050919050565b600060208201905081810360008301526148988161485c565b9050919050565b7f4f574e45522063616e7420626520756e617574686f72697a6564000000000000600082015250565b60006148d5601a83613c1e565b91506148e08261489f565b602082019050919050565b60006020820190508181036000830152614904816148c8565b9050919050565b7f416c726561647920746865206f776e6572000000000000000000000000000000600082015250565b6000614941601183613c1e565b915061494c8261490b565b602082019050919050565b6000602082019050818103600083015261497081614934565b9050919050565b7f43616e206e6f74206265207a65726f20616464726573732e0000000000000000600082015250565b60006149ad601883613c1e565b91506149b882614977565b602082019050919050565b600060208201905081810360008301526149dc816149a0565b9050919050565b60006149ee826140cd565b9050919050565b6149fe816149e3565b82525050565b6000602082019050614a1960008301846149f5565b92915050565b7f74726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b6000614a55601483613c1e565b9150614a6082614a1f565b602082019050919050565b60006020820190508181036000830152614a8481614a48565b9050919050565b7f6d61782077616c6c6574206c696d697420726561636865640000000000000000600082015250565b6000614ac1601883613c1e565b9150614acc82614a8b565b602082019050919050565b60006020820190508181036000830152614af081614ab4565b9050919050565b7f4d6178205458204c696d69742045786365656465640000000000000000000000600082015250565b6000614b2d601583613c1e565b9150614b3882614af7565b602082019050919050565b60006020820190508181036000830152614b5c81614b20565b9050919050565b7f427579207461782063616e6e6f74206265206d6f7265207468616e2037250000600082015250565b6000614b99601e83613c1e565b9150614ba482614b63565b602082019050919050565b60006020820190508181036000830152614bc881614b8c565b9050919050565b7f53656c6c207461782063616e6e6f74206265206d6f7265207468616e20372500600082015250565b6000614c05601f83613c1e565b9150614c1082614bcf565b602082019050919050565b60006020820190508181036000830152614c3481614bf8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000614c8f614c8a614c8584614c6a565b6140a1565b613bdf565b9050919050565b614c9f81614c74565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614cda81613d47565b82525050565b6000614cec8383614cd1565b60208301905092915050565b6000602082019050919050565b6000614d1082614ca5565b614d1a8185614cb0565b9350614d2583614cc1565b8060005b83811015614d56578151614d3d8882614ce0565b9750614d4883614cf8565b925050600181019050614d29565b5085935050505092915050565b600060a082019050614d786000830188613be9565b614d856020830187614c96565b8181036040830152614d978186614d05565b9050614da66060830185613def565b614db36080830184613be9565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614df3601b83613c1e565b9150614dfe82614dbd565b602082019050919050565b60006020820190508181036000830152614e2281614de6565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614e85602183613c1e565b9150614e9082614e29565b604082019050919050565b60006020820190508181036000830152614eb481614e78565b905091905056fea2646970667358221220847a102133bfb029de3f29865e2afc362fd9c7d421d5359f55e805bb5310685a64736f6c634300080f0033

Deployed Bytecode Sourcemap

4448:11333:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13727:311;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13113:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6019:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4704:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8472:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7576:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5396:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5790:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5543:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4839:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11543:259;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5470:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8094:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15641:137;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2693:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4796:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5145:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5196:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14046:285;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13416:303;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7800:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5939:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5753:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5358:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14584:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5981:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5023:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3190:125;;;;;;;;;;;;;:::i;:::-;;11810:286;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4964:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3323:480;;;;;;;;;;;;;:::i;:::-;;4910:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12104:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7351:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5242:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4748:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14817:331;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5863:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7930:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2337:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8741:262;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5297:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15156:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5434:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7435:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15454:179;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5711:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2481:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2919:263;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5832:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2804:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5901:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13727:311;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13862:3:::1;13843:9;;:16;;:22;13835:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13922:9;13917:114;13939:9;;:16;;13935:1;:20;13917:114;;;14013:6;13977:19;:33;13997:9;;14007:1;13997:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13977:33;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;13957:3;;;;:::i;:::-;;;13917:114;;;;13727:311:::0;;;:::o;13113:295::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:3:::1;13221:9;;:16;;:22;13213:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13300:9;13295:106;13317:9;;:16;;13313:1;:20;13295:106;;;13383:6;13355:11;:25;13367:9;;13377:1;13367:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13355:25;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;13335:3;;;;:::i;:::-;;;13295:106;;;;13113:295:::0;;;:::o;6019:49::-;;;;:::o;4704:37::-;;;;;;;;;;;;;;;;;;;:::o;8472:261::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8608:1:::1;8581:23;:28;;8573:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;8721:4;8693:23;4829:1;4889:2;:12;;;;:::i;:::-;4877:9;:24;;;;:::i;:::-;8679:37;;;;:::i;:::-;8678:47;;;;:::i;:::-;8660:15;:65;;;;8472:261:::0;:::o;7576:216::-;7651:4;7703:6;7668:11;:23;7680:10;7668:23;;;;;;;;;;;;;;;:32;7692:7;7668:32;;;;;;;;;;;;;;;:41;;;;7746:7;7725:37;;7734:10;7725:37;;;7755:6;7725:37;;;;;;:::i;:::-;;;;;;;;7780:4;7773:11;;7576:216;;;;:::o;5396:31::-;;;;:::o;5790:33::-;;;;;;;;;;;;;:::o;5543:44::-;5584:3;5543:44;:::o;4839:62::-;4829:1;4889:2;:12;;;;:::i;:::-;4877:9;:24;;;;:::i;:::-;4839:62;:::o;11543:259::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11626:17:::1;11646:21;11626:41;;11678:21;11737:3;11716:16;11704:9;:28;;;;:::i;:::-;11702:38;;;;:::i;:::-;11678:62;;11759:10;11751:28;;:43;11780:13;11751:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11615:187;;11543:259:::0;:::o;5470:66::-;;;;:::o;8094:370::-;8194:4;8249:17;8214:11;:19;8226:6;8214:19;;;;;;;;;;;;;;;:31;8234:10;8214:31;;;;;;;;;;;;;;;;:52;8211:186;;8316:69;8352:6;8316:69;;;;;;;;;;;;;;;;;:11;:19;8328:6;8316:19;;;;;;;;;;;;;;;:31;8336:10;8316:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8282:11;:19;8294:6;8282:19;;;;;;;;;;;;;;;:31;8302:10;8282:31;;;;;;;;;;;;;;;:103;;;;8211:186;8416:40;8430:6;8438:9;8449:6;8416:13;:40::i;:::-;8409:47;;8094:370;;;;;:::o;15641:137::-;15694:7;15754:9;:15;4653:42;15754:15;;;;;;;;;;;;;;;;15736:9;:15;4580:42;15736:15;;;;;;;;;;;;;;;;4829:1;4889:2;:12;;;;:::i;:::-;4877:9;:24;;;;:::i;:::-;15722:29;;;;:::i;:::-;:47;;;;:::i;:::-;15714:56;;15641:137;:::o;2693:103::-;2748:4;2783:5;;;;;;;;;;;2772:16;;:7;:16;;;2765:23;;2693:103;;;:::o;4796:34::-;4829:1;4796:34;:::o;5145:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;5196:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;14046:285::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14168:3:::1;14149:9;;:16;;:22;14141:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14228:9;14223:101;14245:9;;:16;;14241:1;:20;14223:101;;;14306:6;14283;:20;14290:9;;14300:1;14290:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;14283:20;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;14263:3;;;;:::i;:::-;;;14223:101;;;;14046:285:::0;;;:::o;13416:303::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13547:3:::1;13528:9;;:16;;:22;13520:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13607:9;13602:110;13624:9;;:16;;13620:1;:20;13602:110;;;13694:6;13662:15;:29;13678:9;;13688:1;13678:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13662:29;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;13642:3;;;;:::i;:::-;;;13602:110;;;;13416:303:::0;;;:::o;7800:122::-;7855:4;7879:35;7887:7;7896:17;7879:7;:35::i;:::-;7872:42;;7800:122;;;:::o;5939:33::-;;;;;;;;;;;;:::o;5753:30::-;;;;;;;;;;;;;:::o;5358:31::-;;;;:::o;14584:225::-;2278:24;2291:10;2278:12;:24::i;:::-;2270:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14701:5:::1;14684:14;:22;;;;14733:4;14717:13;:20;;;;14769:6;14748:18;:27;;;;14788:13;:11;:13::i;:::-;14584:225:::0;;;:::o;5981:31::-;;;;;;;;;;;;;:::o;5023:45::-;;;;;;;;;;;;;;;;;:::o;3190:125::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3273:5:::1;3249:14;:21;3264:5:::0;::::1;;;;;;;;;;3249:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3305:1;3289:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;3190:125::o:0;11810:286::-;11901:12;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11939:1:::1;11929:6;:11:::0;11926:95:::1;;11971:12;11965:29;;;12003:4;11965:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11956:53;;11926:95;12046:12;12040:28;;;12069:10;12081:6;12040:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12033:55;;11810:286:::0;;;;:::o;4964:50::-;;;;:::o;3323:480::-;3392:14;;;;;;;;;;;3378:28;;:10;:28;;;3370:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;3518:5;3494:14;:21;3509:5;;;;;;;;;;;3494:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3567:4;3534:14;:30;3549:14;;;;;;;;;;;3534:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;3589:29;3606:5;;;;;;;;;;3612;3589:29;;;;;;;:::i;:::-;;;;;;;;3634:37;3651:14;;;;;;;;;;;3666:4;3634:37;;;;;;;:::i;:::-;;;;;;;;3700:14;;;;;;;;;;;3692:5;;:22;;;;;;;;;;;;;;;;;;3750:1;3725:14;;:27;;;;;;;;;;;;;;;;;;3768;3789:5;;;;;;;;;;3768:27;;;;;;:::i;:::-;;;;;;;;3323:480::o;4910:47::-;;;;:::o;12104:142::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12197:7:::1;12183:11;;:21;;;;;;;;;;;;;;;;;;12231:7;12215:13;::::0;:23:::1;;;;;;;;;;;;;;;;;;12104:142:::0;;:::o;7351:78::-;7403:7;7421:5;;;;;;;;;;;7414:12;;7351:78;:::o;5242:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;4748:41::-;;;;;;;;;;;;;;;;;;;:::o;14817:331::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14954:13:::1;14939:12;:28;;;;14993:13;14978:12;:28;;;;15030:11;15017:10;:24;;;;15095:11;15079:13;15063;:29;;;;:::i;:::-;:43;;;;:::i;:::-;15052:8;:54;;;;15127:13;:11;:13::i;:::-;14817:331:::0;;;:::o;5863:29::-;;;:::o;7930:156::-;8010:4;8034:44;8048:10;8060:9;8071:6;8034:13;:44::i;:::-;8027:51;;7930:156;;;;:::o;2337:136::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2419:4:::1;2397:14;:19;2412:3;2397:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;2439;2456:3;2460:4;2439:26;;;;;;;:::i;:::-;;;;;;;;2337:136:::0;:::o;8741:262::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8875:1:::1;8847:24;:29;;8839:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;8991:4;8962:24;4829:1;4889:2;:12;;;;:::i;:::-;4877:9;:24;;;;:::i;:::-;8948:38;;;;:::i;:::-;8947:48;;;;:::i;:::-;8932:12;:63;;;;8741:262:::0;:::o;5297:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;15156:290::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;15321:21:::1;15298:20;;:44;;;;;;;;;;;;;;;;;;15371:16;15353:15;;:34;;;;;;;;;;;;;;;;;;15419:19;15398:18;;:40;;;;;;;;;;;;;;;;;;15156:290:::0;;;:::o;5434:29::-;;;;:::o;7435:133::-;7519:7;7537:11;:19;7549:6;7537:19;;;;;;;;;;;;;;;:28;7557:7;7537:28;;;;;;;;;;;;;;;;7530:35;;7435:133;;;;:::o;15454:179::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;15564:8:::1;15550:11;;:22;;;;;;;;;;;;;;;;;;15613:12;4829:1;4889:2;:12;;;;:::i;:::-;4877:9;:24;;;;:::i;:::-;15599:26;;;;:::i;:::-;15583:13;:42;;;;15454:179:::0;;:::o;5711:35::-;;;;;;;;;;;;;:::o;2481:204::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2560:5:::1;::::0;::::1;;;;;;;;2553:12;;:3;:12;;::::0;2545:51:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2629:5;2607:14;:19;2622:3;2607:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;2650;2667:3;2671:5;2650:27;;;;;;;:::i;:::-;;;;;;;;2481:204:::0;:::o;2919:263::-;2188:19;2196:10;2188:7;:19::i;:::-;2180:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3012:5:::1;::::0;::::1;;;;;;;;3005:12;;:3;:12;;::::0;2997:42:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3073:1;3058:17;;:3;:17;;::::0;3050:54:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3132:3;3115:14;;:20;;;;;;;;;;;;;;;;;;3151:23;3170:3;3151:23;;;;;;:::i;:::-;;;;;;;;2919:263:::0;:::o;5832:24::-;;;;;;;;;;;;;:::o;2804:107::-;2860:4;2884:14;:19;2899:3;2884:19;;;;;;;;;;;;;;;;;;;;;;;;;2877:26;;2804:107;;;:::o;5901:31::-;;;;;;;;;;;;;:::o;422:192::-;508:7;541:1;536;:6;;544:12;528:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;568:9;584:1;580;:5;;;;:::i;:::-;568:17;;605:1;598:8;;;422:192;;;;;:::o;9011:1246::-;9103:4;9123:6;;;;;;;;;;;9120:63;;;9139:41;9154:6;9162:9;9173:6;9139:14;:41::i;:::-;9132:48;;;;9120:63;9199:14;:22;9214:6;9199:22;;;;;;;;;;;;;;;;;;;;;;;;;9198:23;:53;;;;;9226:14;:25;9241:9;9226:25;;;;;;;;;;;;;;;;;;;;;;;;;9225:26;9198:53;9195:258;;;9275:11;;;;;;;;;;;9267:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;9329:13;;;;;;;;;;9325:117;;9367:6;:14;9374:6;9367:14;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;;9385:6;:17;9392:9;9385:17;;;;;;;;;;;;;;;;;;;;;;;;;9367:35;9359:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9325:117;9195:258;9470:14;:22;9485:6;9470:22;;;;;;;;;;;;;;;;;;;;;;;;;9469:23;:55;;;;;9497:19;:27;9517:6;9497:27;;;;;;;;;;;;;;;;;;;;;;;;;9496:28;9469:55;:90;;;;;9529:19;:30;9549:9;9529:30;;;;;;;;;;;;;;;;;;;;;;;;;9528:31;9469:90;:111;;;;;9576:4;9563:17;;:9;:17;;;;9469:111;9465:230;;;9640:15;;9629:6;9606:9;:20;9616:9;9606:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;9605:50;;9597:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;9465:230;9730:12;;9720:6;:22;;9719:51;;;;9747:15;:23;9763:6;9747:23;;;;;;;;;;;;;;;;;;;;;;;;;9719:51;:81;;;;9774:15;:26;9790:9;9774:26;;;;;;;;;;;;;;;;;;;;;;;;;9719:81;9711:115;;;;;;;;;;;;:::i;:::-;;;;;;;;;9842:16;:14;:16::i;:::-;9839:35;;;9861:10;:8;:10::i;:::-;9839:35;9906:53;9928:6;9906:53;;;;;;;;;;;;;;;;;:9;:17;9916:6;9906:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9886:9;:17;9896:6;9886:17;;;;;;;;;;;;;;;:73;;;;9972:22;9998:11;:19;10010:6;9998:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;10021:11;:22;10033:9;10021:22;;;;;;;;;;;;;;;;;;;;;;;;;9998:45;9997:93;;10056:34;10064:6;10072;10080:9;10056:7;:34::i;:::-;9997:93;;;10047:6;9997:93;9972:118;;10126:40;10151:14;10126:9;:20;10136:9;10126:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;10103:9;:20;10113:9;10103:20;;;;;;;;;;;;;;;:63;;;;10201:9;10184:43;;10193:6;10184:43;;;10212:14;10184:43;;;;;;:::i;:::-;;;;;;;;10245:4;10238:11;;;9011:1246;;;;;;:::o;14339:237::-;14435:1;14395:36;14427:3;14395:27;14408:13;;14395:8;;:12;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;:41;;14387:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;14531:1;14490:37;14523:3;14490:28;14503:14;;14490:8;;:12;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;:42;;14482:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;14339:237::o;10269:330::-;10362:4;10399:53;10421:6;10399:53;;;;;;;;;;;;;;;;;:9;:17;10409:6;10399:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;10379:9;:17;10389:6;10379:17;;;;;;;;;;;;;;;:73;;;;10486:32;10511:6;10486:9;:20;10496:9;10486:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10463:9;:20;10473:9;10463:20;;;;;;;;;;;;;;;:55;;;;10551:9;10534:35;;10543:6;10534:35;;;10562:6;10534:35;;;;;;:::i;:::-;;;;;;;;10587:4;10580:11;;10269:330;;;;;:::o;11338:197::-;11387:4;11425;11411:18;;:10;:18;;;;:38;;;;;11443:6;;;;;;;;;;;11442:7;11411:38;:62;;;;;11462:11;;;;;;;;;;;11411:62;:116;;;;;11514:13;;11486:9;:24;11504:4;11486:24;;;;;;;;;;;;;;;;:41;;11411:116;11404:123;;11338:197;:::o;12254:851::-;6124:4;6115:6;;:13;;;;;;;;;;;;;;;;;;12305:21:::1;12343:1;12329:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12305:40;;12374:4;12356;12361:1;12356:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12400:4;12390;12395:1;12390:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;12417:6;;;;;;;;;;;:57;;;12489:13;;12517:1;12533:4;12560;12580:15;12417:189;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12619:17;12639:21;12619:41;;12673:26;12731:8;;12715:12;;12703:9;:24;;;;:::i;:::-;12702:37;;;;:::i;:::-;12673:66;;12750:26;12808:8;;12792:12;;12780:9;:24;;;;:::i;:::-;12779:37;;;;:::i;:::-;12750:66;;12827:28;12885:8;;12871:10;;12859:9;:22;;;;:::i;:::-;12858:35;;;;:::i;:::-;12827:66;;12914:20;;;;;;;;;;;12906:38;;:58;12945:18;12906:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;12983:15;;;;;;;;;;;12975:33;;:53;13009:18;12975:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13047:18;;;;;;;;;;;13039:36;;:58;13076:20;13039:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;12292:813;;;;;6142:5:::0;6133:6;;:14;;;;;;;;;;;;;;;;;;12254:851::o;10607:723::-;10693:7;10726:1;10716:6;:11;:28;;;;10743:1;10731:8;;:13;10716:28;10713:72;;;10767:6;10760:13;;;;10713:72;10797:18;10818;;10797:39;;10865:4;10852:17;;:9;:17;;;10849:154;;10899:14;;10886:27;;10849:154;;;10944:4;10934:14;;:6;:14;;;10931:72;;10978:13;;10965:26;;10931:72;10849:154;11015:17;11035:62;11093:3;5584;11076:20;;;;:::i;:::-;11035:36;11060:10;11035:20;11046:8;;11035:6;:10;;:20;;;;:::i;:::-;:24;;:36;;;;:::i;:::-;:40;;:62;;;;:::i;:::-;11015:82;;11125:1;11113:9;:13;11110:172;;;11169:39;11198:9;11169;:24;11187:4;11169:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11142:9;:24;11160:4;11142:24;;;;;;;;;;;;;;;:66;;;;11253:4;11228:42;;11237:6;11228:42;;;11260:9;11228:42;;;;;;:::i;:::-;;;;;;;;11110:172;11301:21;11312:9;11301:6;:10;;:21;;;;:::i;:::-;11294:28;;;;10607:723;;;;;;:::o;93:181::-;151:7;171:9;187:1;183;:5;;;;:::i;:::-;171:17;;212:1;207;:6;;199:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;265:1;258:8;;;93:181;;;;:::o;620:250::-;678:7;707:1;702;:6;698:47;;732:1;725:8;;;;698:47;757:9;773:1;769;:5;;;;:::i;:::-;757:17;;802:1;797;793;:5;;;;:::i;:::-;:10;785:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;861:1;854:8;;;620:250;;;;;:::o;876:132::-;934:7;961:39;965:1;968;961:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;954:46;;876:132;;;;:::o;280:136::-;338:7;365:43;369:1;372;365:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;358:50;;280:136;;;;:::o;1014:189::-;1100:7;1132:1;1128;:5;1135:12;1120:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1159:9;1175:1;1171;:5;;;;:::i;:::-;1159:17;;1194:1;1187:8;;;1014:189;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:117;689:1;686;679:12;720:568;793:8;803:6;853:3;846:4;838:6;834:17;830:27;820:122;;861:79;;:::i;:::-;820:122;974:6;961:20;951:30;;1004:18;996:6;993:30;990:117;;;1026:79;;:::i;:::-;990:117;1140:4;1132:6;1128:17;1116:29;;1194:3;1186:4;1178:6;1174:17;1164:8;1160:32;1157:41;1154:128;;;1201:79;;:::i;:::-;1154:128;720:568;;;;;:::o;1294:90::-;1328:7;1371:5;1364:13;1357:21;1346:32;;1294:90;;;:::o;1390:116::-;1460:21;1475:5;1460:21;:::i;:::-;1453:5;1450:32;1440:60;;1496:1;1493;1486:12;1440:60;1390:116;:::o;1512:133::-;1555:5;1593:6;1580:20;1571:29;;1609:30;1633:5;1609:30;:::i;:::-;1512:133;;;;:::o;1651:698::-;1743:6;1751;1759;1808:2;1796:9;1787:7;1783:23;1779:32;1776:119;;;1814:79;;:::i;:::-;1776:119;1962:1;1951:9;1947:17;1934:31;1992:18;1984:6;1981:30;1978:117;;;2014:79;;:::i;:::-;1978:117;2127:80;2199:7;2190:6;2179:9;2175:22;2127:80;:::i;:::-;2109:98;;;;1905:312;2256:2;2282:50;2324:7;2315:6;2304:9;2300:22;2282:50;:::i;:::-;2272:60;;2227:115;1651:698;;;;;:::o;2355:77::-;2392:7;2421:5;2410:16;;2355:77;;;:::o;2438:118::-;2525:24;2543:5;2525:24;:::i;:::-;2520:3;2513:37;2438:118;;:::o;2562:222::-;2655:4;2693:2;2682:9;2678:18;2670:26;;2706:71;2774:1;2763:9;2759:17;2750:6;2706:71;:::i;:::-;2562:222;;;;:::o;2790:99::-;2842:6;2876:5;2870:12;2860:22;;2790:99;;;:::o;2895:169::-;2979:11;3013:6;3008:3;3001:19;3053:4;3048:3;3044:14;3029:29;;2895:169;;;;:::o;3070:307::-;3138:1;3148:113;3162:6;3159:1;3156:13;3148:113;;;3247:1;3242:3;3238:11;3232:18;3228:1;3223:3;3219:11;3212:39;3184:2;3181:1;3177:10;3172:15;;3148:113;;;3279:6;3276:1;3273:13;3270:101;;;3359:1;3350:6;3345:3;3341:16;3334:27;3270:101;3119:258;3070:307;;;:::o;3383:102::-;3424:6;3475:2;3471:7;3466:2;3459:5;3455:14;3451:28;3441:38;;3383:102;;;:::o;3491:364::-;3579:3;3607:39;3640:5;3607:39;:::i;:::-;3662:71;3726:6;3721:3;3662:71;:::i;:::-;3655:78;;3742:52;3787:6;3782:3;3775:4;3768:5;3764:16;3742:52;:::i;:::-;3819:29;3841:6;3819:29;:::i;:::-;3814:3;3810:39;3803:46;;3583:272;3491:364;;;;:::o;3861:313::-;3974:4;4012:2;4001:9;3997:18;3989:26;;4061:9;4055:4;4051:20;4047:1;4036:9;4032:17;4025:47;4089:78;4162:4;4153:6;4089:78;:::i;:::-;4081:86;;3861:313;;;;:::o;4180:122::-;4253:24;4271:5;4253:24;:::i;:::-;4246:5;4243:35;4233:63;;4292:1;4289;4282:12;4233:63;4180:122;:::o;4308:139::-;4354:5;4392:6;4379:20;4370:29;;4408:33;4435:5;4408:33;:::i;:::-;4308:139;;;;:::o;4453:329::-;4512:6;4561:2;4549:9;4540:7;4536:23;4532:32;4529:119;;;4567:79;;:::i;:::-;4529:119;4687:1;4712:53;4757:7;4748:6;4737:9;4733:22;4712:53;:::i;:::-;4702:63;;4658:117;4453:329;;;;:::o;4788:126::-;4825:7;4865:42;4858:5;4854:54;4843:65;;4788:126;;;:::o;4920:96::-;4957:7;4986:24;5004:5;4986:24;:::i;:::-;4975:35;;4920:96;;;:::o;5022:122::-;5095:24;5113:5;5095:24;:::i;:::-;5088:5;5085:35;5075:63;;5134:1;5131;5124:12;5075:63;5022:122;:::o;5150:139::-;5196:5;5234:6;5221:20;5212:29;;5250:33;5277:5;5250:33;:::i;:::-;5150:139;;;;:::o;5295:474::-;5363:6;5371;5420:2;5408:9;5399:7;5395:23;5391:32;5388:119;;;5426:79;;:::i;:::-;5388:119;5546:1;5571:53;5616:7;5607:6;5596:9;5592:22;5571:53;:::i;:::-;5561:63;;5517:117;5673:2;5699:53;5744:7;5735:6;5724:9;5720:22;5699:53;:::i;:::-;5689:63;;5644:118;5295:474;;;;;:::o;5775:109::-;5856:21;5871:5;5856:21;:::i;:::-;5851:3;5844:34;5775:109;;:::o;5890:210::-;5977:4;6015:2;6004:9;6000:18;5992:26;;6028:65;6090:1;6079:9;6075:17;6066:6;6028:65;:::i;:::-;5890:210;;;;:::o;6106:118::-;6193:24;6211:5;6193:24;:::i;:::-;6188:3;6181:37;6106:118;;:::o;6230:222::-;6323:4;6361:2;6350:9;6346:18;6338:26;;6374:71;6442:1;6431:9;6427:17;6418:6;6374:71;:::i;:::-;6230:222;;;;:::o;6458:619::-;6535:6;6543;6551;6600:2;6588:9;6579:7;6575:23;6571:32;6568:119;;;6606:79;;:::i;:::-;6568:119;6726:1;6751:53;6796:7;6787:6;6776:9;6772:22;6751:53;:::i;:::-;6741:63;;6697:117;6853:2;6879:53;6924:7;6915:6;6904:9;6900:22;6879:53;:::i;:::-;6869:63;;6824:118;6981:2;7007:53;7052:7;7043:6;7032:9;7028:22;7007:53;:::i;:::-;6997:63;;6952:118;6458:619;;;;;:::o;7083:329::-;7142:6;7191:2;7179:9;7170:7;7166:23;7162:32;7159:119;;;7197:79;;:::i;:::-;7159:119;7317:1;7342:53;7387:7;7378:6;7367:9;7363:22;7342:53;:::i;:::-;7332:63;;7288:117;7083:329;;;;:::o;7418:86::-;7453:7;7493:4;7486:5;7482:16;7471:27;;7418:86;;;:::o;7510:112::-;7593:22;7609:5;7593:22;:::i;:::-;7588:3;7581:35;7510:112;;:::o;7628:214::-;7717:4;7755:2;7744:9;7740:18;7732:26;;7768:67;7832:1;7821:9;7817:17;7808:6;7768:67;:::i;:::-;7628:214;;;;:::o;7848:619::-;7925:6;7933;7941;7990:2;7978:9;7969:7;7965:23;7961:32;7958:119;;;7996:79;;:::i;:::-;7958:119;8116:1;8141:53;8186:7;8177:6;8166:9;8162:22;8141:53;:::i;:::-;8131:63;;8087:117;8243:2;8269:53;8314:7;8305:6;8294:9;8290:22;8269:53;:::i;:::-;8259:63;;8214:118;8371:2;8397:53;8442:7;8433:6;8422:9;8418:22;8397:53;:::i;:::-;8387:63;;8342:118;7848:619;;;;;:::o;8473:462::-;8535:6;8543;8592:2;8580:9;8571:7;8567:23;8563:32;8560:119;;;8598:79;;:::i;:::-;8560:119;8718:1;8743:50;8785:7;8776:6;8765:9;8761:22;8743:50;:::i;:::-;8733:60;;8689:114;8842:2;8868:50;8910:7;8901:6;8890:9;8886:22;8868:50;:::i;:::-;8858:60;;8813:115;8473:462;;;;;:::o;8941:619::-;9018:6;9026;9034;9083:2;9071:9;9062:7;9058:23;9054:32;9051:119;;;9089:79;;:::i;:::-;9051:119;9209:1;9234:53;9279:7;9270:6;9259:9;9255:22;9234:53;:::i;:::-;9224:63;;9180:117;9336:2;9362:53;9407:7;9398:6;9387:9;9383:22;9362:53;:::i;:::-;9352:63;;9307:118;9464:2;9490:53;9535:7;9526:6;9515:9;9511:22;9490:53;:::i;:::-;9480:63;;9435:118;8941:619;;;;;:::o;9566:474::-;9634:6;9642;9691:2;9679:9;9670:7;9666:23;9662:32;9659:119;;;9697:79;;:::i;:::-;9659:119;9817:1;9842:53;9887:7;9878:6;9867:9;9863:22;9842:53;:::i;:::-;9832:63;;9788:117;9944:2;9970:53;10015:7;10006:6;9995:9;9991:22;9970:53;:::i;:::-;9960:63;;9915:118;9566:474;;;;;:::o;10046:468::-;10111:6;10119;10168:2;10156:9;10147:7;10143:23;10139:32;10136:119;;;10174:79;;:::i;:::-;10136:119;10294:1;10319:50;10361:7;10352:6;10341:9;10337:22;10319:50;:::i;:::-;10309:60;;10265:114;10418:2;10444:53;10489:7;10480:6;10469:9;10465:22;10444:53;:::i;:::-;10434:63;;10389:118;10046:468;;;;;:::o;10520:104::-;10565:7;10594:24;10612:5;10594:24;:::i;:::-;10583:35;;10520:104;;;:::o;10630:138::-;10711:32;10737:5;10711:32;:::i;:::-;10704:5;10701:43;10691:71;;10758:1;10755;10748:12;10691:71;10630:138;:::o;10774:155::-;10828:5;10866:6;10853:20;10844:29;;10882:41;10917:5;10882:41;:::i;:::-;10774:155;;;;:::o;10935:345::-;11002:6;11051:2;11039:9;11030:7;11026:23;11022:32;11019:119;;;11057:79;;:::i;:::-;11019:119;11177:1;11202:61;11255:7;11246:6;11235:9;11231:22;11202:61;:::i;:::-;11192:71;;11148:125;10935:345;;;;:::o;11286:60::-;11314:3;11335:5;11328:12;;11286:60;;;:::o;11352:142::-;11402:9;11435:53;11453:34;11462:24;11480:5;11462:24;:::i;:::-;11453:34;:::i;:::-;11435:53;:::i;:::-;11422:66;;11352:142;;;:::o;11500:126::-;11550:9;11583:37;11614:5;11583:37;:::i;:::-;11570:50;;11500:126;;;:::o;11632:144::-;11700:9;11733:37;11764:5;11733:37;:::i;:::-;11720:50;;11632:144;;;:::o;11782:167::-;11887:55;11936:5;11887:55;:::i;:::-;11882:3;11875:68;11782:167;;:::o;11955:258::-;12066:4;12104:2;12093:9;12089:18;12081:26;;12117:89;12203:1;12192:9;12188:17;12179:6;12117:89;:::i;:::-;11955:258;;;;:::o;12219:161::-;12359:13;12355:1;12347:6;12343:14;12336:37;12219:161;:::o;12386:366::-;12528:3;12549:67;12613:2;12608:3;12549:67;:::i;:::-;12542:74;;12625:93;12714:3;12625:93;:::i;:::-;12743:2;12738:3;12734:12;12727:19;;12386:366;;;:::o;12758:419::-;12924:4;12962:2;12951:9;12947:18;12939:26;;13011:9;13005:4;13001:20;12997:1;12986:9;12982:17;12975:47;13039:131;13165:4;13039:131;:::i;:::-;13031:139;;12758:419;;;:::o;13183:224::-;13323:34;13319:1;13311:6;13307:14;13300:58;13392:7;13387:2;13379:6;13375:15;13368:32;13183:224;:::o;13413:366::-;13555:3;13576:67;13640:2;13635:3;13576:67;:::i;:::-;13569:74;;13652:93;13741:3;13652:93;:::i;:::-;13770:2;13765:3;13761:12;13754:19;;13413:366;;;:::o;13785:419::-;13951:4;13989:2;13978:9;13974:18;13966:26;;14038:9;14032:4;14028:20;14024:1;14013:9;14009:17;14002:47;14066:131;14192:4;14066:131;:::i;:::-;14058:139;;13785:419;;;:::o;14210:180::-;14258:77;14255:1;14248:88;14355:4;14352:1;14345:15;14379:4;14376:1;14369:15;14396:180;14444:77;14441:1;14434:88;14541:4;14538:1;14531:15;14565:4;14562:1;14555:15;14582:233;14621:3;14644:24;14662:5;14644:24;:::i;:::-;14635:33;;14690:66;14683:5;14680:77;14677:103;;14760:18;;:::i;:::-;14677:103;14807:1;14800:5;14796:13;14789:20;;14582:233;;;:::o;14821:156::-;14961:8;14957:1;14949:6;14945:14;14938:32;14821:156;:::o;14983:365::-;15125:3;15146:66;15210:1;15205:3;15146:66;:::i;:::-;15139:73;;15221:93;15310:3;15221:93;:::i;:::-;15339:2;15334:3;15330:12;15323:19;;14983:365;;;:::o;15354:419::-;15520:4;15558:2;15547:9;15543:18;15535:26;;15607:9;15601:4;15597:20;15593:1;15582:9;15578:17;15571:47;15635:131;15761:4;15635:131;:::i;:::-;15627:139;;15354:419;;;:::o;15779:223::-;15919:34;15915:1;15907:6;15903:14;15896:58;15988:6;15983:2;15975:6;15971:15;15964:31;15779:223;:::o;16008:366::-;16150:3;16171:67;16235:2;16230:3;16171:67;:::i;:::-;16164:74;;16247:93;16336:3;16247:93;:::i;:::-;16365:2;16360:3;16356:12;16349:19;;16008:366;;;:::o;16380:419::-;16546:4;16584:2;16573:9;16569:18;16561:26;;16633:9;16627:4;16623:20;16619:1;16608:9;16604:17;16597:47;16661:131;16787:4;16661:131;:::i;:::-;16653:139;;16380:419;;;:::o;16805:102::-;16847:8;16894:5;16891:1;16887:13;16866:34;;16805:102;;;:::o;16913:848::-;16974:5;16981:4;17005:6;16996:15;;17029:5;17020:14;;17043:712;17064:1;17054:8;17051:15;17043:712;;;17159:4;17154:3;17150:14;17144:4;17141:24;17138:50;;;17168:18;;:::i;:::-;17138:50;17218:1;17208:8;17204:16;17201:451;;;17633:4;17626:5;17622:16;17613:25;;17201:451;17683:4;17677;17673:15;17665:23;;17713:32;17736:8;17713:32;:::i;:::-;17701:44;;17043:712;;;16913:848;;;;;;;:::o;17767:1073::-;17821:5;18012:8;18002:40;;18033:1;18024:10;;18035:5;;18002:40;18061:4;18051:36;;18078:1;18069:10;;18080:5;;18051:36;18147:4;18195:1;18190:27;;;;18231:1;18226:191;;;;18140:277;;18190:27;18208:1;18199:10;;18210:5;;;18226:191;18271:3;18261:8;18258:17;18255:43;;;18278:18;;:::i;:::-;18255:43;18327:8;18324:1;18320:16;18311:25;;18362:3;18355:5;18352:14;18349:40;;;18369:18;;:::i;:::-;18349:40;18402:5;;;18140:277;;18526:2;18516:8;18513:16;18507:3;18501:4;18498:13;18494:36;18476:2;18466:8;18463:16;18458:2;18452:4;18449:12;18445:35;18429:111;18426:246;;;18582:8;18576:4;18572:19;18563:28;;18617:3;18610:5;18607:14;18604:40;;;18624:18;;:::i;:::-;18604:40;18657:5;;18426:246;18697:42;18735:3;18725:8;18719:4;18716:1;18697:42;:::i;:::-;18682:57;;;;18771:4;18766:3;18762:14;18755:5;18752:25;18749:51;;;18780:18;;:::i;:::-;18749:51;18829:4;18822:5;18818:16;18809:25;;17767:1073;;;;;;:::o;18846:281::-;18904:5;18928:23;18946:4;18928:23;:::i;:::-;18920:31;;18972:25;18988:8;18972:25;:::i;:::-;18960:37;;19016:104;19053:66;19043:8;19037:4;19016:104;:::i;:::-;19007:113;;18846:281;;;;:::o;19133:348::-;19173:7;19196:20;19214:1;19196:20;:::i;:::-;19191:25;;19230:20;19248:1;19230:20;:::i;:::-;19225:25;;19418:1;19350:66;19346:74;19343:1;19340:81;19335:1;19328:9;19321:17;19317:105;19314:131;;;19425:18;;:::i;:::-;19314:131;19473:1;19470;19466:9;19455:20;;19133:348;;;;:::o;19487:180::-;19535:77;19532:1;19525:88;19632:4;19629:1;19622:15;19656:4;19653:1;19646:15;19673:185;19713:1;19730:20;19748:1;19730:20;:::i;:::-;19725:25;;19764:20;19782:1;19764:20;:::i;:::-;19759:25;;19803:1;19793:35;;19808:18;;:::i;:::-;19793:35;19850:1;19847;19843:9;19838:14;;19673:185;;;;:::o;19864:191::-;19904:4;19924:20;19942:1;19924:20;:::i;:::-;19919:25;;19958:20;19976:1;19958:20;:::i;:::-;19953:25;;19997:1;19994;19991:8;19988:34;;;20002:18;;:::i;:::-;19988:34;20047:1;20044;20040:9;20032:17;;19864:191;;;;:::o;20061:143::-;20118:5;20149:6;20143:13;20134:22;;20165:33;20192:5;20165:33;:::i;:::-;20061:143;;;;:::o;20210:351::-;20280:6;20329:2;20317:9;20308:7;20304:23;20300:32;20297:119;;;20335:79;;:::i;:::-;20297:119;20455:1;20480:64;20536:7;20527:6;20516:9;20512:22;20480:64;:::i;:::-;20470:74;;20426:128;20210:351;;;;:::o;20567:332::-;20688:4;20726:2;20715:9;20711:18;20703:26;;20739:71;20807:1;20796:9;20792:17;20783:6;20739:71;:::i;:::-;20820:72;20888:2;20877:9;20873:18;20864:6;20820:72;:::i;:::-;20567:332;;;;;:::o;20905:137::-;20959:5;20990:6;20984:13;20975:22;;21006:30;21030:5;21006:30;:::i;:::-;20905:137;;;;:::o;21048:345::-;21115:6;21164:2;21152:9;21143:7;21139:23;21135:32;21132:119;;;21170:79;;:::i;:::-;21132:119;21290:1;21315:61;21368:7;21359:6;21348:9;21344:22;21315:61;:::i;:::-;21305:71;;21261:125;21048:345;;;;:::o;21399:296::-;21539:34;21535:1;21527:6;21523:14;21516:58;21608:34;21603:2;21595:6;21591:15;21584:59;21677:10;21672:2;21664:6;21660:15;21653:35;21399:296;:::o;21701:366::-;21843:3;21864:67;21928:2;21923:3;21864:67;:::i;:::-;21857:74;;21940:93;22029:3;21940:93;:::i;:::-;22058:2;22053:3;22049:12;22042:19;;21701:366;;;:::o;22073:419::-;22239:4;22277:2;22266:9;22262:18;22254:26;;22326:9;22320:4;22316:20;22312:1;22301:9;22297:17;22290:47;22354:131;22480:4;22354:131;:::i;:::-;22346:139;;22073:419;;;:::o;22498:320::-;22613:4;22651:2;22640:9;22636:18;22628:26;;22664:71;22732:1;22721:9;22717:17;22708:6;22664:71;:::i;:::-;22745:66;22807:2;22796:9;22792:18;22783:6;22745:66;:::i;:::-;22498:320;;;;;:::o;22824:305::-;22864:3;22883:20;22901:1;22883:20;:::i;:::-;22878:25;;22917:20;22935:1;22917:20;:::i;:::-;22912:25;;23071:1;23003:66;22999:74;22996:1;22993:81;22990:107;;;23077:18;;:::i;:::-;22990:107;23121:1;23118;23114:9;23107:16;;22824:305;;;;:::o;23135:228::-;23275:34;23271:1;23263:6;23259:14;23252:58;23344:11;23339:2;23331:6;23327:15;23320:36;23135:228;:::o;23369:366::-;23511:3;23532:67;23596:2;23591:3;23532:67;:::i;:::-;23525:74;;23608:93;23697:3;23608:93;:::i;:::-;23726:2;23721:3;23717:12;23710:19;;23369:366;;;:::o;23741:419::-;23907:4;23945:2;23934:9;23930:18;23922:26;;23994:9;23988:4;23984:20;23980:1;23969:9;23965:17;23958:47;24022:131;24148:4;24022:131;:::i;:::-;24014:139;;23741:419;;;:::o;24166:176::-;24306:28;24302:1;24294:6;24290:14;24283:52;24166:176;:::o;24348:366::-;24490:3;24511:67;24575:2;24570:3;24511:67;:::i;:::-;24504:74;;24587:93;24676:3;24587:93;:::i;:::-;24705:2;24700:3;24696:12;24689:19;;24348:366;;;:::o;24720:419::-;24886:4;24924:2;24913:9;24909:18;24901:26;;24973:9;24967:4;24963:20;24959:1;24948:9;24944:17;24937:47;25001:131;25127:4;25001:131;:::i;:::-;24993:139;;24720:419;;;:::o;25145:167::-;25285:19;25281:1;25273:6;25269:14;25262:43;25145:167;:::o;25318:366::-;25460:3;25481:67;25545:2;25540:3;25481:67;:::i;:::-;25474:74;;25557:93;25646:3;25557:93;:::i;:::-;25675:2;25670:3;25666:12;25659:19;;25318:366;;;:::o;25690:419::-;25856:4;25894:2;25883:9;25879:18;25871:26;;25943:9;25937:4;25933:20;25929:1;25918:9;25914:17;25907:47;25971:131;26097:4;25971:131;:::i;:::-;25963:139;;25690:419;;;:::o;26115:174::-;26255:26;26251:1;26243:6;26239:14;26232:50;26115:174;:::o;26295:366::-;26437:3;26458:67;26522:2;26517:3;26458:67;:::i;:::-;26451:74;;26534:93;26623:3;26534:93;:::i;:::-;26652:2;26647:3;26643:12;26636:19;;26295:366;;;:::o;26667:419::-;26833:4;26871:2;26860:9;26856:18;26848:26;;26920:9;26914:4;26910:20;26906:1;26895:9;26891:17;26884:47;26948:131;27074:4;26948:131;:::i;:::-;26940:139;;26667:419;;;:::o;27092:134::-;27150:9;27183:37;27214:5;27183:37;:::i;:::-;27170:50;;27092:134;;;:::o;27232:147::-;27327:45;27366:5;27327:45;:::i;:::-;27322:3;27315:58;27232:147;;:::o;27385:238::-;27486:4;27524:2;27513:9;27509:18;27501:26;;27537:79;27613:1;27602:9;27598:17;27589:6;27537:79;:::i;:::-;27385:238;;;;:::o;27629:170::-;27769:22;27765:1;27757:6;27753:14;27746:46;27629:170;:::o;27805:366::-;27947:3;27968:67;28032:2;28027:3;27968:67;:::i;:::-;27961:74;;28044:93;28133:3;28044:93;:::i;:::-;28162:2;28157:3;28153:12;28146:19;;27805:366;;;:::o;28177:419::-;28343:4;28381:2;28370:9;28366:18;28358:26;;28430:9;28424:4;28420:20;28416:1;28405:9;28401:17;28394:47;28458:131;28584:4;28458:131;:::i;:::-;28450:139;;28177:419;;;:::o;28602:174::-;28742:26;28738:1;28730:6;28726:14;28719:50;28602:174;:::o;28782:366::-;28924:3;28945:67;29009:2;29004:3;28945:67;:::i;:::-;28938:74;;29021:93;29110:3;29021:93;:::i;:::-;29139:2;29134:3;29130:12;29123:19;;28782:366;;;:::o;29154:419::-;29320:4;29358:2;29347:9;29343:18;29335:26;;29407:9;29401:4;29397:20;29393:1;29382:9;29378:17;29371:47;29435:131;29561:4;29435:131;:::i;:::-;29427:139;;29154:419;;;:::o;29579:171::-;29719:23;29715:1;29707:6;29703:14;29696:47;29579:171;:::o;29756:366::-;29898:3;29919:67;29983:2;29978:3;29919:67;:::i;:::-;29912:74;;29995:93;30084:3;29995:93;:::i;:::-;30113:2;30108:3;30104:12;30097:19;;29756:366;;;:::o;30128:419::-;30294:4;30332:2;30321:9;30317:18;30309:26;;30381:9;30375:4;30371:20;30367:1;30356:9;30352:17;30345:47;30409:131;30535:4;30409:131;:::i;:::-;30401:139;;30128:419;;;:::o;30553:180::-;30693:32;30689:1;30681:6;30677:14;30670:56;30553:180;:::o;30739:366::-;30881:3;30902:67;30966:2;30961:3;30902:67;:::i;:::-;30895:74;;30978:93;31067:3;30978:93;:::i;:::-;31096:2;31091:3;31087:12;31080:19;;30739:366;;;:::o;31111:419::-;31277:4;31315:2;31304:9;31300:18;31292:26;;31364:9;31358:4;31354:20;31350:1;31339:9;31335:17;31328:47;31392:131;31518:4;31392:131;:::i;:::-;31384:139;;31111:419;;;:::o;31536:181::-;31676:33;31672:1;31664:6;31660:14;31653:57;31536:181;:::o;31723:366::-;31865:3;31886:67;31950:2;31945:3;31886:67;:::i;:::-;31879:74;;31962:93;32051:3;31962:93;:::i;:::-;32080:2;32075:3;32071:12;32064:19;;31723:366;;;:::o;32095:419::-;32261:4;32299:2;32288:9;32284:18;32276:26;;32348:9;32342:4;32338:20;32334:1;32323:9;32319:17;32312:47;32376:131;32502:4;32376:131;:::i;:::-;32368:139;;32095:419;;;:::o;32520:180::-;32568:77;32565:1;32558:88;32665:4;32662:1;32655:15;32689:4;32686:1;32679:15;32706:85;32751:7;32780:5;32769:16;;32706:85;;;:::o;32797:158::-;32855:9;32888:61;32906:42;32915:32;32941:5;32915:32;:::i;:::-;32906:42;:::i;:::-;32888:61;:::i;:::-;32875:74;;32797:158;;;:::o;32961:147::-;33056:45;33095:5;33056:45;:::i;:::-;33051:3;33044:58;32961:147;;:::o;33114:114::-;33181:6;33215:5;33209:12;33199:22;;33114:114;;;:::o;33234:184::-;33333:11;33367:6;33362:3;33355:19;33407:4;33402:3;33398:14;33383:29;;33234:184;;;;:::o;33424:132::-;33491:4;33514:3;33506:11;;33544:4;33539:3;33535:14;33527:22;;33424:132;;;:::o;33562:108::-;33639:24;33657:5;33639:24;:::i;:::-;33634:3;33627:37;33562:108;;:::o;33676:179::-;33745:10;33766:46;33808:3;33800:6;33766:46;:::i;:::-;33844:4;33839:3;33835:14;33821:28;;33676:179;;;;:::o;33861:113::-;33931:4;33963;33958:3;33954:14;33946:22;;33861:113;;;:::o;34010:732::-;34129:3;34158:54;34206:5;34158:54;:::i;:::-;34228:86;34307:6;34302:3;34228:86;:::i;:::-;34221:93;;34338:56;34388:5;34338:56;:::i;:::-;34417:7;34448:1;34433:284;34458:6;34455:1;34452:13;34433:284;;;34534:6;34528:13;34561:63;34620:3;34605:13;34561:63;:::i;:::-;34554:70;;34647:60;34700:6;34647:60;:::i;:::-;34637:70;;34493:224;34480:1;34477;34473:9;34468:14;;34433:284;;;34437:14;34733:3;34726:10;;34134:608;;;34010:732;;;;:::o;34748:831::-;35011:4;35049:3;35038:9;35034:19;35026:27;;35063:71;35131:1;35120:9;35116:17;35107:6;35063:71;:::i;:::-;35144:80;35220:2;35209:9;35205:18;35196:6;35144:80;:::i;:::-;35271:9;35265:4;35261:20;35256:2;35245:9;35241:18;35234:48;35299:108;35402:4;35393:6;35299:108;:::i;:::-;35291:116;;35417:72;35485:2;35474:9;35470:18;35461:6;35417:72;:::i;:::-;35499:73;35567:3;35556:9;35552:19;35543:6;35499:73;:::i;:::-;34748:831;;;;;;;;:::o;35585:177::-;35725:29;35721:1;35713:6;35709:14;35702:53;35585:177;:::o;35768:366::-;35910:3;35931:67;35995:2;35990:3;35931:67;:::i;:::-;35924:74;;36007:93;36096:3;36007:93;:::i;:::-;36125:2;36120:3;36116:12;36109:19;;35768:366;;;:::o;36140:419::-;36306:4;36344:2;36333:9;36329:18;36321:26;;36393:9;36387:4;36383:20;36379:1;36368:9;36364:17;36357:47;36421:131;36547:4;36421:131;:::i;:::-;36413:139;;36140:419;;;:::o;36565:220::-;36705:34;36701:1;36693:6;36689:14;36682:58;36774:3;36769:2;36761:6;36757:15;36750:28;36565:220;:::o;36791:366::-;36933:3;36954:67;37018:2;37013:3;36954:67;:::i;:::-;36947:74;;37030:93;37119:3;37030:93;:::i;:::-;37148:2;37143:3;37139:12;37132:19;;36791:366;;;:::o;37163:419::-;37329:4;37367:2;37356:9;37352:18;37344:26;;37416:9;37410:4;37406:20;37402:1;37391:9;37387:17;37380:47;37444:131;37570:4;37444:131;:::i;:::-;37436:139;;37163:419;;;:::o

Swarm Source

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