ETH Price: $3,110.50 (-0.89%)

Token

Dipcoin (DIP)
 

Overview

Max Total Supply

20,000,000,000 DIP

Holders

784

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
826,374.563629180345025926 DIP

Value
$0.00
0x09D0d6B0116DeA2C5aDfDe970F92e2c557001eDa
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:
Dipcoin

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-30
*/

// SPDX-License-Identifier: MIT

// Twitter: https://twitter.com/dipcoin_eth
// Website: https://www.dipcoin.io/ 

pragma solidity 0.8.20;

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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;

    mapping(address => mapping(address => uint256)) internal _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

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

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

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

library Address {
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IRouter {
    function factory() external pure returns (address);

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

contract Dipcoin is ERC20, Ownable {
    using Address for address payable;

    IRouter public router;
    address public pair;

    bool public tradingEnabled;
    bool public maxApeEnabled;

    uint256 public genesis_block;
    uint256 public deadblocks = 0;

    uint256 public maxTxAmount;
    uint256 public maxWalletAmount;

    address public marketingWallet;
    address public dipWallet = 0x1E006513E13F08BBbF3690Dd5c2f470cd26313cD;

    mapping(address => bool) public excludedFromFees;
    mapping(address => bool) private isBot;

    constructor() ERC20("Dipcoin", "DIP") {
        _mint(msg.sender, 20e9 * 10 ** decimals());
        excludedFromFees[msg.sender] = true;

        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        marketingWallet = 0x12eF093Ae6ab6D281f05bf5e9550485C0371fdBA;

        router = _router;
        pair = _pair;
        excludedFromFees[address(this)] = true;
        excludedFromFees[marketingWallet] = true;
        excludedFromFees[dipWallet] = true;
        maxApeEnabled = false;

        maxTxAmount = (totalSupply() * 1) / 100;
        maxWalletAmount = (totalSupply() * 1) / 100;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal override {
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!isBot[sender] && !isBot[recipient], "You can't transfer tokens");

        if (!excludedFromFees[sender] && !excludedFromFees[recipient]) {
            require(tradingEnabled, "Trading not active yet");

            if(genesis_block + deadblocks > block.number){
                if(recipient != pair) isBot[recipient] = true;
                if(sender != pair) isBot[sender] = true;
            }
            
            if (maxApeEnabled) {
            require(amount <= maxTxAmount, "You are exceeding maxTxAmount");
                if(recipient != pair){
                    require(balanceOf(recipient) + amount <= maxWalletAmount, "You are exceeding maxWalletAmount");
                }
            }
        }
        super._transfer(sender, recipient, amount);
    }

    function enableTrading(uint256 numOfDeadBlocks) external onlyOwner {
        require(!tradingEnabled, "Trading already active");
        tradingEnabled = true;
        genesis_block = block.number;
        deadblocks = numOfDeadBlocks;
        maxApeEnabled = true;
    }

    function updateMarketingWallet(address newWallet) external onlyOwner {
        marketingWallet = newWallet;
    }

    function updateRouterAndPair(IRouter _router, address _pair) external onlyOwner {
        router = _router;
        pair = _pair;
    }

    function addBots(address[] memory isBot_) public onlyOwner {
        for (uint i = 0; i < isBot_.length; i++) {
            isBot[isBot_[i]] = true;
        }
    }

    function updateEnableMaxApe(bool _value) external onlyOwner {
        maxApeEnabled = _value;
    }

    function updateExcludedFromFees(address _address, bool state) external onlyOwner {
        excludedFromFees[_address] = state;
    }

    function updateMaxTxAmount(uint256 _percen) external onlyOwner {
        maxTxAmount = (totalSupply() * _percen) / 100;
    }

    function updateMaxWalletAmount(uint256 _percen) external onlyOwner {
        maxWalletAmount = (totalSupply() * _percen) / 100;
    }

    function rescueERC20(address tokenAddress, uint256 amount) external onlyOwner {
        IERC20(tokenAddress).transfer(owner(), amount);
    }

    function rescueETH(uint256 weiAmount) external onlyOwner {
        payable(owner()).sendValue(weiAmount);
    }

    // fallbacks
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"isBot_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadblocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dipWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numOfDeadBlocks","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxApeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"updateEnableMaxApe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percen","type":"uint256"}],"name":"updateMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percen","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRouter","name":"_router","type":"address"},{"internalType":"address","name":"_pair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f600955731e006513e13f08bbbf3690dd5c2f470cd26313cd600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801562000068575f80fd5b506040518060400160405280600781526020017f446970636f696e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f44495000000000000000000000000000000000000000000000000000000000008152508160039081620000e6919062000a66565b508060049081620000f8919062000a66565b5050506200011b6200010f620005c560201b60201c565b620005cc60201b60201c565b6200015c33620001306200068f60201b60201c565b600a6200013e919062000cd3565b6404a817c80062000150919062000d23565b6200069760201b60201c565b6001600e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000214573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200023a919062000dd2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000dd2565b6040518363ffffffff1660e01b8152600401620002e592919062000e13565b6020604051808303815f875af115801562000302573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000328919062000dd2565b90507312ef093ae6ab6d281f05bf5e9550485c0371fdba600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f600760156101000a81548160ff021916908315150217905550606460016200056d620007f460201b60201c565b62000579919062000d23565b62000585919062000e6b565b600a81905550606460016200059f620007f460201b60201c565b620005ab919062000d23565b620005b7919062000e6b565b600b81905550505062000f86565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000708576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006ff9062000f00565b60405180910390fd5b6200071b5f8383620007fd60201b60201c565b8060025f8282546200072e919062000f20565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000782919062000f20565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620007e8919062000f6b565b60405180910390a35050565b5f600254905090565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200087e57607f821691505b60208210810362000894576200089362000839565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008bb565b620009048683620008bb565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200094e6200094862000942846200091c565b62000925565b6200091c565b9050919050565b5f819050919050565b62000969836200092e565b62000981620009788262000955565b848454620008c7565b825550505050565b5f90565b6200099762000989565b620009a48184846200095e565b505050565b5b81811015620009cb57620009bf5f826200098d565b600181019050620009aa565b5050565b601f82111562000a1a57620009e4816200089a565b620009ef84620008ac565b81016020851015620009ff578190505b62000a1762000a0e85620008ac565b830182620009a9565b50505b505050565b5f82821c905092915050565b5f62000a3c5f198460080262000a1f565b1980831691505092915050565b5f62000a56838362000a2b565b9150826002028217905092915050565b62000a718262000802565b67ffffffffffffffff81111562000a8d5762000a8c6200080c565b5b62000a99825462000866565b62000aa6828285620009cf565b5f60209050601f83116001811462000adc575f841562000ac7578287015190505b62000ad3858262000a49565b86555062000b42565b601f19841662000aec866200089a565b5f5b8281101562000b155784890151825560018201915060208501945060208101905062000aee565b8683101562000b35578489015162000b31601f89168262000a2b565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000bd45780860481111562000bac5762000bab62000b4a565b5b600185161562000bbc5780820291505b808102905062000bcc8562000b77565b945062000b8c565b94509492505050565b5f8262000bee576001905062000cc0565b8162000bfd575f905062000cc0565b816001811462000c16576002811462000c215762000c57565b600191505062000cc0565b60ff84111562000c365762000c3562000b4a565b5b8360020a91508482111562000c505762000c4f62000b4a565b5b5062000cc0565b5060208310610133831016604e8410600b841016171562000c915782820a90508381111562000c8b5762000c8a62000b4a565b5b62000cc0565b62000ca0848484600162000b83565b9250905081840481111562000cba5762000cb962000b4a565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000cdf826200091c565b915062000cec8362000cc7565b925062000d1b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bdd565b905092915050565b5f62000d2f826200091c565b915062000d3c836200091c565b925082820262000d4c816200091c565b9150828204841483151762000d665762000d6562000b4a565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000d9c8262000d71565b9050919050565b62000dae8162000d90565b811462000db9575f80fd5b50565b5f8151905062000dcc8162000da3565b92915050565b5f6020828403121562000dea5762000de962000d6d565b5b5f62000df98482850162000dbc565b91505092915050565b62000e0d8162000d90565b82525050565b5f60408201905062000e285f83018562000e02565b62000e37602083018462000e02565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000e77826200091c565b915062000e84836200091c565b92508262000e975762000e9662000e3e565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000ee8601f8362000ea2565b915062000ef58262000eb2565b602082019050919050565b5f6020820190508181035f83015262000f198162000eda565b9050919050565b5f62000f2c826200091c565b915062000f39836200091c565b925082820190508082111562000f545762000f5362000b4a565b5b92915050565b62000f65816200091c565b82525050565b5f60208201905062000f805f83018462000f5a565b92915050565b6133ef8062000f945f395ff3fe608060405260043610610207575f3560e01c806382aa7c6811610117578063aa4bde281161009f578063dbe66ca01161006e578063dbe66ca014610744578063dd62ed3e14610780578063e545fd6d146107bc578063f2fde38b146107e4578063f887ea401461080c5761020e565b8063aa4bde28146106a2578063aacebbe3146106cc578063c18bc195146106f4578063d34628cc1461071c5761020e565b806395d89b41116100e657806395d89b41146105ae5780639e252f00146105d8578063a457c2d714610600578063a8aa1b311461063c578063a9059cbb146106665761020e565b806382aa7c681461050a5780638c0b5e22146105325780638cd4426d1461055c5780638da5cb5b146105845761020e565b806340b28c2f1161019a5780636256d181116101695780636256d1811461043e57806370a0823114610466578063715018a6146104a257806375f0a874146104b85780637a76a408146104e25761020e565b806340b28c2f146103985780634ada218b146103c057806350c9a88f146103ea5780635ec2db1e146104145761020e565b8063274a533c116101d6578063274a533c146102de57806328892bdf14610308578063313ce56714610332578063395093511461035c5761020e565b806306fdde0314610212578063095ea7b31461023c57806318160ddd1461027857806323b872dd146102a25761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b50610226610836565b60405161023391906122e8565b60405180910390f35b348015610247575f80fd5b50610262600480360381019061025d91906123a6565b6108c6565b60405161026f91906123fe565b60405180910390f35b348015610283575f80fd5b5061028c6108e3565b6040516102999190612426565b60405180910390f35b3480156102ad575f80fd5b506102c860048036038101906102c3919061243f565b6108ec565b6040516102d591906123fe565b60405180910390f35b3480156102e9575f80fd5b506102f26109e7565b6040516102ff9190612426565b60405180910390f35b348015610313575f80fd5b5061031c6109ed565b60405161032991906123fe565b60405180910390f35b34801561033d575f80fd5b50610346610a00565b60405161035391906124aa565b60405180910390f35b348015610367575f80fd5b50610382600480360381019061037d91906123a6565b610a08565b60405161038f91906123fe565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b991906124fe565b610aaf565b005b3480156103cb575f80fd5b506103d4610baf565b6040516103e191906123fe565b60405180910390f35b3480156103f5575f80fd5b506103fe610bc2565b60405161040b9190612426565b60405180910390f35b34801561041f575f80fd5b50610428610bc8565b604051610435919061254b565b60405180910390f35b348015610449575f80fd5b50610464600480360381019061045f9190612564565b610bed565b005b348015610471575f80fd5b5061048c6004803603810190610487919061258f565b610c91565b6040516104999190612426565b60405180910390f35b3480156104ad575f80fd5b506104b6610cd6565b005b3480156104c3575f80fd5b506104cc610d5d565b6040516104d9919061254b565b60405180910390f35b3480156104ed575f80fd5b50610508600480360381019061050391906125e4565b610d82565b005b348015610515575f80fd5b50610530600480360381019061052b9190612564565b610e1b565b005b34801561053d575f80fd5b50610546610f2e565b6040516105539190612426565b60405180910390f35b348015610567575f80fd5b50610582600480360381019061057d91906123a6565b610f34565b005b34801561058f575f80fd5b50610598611037565b6040516105a5919061254b565b60405180910390f35b3480156105b9575f80fd5b506105c261105f565b6040516105cf91906122e8565b60405180910390f35b3480156105e3575f80fd5b506105fe60048036038101906105f99190612564565b6110ef565b005b34801561060b575f80fd5b50610626600480360381019061062191906123a6565b61119e565b60405161063391906123fe565b60405180910390f35b348015610647575f80fd5b5061065061128d565b60405161065d919061254b565b60405180910390f35b348015610671575f80fd5b5061068c600480360381019061068791906123a6565b6112b2565b60405161069991906123fe565b60405180910390f35b3480156106ad575f80fd5b506106b66112cf565b6040516106c39190612426565b60405180910390f35b3480156106d7575f80fd5b506106f260048036038101906106ed919061258f565b6112d5565b005b3480156106ff575f80fd5b5061071a60048036038101906107159190612564565b611394565b005b348015610727575f80fd5b50610742600480360381019061073d919061274f565b611438565b005b34801561074f575f80fd5b5061076a6004803603810190610765919061258f565b611545565b60405161077791906123fe565b60405180910390f35b34801561078b575f80fd5b506107a660048036038101906107a19190612796565b611562565b6040516107b39190612426565b60405180910390f35b3480156107c7575f80fd5b506107e260048036038101906107dd91906127d4565b6115e4565b005b3480156107ef575f80fd5b5061080a6004803603810190610805919061258f565b6116b8565b005b348015610817575f80fd5b506108206117ae565b60405161082d919061286d565b60405180910390f35b606060038054610845906128b3565b80601f0160208091040260200160405190810160405280929190818152602001828054610871906128b3565b80156108bc5780601f10610893576101008083540402835291602001916108bc565b820191905f5260205f20905b81548152906001019060200180831161089f57829003601f168201915b5050505050905090565b5f6108d96108d26117d3565b84846117da565b6001905092915050565b5f600254905090565b5f6108f884848461199d565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61093f6117d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590612953565b60405180910390fd5b6109db856109ca6117d3565b85846109d6919061299e565b6117da565b60019150509392505050565b60085481565b600760159054906101000a900460ff1681565b5f6012905090565b5f610aa5610a146117d3565b848460015f610a216117d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610aa091906129d1565b6117da565b6001905092915050565b610ab76117d3565b73ffffffffffffffffffffffffffffffffffffffff16610ad5611037565b73ffffffffffffffffffffffffffffffffffffffff1614610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2290612a4e565b60405180910390fd5b8160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600760149054906101000a900460ff1681565b60095481565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bf56117d3565b73ffffffffffffffffffffffffffffffffffffffff16610c13611037565b73ffffffffffffffffffffffffffffffffffffffff1614610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090612a4e565b60405180910390fd5b606481610c746108e3565b610c7e9190612a6c565b610c889190612ada565b600a8190555050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610cde6117d3565b73ffffffffffffffffffffffffffffffffffffffff16610cfc611037565b73ffffffffffffffffffffffffffffffffffffffff1614610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4990612a4e565b60405180910390fd5b610d5b5f611e33565b565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d8a6117d3565b73ffffffffffffffffffffffffffffffffffffffff16610da8611037565b73ffffffffffffffffffffffffffffffffffffffff1614610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df590612a4e565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b610e236117d3565b73ffffffffffffffffffffffffffffffffffffffff16610e41611037565b73ffffffffffffffffffffffffffffffffffffffff1614610e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8e90612a4e565b60405180910390fd5b600760149054906101000a900460ff1615610ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ede90612b54565b60405180910390fd5b6001600760146101000a81548160ff02191690831515021790555043600881905550806009819055506001600760156101000a81548160ff02191690831515021790555050565b600a5481565b610f3c6117d3565b73ffffffffffffffffffffffffffffffffffffffff16610f5a611037565b73ffffffffffffffffffffffffffffffffffffffff1614610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790612a4e565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610fd4611037565b836040518363ffffffff1660e01b8152600401610ff2929190612b72565b6020604051808303815f875af115801561100e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110329190612bad565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461106e906128b3565b80601f016020809104026020016040519081016040528092919081815260200182805461109a906128b3565b80156110e55780601f106110bc576101008083540402835291602001916110e5565b820191905f5260205f20905b8154815290600101906020018083116110c857829003601f168201915b5050505050905090565b6110f76117d3565b73ffffffffffffffffffffffffffffffffffffffff16611115611037565b73ffffffffffffffffffffffffffffffffffffffff161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116290612a4e565b60405180910390fd5b61119b81611177611037565b73ffffffffffffffffffffffffffffffffffffffff16611ef690919063ffffffff16565b50565b5f8060015f6111ab6117d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90612c48565b60405180910390fd5b6112826112706117d3565b85858461127d919061299e565b6117da565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6112c56112be6117d3565b848461199d565b6001905092915050565b600b5481565b6112dd6117d3565b73ffffffffffffffffffffffffffffffffffffffff166112fb611037565b73ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612a4e565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61139c6117d3565b73ffffffffffffffffffffffffffffffffffffffff166113ba611037565b73ffffffffffffffffffffffffffffffffffffffff1614611410576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140790612a4e565b60405180910390fd5b60648161141b6108e3565b6114259190612a6c565b61142f9190612ada565b600b8190555050565b6114406117d3565b73ffffffffffffffffffffffffffffffffffffffff1661145e611037565b73ffffffffffffffffffffffffffffffffffffffff16146114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90612a4e565b60405180910390fd5b5f5b8151811015611541576001600f5f8484815181106114d7576114d6612c66565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061153990612c93565b9150506114b6565b5050565b600e602052805f5260405f205f915054906101000a900460ff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6115ec6117d3565b73ffffffffffffffffffffffffffffffffffffffff1661160a611037565b73ffffffffffffffffffffffffffffffffffffffff1614611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790612a4e565b60405180910390fd5b80600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6116c06117d3565b73ffffffffffffffffffffffffffffffffffffffff166116de611037565b73ffffffffffffffffffffffffffffffffffffffff1614611734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172b90612a4e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179990612d4a565b60405180910390fd5b6117ab81611e33565b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183f90612dd8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ad90612e66565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119909190612426565b60405180910390a3505050565b5f81116119df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d690612ef4565b60405180910390fd5b600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a7d5750600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab390612f5c565b60405180910390fd5b600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611b5a5750600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e2357600760149054906101000a900460ff16611bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba590612fc4565b60405180910390fd5b43600954600854611bbf91906129d1565b1115611d1a5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c6f576001600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611d19576001600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5b600760159054906101000a900460ff1615611e2257600a54811115611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b9061302c565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e2157600b5481611dd584610c91565b611ddf91906129d1565b1115611e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e17906130ba565b60405180910390fd5b5b5b5b611e2e838383611fe6565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80471015611f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3090613122565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682604051611f5e9061316d565b5f6040518083038185875af1925050503d805f8114611f98576040519150601f19603f3d011682016040523d82523d5f602084013e611f9d565b606091505b5050905080611fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd8906131f1565b60405180910390fd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204b9061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b99061330d565b60405180910390fd5b6120cd838383612259565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612150576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121479061339b565b60405180910390fd5b818161215c919061299e565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546121e791906129d1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161224b9190612426565b60405180910390a350505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561229557808201518184015260208101905061227a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122ba8261225e565b6122c48185612268565b93506122d4818560208601612278565b6122dd816122a0565b840191505092915050565b5f6020820190508181035f83015261230081846122b0565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61234282612319565b9050919050565b61235281612338565b811461235c575f80fd5b50565b5f8135905061236d81612349565b92915050565b5f819050919050565b61238581612373565b811461238f575f80fd5b50565b5f813590506123a08161237c565b92915050565b5f80604083850312156123bc576123bb612311565b5b5f6123c98582860161235f565b92505060206123da85828601612392565b9150509250929050565b5f8115159050919050565b6123f8816123e4565b82525050565b5f6020820190506124115f8301846123ef565b92915050565b61242081612373565b82525050565b5f6020820190506124395f830184612417565b92915050565b5f805f6060848603121561245657612455612311565b5b5f6124638682870161235f565b93505060206124748682870161235f565b925050604061248586828701612392565b9150509250925092565b5f60ff82169050919050565b6124a48161248f565b82525050565b5f6020820190506124bd5f83018461249b565b92915050565b5f6124cd82612338565b9050919050565b6124dd816124c3565b81146124e7575f80fd5b50565b5f813590506124f8816124d4565b92915050565b5f806040838503121561251457612513612311565b5b5f612521858286016124ea565b92505060206125328582860161235f565b9150509250929050565b61254581612338565b82525050565b5f60208201905061255e5f83018461253c565b92915050565b5f6020828403121561257957612578612311565b5b5f61258684828501612392565b91505092915050565b5f602082840312156125a4576125a3612311565b5b5f6125b18482850161235f565b91505092915050565b6125c3816123e4565b81146125cd575f80fd5b50565b5f813590506125de816125ba565b92915050565b5f602082840312156125f9576125f8612311565b5b5f612606848285016125d0565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612649826122a0565b810181811067ffffffffffffffff8211171561266857612667612613565b5b80604052505050565b5f61267a612308565b90506126868282612640565b919050565b5f67ffffffffffffffff8211156126a5576126a4612613565b5b602082029050602081019050919050565b5f80fd5b5f6126cc6126c78461268b565b612671565b905080838252602082019050602084028301858111156126ef576126ee6126b6565b5b835b818110156127185780612704888261235f565b8452602084019350506020810190506126f1565b5050509392505050565b5f82601f8301126127365761273561260f565b5b81356127468482602086016126ba565b91505092915050565b5f6020828403121561276457612763612311565b5b5f82013567ffffffffffffffff81111561278157612780612315565b5b61278d84828501612722565b91505092915050565b5f80604083850312156127ac576127ab612311565b5b5f6127b98582860161235f565b92505060206127ca8582860161235f565b9150509250929050565b5f80604083850312156127ea576127e9612311565b5b5f6127f78582860161235f565b9250506020612808858286016125d0565b9150509250929050565b5f819050919050565b5f61283561283061282b84612319565b612812565b612319565b9050919050565b5f6128468261281b565b9050919050565b5f6128578261283c565b9050919050565b6128678161284d565b82525050565b5f6020820190506128805f83018461285e565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806128ca57607f821691505b6020821081036128dd576128dc612886565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61293d602883612268565b9150612948826128e3565b604082019050919050565b5f6020820190508181035f83015261296a81612931565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6129a882612373565b91506129b383612373565b92508282039050818111156129cb576129ca612971565b5b92915050565b5f6129db82612373565b91506129e683612373565b92508282019050808211156129fe576129fd612971565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a38602083612268565b9150612a4382612a04565b602082019050919050565b5f6020820190508181035f830152612a6581612a2c565b9050919050565b5f612a7682612373565b9150612a8183612373565b9250828202612a8f81612373565b91508282048414831517612aa657612aa5612971565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ae482612373565b9150612aef83612373565b925082612aff57612afe612aad565b5b828204905092915050565b7f54726164696e6720616c726561647920616374697665000000000000000000005f82015250565b5f612b3e601683612268565b9150612b4982612b0a565b602082019050919050565b5f6020820190508181035f830152612b6b81612b32565b9050919050565b5f604082019050612b855f83018561253c565b612b926020830184612417565b9392505050565b5f81519050612ba7816125ba565b92915050565b5f60208284031215612bc257612bc1612311565b5b5f612bcf84828501612b99565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612c32602583612268565b9150612c3d82612bd8565b604082019050919050565b5f6020820190508181035f830152612c5f81612c26565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612c9d82612373565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ccf57612cce612971565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612d34602683612268565b9150612d3f82612cda565b604082019050919050565b5f6020820190508181035f830152612d6181612d28565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612dc2602483612268565b9150612dcd82612d68565b604082019050919050565b5f6020820190508181035f830152612def81612db6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e50602283612268565b9150612e5b82612df6565b604082019050919050565b5f6020820190508181035f830152612e7d81612e44565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ede602983612268565b9150612ee982612e84565b604082019050919050565b5f6020820190508181035f830152612f0b81612ed2565b9050919050565b7f596f752063616e2774207472616e7366657220746f6b656e73000000000000005f82015250565b5f612f46601983612268565b9150612f5182612f12565b602082019050919050565b5f6020820190508181035f830152612f7381612f3a565b9050919050565b7f54726164696e67206e6f742061637469766520796574000000000000000000005f82015250565b5f612fae601683612268565b9150612fb982612f7a565b602082019050919050565b5f6020820190508181035f830152612fdb81612fa2565b9050919050565b7f596f752061726520657863656564696e67206d61785478416d6f756e740000005f82015250565b5f613016601d83612268565b915061302182612fe2565b602082019050919050565b5f6020820190508181035f8301526130438161300a565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e5f8201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130a4602183612268565b91506130af8261304a565b604082019050919050565b5f6020820190508181035f8301526130d181613098565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e63650000005f82015250565b5f61310c601d83612268565b9150613117826130d8565b602082019050919050565b5f6020820190508181035f83015261313981613100565b9050919050565b5f81905092915050565b50565b5f6131585f83613140565b91506131638261314a565b5f82019050919050565b5f6131778261314d565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c20725f8201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b5f6131db603a83612268565b91506131e682613181565b604082019050919050565b5f6020820190508181035f830152613208816131cf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613269602583612268565b91506132748261320f565b604082019050919050565b5f6020820190508181035f8301526132968161325d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6132f7602383612268565b91506133028261329d565b604082019050919050565b5f6020820190508181035f830152613324816132eb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613385602683612268565b91506133908261332b565b604082019050919050565b5f6020820190508181035f8301526133b281613379565b905091905056fea26469706673582212201e936cf96cd03265733da8dc549b3be33d30e041cdf91d5f3c86e794a79f947764736f6c63430008140033

Deployed Bytecode

0x608060405260043610610207575f3560e01c806382aa7c6811610117578063aa4bde281161009f578063dbe66ca01161006e578063dbe66ca014610744578063dd62ed3e14610780578063e545fd6d146107bc578063f2fde38b146107e4578063f887ea401461080c5761020e565b8063aa4bde28146106a2578063aacebbe3146106cc578063c18bc195146106f4578063d34628cc1461071c5761020e565b806395d89b41116100e657806395d89b41146105ae5780639e252f00146105d8578063a457c2d714610600578063a8aa1b311461063c578063a9059cbb146106665761020e565b806382aa7c681461050a5780638c0b5e22146105325780638cd4426d1461055c5780638da5cb5b146105845761020e565b806340b28c2f1161019a5780636256d181116101695780636256d1811461043e57806370a0823114610466578063715018a6146104a257806375f0a874146104b85780637a76a408146104e25761020e565b806340b28c2f146103985780634ada218b146103c057806350c9a88f146103ea5780635ec2db1e146104145761020e565b8063274a533c116101d6578063274a533c146102de57806328892bdf14610308578063313ce56714610332578063395093511461035c5761020e565b806306fdde0314610212578063095ea7b31461023c57806318160ddd1461027857806323b872dd146102a25761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b50610226610836565b60405161023391906122e8565b60405180910390f35b348015610247575f80fd5b50610262600480360381019061025d91906123a6565b6108c6565b60405161026f91906123fe565b60405180910390f35b348015610283575f80fd5b5061028c6108e3565b6040516102999190612426565b60405180910390f35b3480156102ad575f80fd5b506102c860048036038101906102c3919061243f565b6108ec565b6040516102d591906123fe565b60405180910390f35b3480156102e9575f80fd5b506102f26109e7565b6040516102ff9190612426565b60405180910390f35b348015610313575f80fd5b5061031c6109ed565b60405161032991906123fe565b60405180910390f35b34801561033d575f80fd5b50610346610a00565b60405161035391906124aa565b60405180910390f35b348015610367575f80fd5b50610382600480360381019061037d91906123a6565b610a08565b60405161038f91906123fe565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b991906124fe565b610aaf565b005b3480156103cb575f80fd5b506103d4610baf565b6040516103e191906123fe565b60405180910390f35b3480156103f5575f80fd5b506103fe610bc2565b60405161040b9190612426565b60405180910390f35b34801561041f575f80fd5b50610428610bc8565b604051610435919061254b565b60405180910390f35b348015610449575f80fd5b50610464600480360381019061045f9190612564565b610bed565b005b348015610471575f80fd5b5061048c6004803603810190610487919061258f565b610c91565b6040516104999190612426565b60405180910390f35b3480156104ad575f80fd5b506104b6610cd6565b005b3480156104c3575f80fd5b506104cc610d5d565b6040516104d9919061254b565b60405180910390f35b3480156104ed575f80fd5b50610508600480360381019061050391906125e4565b610d82565b005b348015610515575f80fd5b50610530600480360381019061052b9190612564565b610e1b565b005b34801561053d575f80fd5b50610546610f2e565b6040516105539190612426565b60405180910390f35b348015610567575f80fd5b50610582600480360381019061057d91906123a6565b610f34565b005b34801561058f575f80fd5b50610598611037565b6040516105a5919061254b565b60405180910390f35b3480156105b9575f80fd5b506105c261105f565b6040516105cf91906122e8565b60405180910390f35b3480156105e3575f80fd5b506105fe60048036038101906105f99190612564565b6110ef565b005b34801561060b575f80fd5b50610626600480360381019061062191906123a6565b61119e565b60405161063391906123fe565b60405180910390f35b348015610647575f80fd5b5061065061128d565b60405161065d919061254b565b60405180910390f35b348015610671575f80fd5b5061068c600480360381019061068791906123a6565b6112b2565b60405161069991906123fe565b60405180910390f35b3480156106ad575f80fd5b506106b66112cf565b6040516106c39190612426565b60405180910390f35b3480156106d7575f80fd5b506106f260048036038101906106ed919061258f565b6112d5565b005b3480156106ff575f80fd5b5061071a60048036038101906107159190612564565b611394565b005b348015610727575f80fd5b50610742600480360381019061073d919061274f565b611438565b005b34801561074f575f80fd5b5061076a6004803603810190610765919061258f565b611545565b60405161077791906123fe565b60405180910390f35b34801561078b575f80fd5b506107a660048036038101906107a19190612796565b611562565b6040516107b39190612426565b60405180910390f35b3480156107c7575f80fd5b506107e260048036038101906107dd91906127d4565b6115e4565b005b3480156107ef575f80fd5b5061080a6004803603810190610805919061258f565b6116b8565b005b348015610817575f80fd5b506108206117ae565b60405161082d919061286d565b60405180910390f35b606060038054610845906128b3565b80601f0160208091040260200160405190810160405280929190818152602001828054610871906128b3565b80156108bc5780601f10610893576101008083540402835291602001916108bc565b820191905f5260205f20905b81548152906001019060200180831161089f57829003601f168201915b5050505050905090565b5f6108d96108d26117d3565b84846117da565b6001905092915050565b5f600254905090565b5f6108f884848461199d565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61093f6117d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590612953565b60405180910390fd5b6109db856109ca6117d3565b85846109d6919061299e565b6117da565b60019150509392505050565b60085481565b600760159054906101000a900460ff1681565b5f6012905090565b5f610aa5610a146117d3565b848460015f610a216117d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610aa091906129d1565b6117da565b6001905092915050565b610ab76117d3565b73ffffffffffffffffffffffffffffffffffffffff16610ad5611037565b73ffffffffffffffffffffffffffffffffffffffff1614610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2290612a4e565b60405180910390fd5b8160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600760149054906101000a900460ff1681565b60095481565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bf56117d3565b73ffffffffffffffffffffffffffffffffffffffff16610c13611037565b73ffffffffffffffffffffffffffffffffffffffff1614610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090612a4e565b60405180910390fd5b606481610c746108e3565b610c7e9190612a6c565b610c889190612ada565b600a8190555050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610cde6117d3565b73ffffffffffffffffffffffffffffffffffffffff16610cfc611037565b73ffffffffffffffffffffffffffffffffffffffff1614610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4990612a4e565b60405180910390fd5b610d5b5f611e33565b565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d8a6117d3565b73ffffffffffffffffffffffffffffffffffffffff16610da8611037565b73ffffffffffffffffffffffffffffffffffffffff1614610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df590612a4e565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b610e236117d3565b73ffffffffffffffffffffffffffffffffffffffff16610e41611037565b73ffffffffffffffffffffffffffffffffffffffff1614610e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8e90612a4e565b60405180910390fd5b600760149054906101000a900460ff1615610ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ede90612b54565b60405180910390fd5b6001600760146101000a81548160ff02191690831515021790555043600881905550806009819055506001600760156101000a81548160ff02191690831515021790555050565b600a5481565b610f3c6117d3565b73ffffffffffffffffffffffffffffffffffffffff16610f5a611037565b73ffffffffffffffffffffffffffffffffffffffff1614610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790612a4e565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610fd4611037565b836040518363ffffffff1660e01b8152600401610ff2929190612b72565b6020604051808303815f875af115801561100e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110329190612bad565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461106e906128b3565b80601f016020809104026020016040519081016040528092919081815260200182805461109a906128b3565b80156110e55780601f106110bc576101008083540402835291602001916110e5565b820191905f5260205f20905b8154815290600101906020018083116110c857829003601f168201915b5050505050905090565b6110f76117d3565b73ffffffffffffffffffffffffffffffffffffffff16611115611037565b73ffffffffffffffffffffffffffffffffffffffff161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116290612a4e565b60405180910390fd5b61119b81611177611037565b73ffffffffffffffffffffffffffffffffffffffff16611ef690919063ffffffff16565b50565b5f8060015f6111ab6117d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90612c48565b60405180910390fd5b6112826112706117d3565b85858461127d919061299e565b6117da565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6112c56112be6117d3565b848461199d565b6001905092915050565b600b5481565b6112dd6117d3565b73ffffffffffffffffffffffffffffffffffffffff166112fb611037565b73ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612a4e565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61139c6117d3565b73ffffffffffffffffffffffffffffffffffffffff166113ba611037565b73ffffffffffffffffffffffffffffffffffffffff1614611410576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140790612a4e565b60405180910390fd5b60648161141b6108e3565b6114259190612a6c565b61142f9190612ada565b600b8190555050565b6114406117d3565b73ffffffffffffffffffffffffffffffffffffffff1661145e611037565b73ffffffffffffffffffffffffffffffffffffffff16146114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90612a4e565b60405180910390fd5b5f5b8151811015611541576001600f5f8484815181106114d7576114d6612c66565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061153990612c93565b9150506114b6565b5050565b600e602052805f5260405f205f915054906101000a900460ff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6115ec6117d3565b73ffffffffffffffffffffffffffffffffffffffff1661160a611037565b73ffffffffffffffffffffffffffffffffffffffff1614611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790612a4e565b60405180910390fd5b80600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6116c06117d3565b73ffffffffffffffffffffffffffffffffffffffff166116de611037565b73ffffffffffffffffffffffffffffffffffffffff1614611734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172b90612a4e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179990612d4a565b60405180910390fd5b6117ab81611e33565b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183f90612dd8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ad90612e66565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119909190612426565b60405180910390a3505050565b5f81116119df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d690612ef4565b60405180910390fd5b600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a7d5750600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab390612f5c565b60405180910390fd5b600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611b5a5750600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e2357600760149054906101000a900460ff16611bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba590612fc4565b60405180910390fd5b43600954600854611bbf91906129d1565b1115611d1a5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c6f576001600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611d19576001600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5b600760159054906101000a900460ff1615611e2257600a54811115611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b9061302c565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e2157600b5481611dd584610c91565b611ddf91906129d1565b1115611e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e17906130ba565b60405180910390fd5b5b5b5b611e2e838383611fe6565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80471015611f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3090613122565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682604051611f5e9061316d565b5f6040518083038185875af1925050503d805f8114611f98576040519150601f19603f3d011682016040523d82523d5f602084013e611f9d565b606091505b5050905080611fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd8906131f1565b60405180910390fd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204b9061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b99061330d565b60405180910390fd5b6120cd838383612259565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612150576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121479061339b565b60405180910390fd5b818161215c919061299e565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546121e791906129d1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161224b9190612426565b60405180910390a350505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561229557808201518184015260208101905061227a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122ba8261225e565b6122c48185612268565b93506122d4818560208601612278565b6122dd816122a0565b840191505092915050565b5f6020820190508181035f83015261230081846122b0565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61234282612319565b9050919050565b61235281612338565b811461235c575f80fd5b50565b5f8135905061236d81612349565b92915050565b5f819050919050565b61238581612373565b811461238f575f80fd5b50565b5f813590506123a08161237c565b92915050565b5f80604083850312156123bc576123bb612311565b5b5f6123c98582860161235f565b92505060206123da85828601612392565b9150509250929050565b5f8115159050919050565b6123f8816123e4565b82525050565b5f6020820190506124115f8301846123ef565b92915050565b61242081612373565b82525050565b5f6020820190506124395f830184612417565b92915050565b5f805f6060848603121561245657612455612311565b5b5f6124638682870161235f565b93505060206124748682870161235f565b925050604061248586828701612392565b9150509250925092565b5f60ff82169050919050565b6124a48161248f565b82525050565b5f6020820190506124bd5f83018461249b565b92915050565b5f6124cd82612338565b9050919050565b6124dd816124c3565b81146124e7575f80fd5b50565b5f813590506124f8816124d4565b92915050565b5f806040838503121561251457612513612311565b5b5f612521858286016124ea565b92505060206125328582860161235f565b9150509250929050565b61254581612338565b82525050565b5f60208201905061255e5f83018461253c565b92915050565b5f6020828403121561257957612578612311565b5b5f61258684828501612392565b91505092915050565b5f602082840312156125a4576125a3612311565b5b5f6125b18482850161235f565b91505092915050565b6125c3816123e4565b81146125cd575f80fd5b50565b5f813590506125de816125ba565b92915050565b5f602082840312156125f9576125f8612311565b5b5f612606848285016125d0565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612649826122a0565b810181811067ffffffffffffffff8211171561266857612667612613565b5b80604052505050565b5f61267a612308565b90506126868282612640565b919050565b5f67ffffffffffffffff8211156126a5576126a4612613565b5b602082029050602081019050919050565b5f80fd5b5f6126cc6126c78461268b565b612671565b905080838252602082019050602084028301858111156126ef576126ee6126b6565b5b835b818110156127185780612704888261235f565b8452602084019350506020810190506126f1565b5050509392505050565b5f82601f8301126127365761273561260f565b5b81356127468482602086016126ba565b91505092915050565b5f6020828403121561276457612763612311565b5b5f82013567ffffffffffffffff81111561278157612780612315565b5b61278d84828501612722565b91505092915050565b5f80604083850312156127ac576127ab612311565b5b5f6127b98582860161235f565b92505060206127ca8582860161235f565b9150509250929050565b5f80604083850312156127ea576127e9612311565b5b5f6127f78582860161235f565b9250506020612808858286016125d0565b9150509250929050565b5f819050919050565b5f61283561283061282b84612319565b612812565b612319565b9050919050565b5f6128468261281b565b9050919050565b5f6128578261283c565b9050919050565b6128678161284d565b82525050565b5f6020820190506128805f83018461285e565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806128ca57607f821691505b6020821081036128dd576128dc612886565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61293d602883612268565b9150612948826128e3565b604082019050919050565b5f6020820190508181035f83015261296a81612931565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6129a882612373565b91506129b383612373565b92508282039050818111156129cb576129ca612971565b5b92915050565b5f6129db82612373565b91506129e683612373565b92508282019050808211156129fe576129fd612971565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a38602083612268565b9150612a4382612a04565b602082019050919050565b5f6020820190508181035f830152612a6581612a2c565b9050919050565b5f612a7682612373565b9150612a8183612373565b9250828202612a8f81612373565b91508282048414831517612aa657612aa5612971565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ae482612373565b9150612aef83612373565b925082612aff57612afe612aad565b5b828204905092915050565b7f54726164696e6720616c726561647920616374697665000000000000000000005f82015250565b5f612b3e601683612268565b9150612b4982612b0a565b602082019050919050565b5f6020820190508181035f830152612b6b81612b32565b9050919050565b5f604082019050612b855f83018561253c565b612b926020830184612417565b9392505050565b5f81519050612ba7816125ba565b92915050565b5f60208284031215612bc257612bc1612311565b5b5f612bcf84828501612b99565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612c32602583612268565b9150612c3d82612bd8565b604082019050919050565b5f6020820190508181035f830152612c5f81612c26565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612c9d82612373565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ccf57612cce612971565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612d34602683612268565b9150612d3f82612cda565b604082019050919050565b5f6020820190508181035f830152612d6181612d28565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612dc2602483612268565b9150612dcd82612d68565b604082019050919050565b5f6020820190508181035f830152612def81612db6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e50602283612268565b9150612e5b82612df6565b604082019050919050565b5f6020820190508181035f830152612e7d81612e44565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ede602983612268565b9150612ee982612e84565b604082019050919050565b5f6020820190508181035f830152612f0b81612ed2565b9050919050565b7f596f752063616e2774207472616e7366657220746f6b656e73000000000000005f82015250565b5f612f46601983612268565b9150612f5182612f12565b602082019050919050565b5f6020820190508181035f830152612f7381612f3a565b9050919050565b7f54726164696e67206e6f742061637469766520796574000000000000000000005f82015250565b5f612fae601683612268565b9150612fb982612f7a565b602082019050919050565b5f6020820190508181035f830152612fdb81612fa2565b9050919050565b7f596f752061726520657863656564696e67206d61785478416d6f756e740000005f82015250565b5f613016601d83612268565b915061302182612fe2565b602082019050919050565b5f6020820190508181035f8301526130438161300a565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e5f8201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130a4602183612268565b91506130af8261304a565b604082019050919050565b5f6020820190508181035f8301526130d181613098565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e63650000005f82015250565b5f61310c601d83612268565b9150613117826130d8565b602082019050919050565b5f6020820190508181035f83015261313981613100565b9050919050565b5f81905092915050565b50565b5f6131585f83613140565b91506131638261314a565b5f82019050919050565b5f6131778261314d565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c20725f8201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b5f6131db603a83612268565b91506131e682613181565b604082019050919050565b5f6020820190508181035f830152613208816131cf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613269602583612268565b91506132748261320f565b604082019050919050565b5f6020820190508181035f8301526132968161325d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6132f7602383612268565b91506133028261329d565b604082019050919050565b5f6020820190508181035f830152613324816132eb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613385602683612268565b91506133908261332b565b604082019050919050565b5f6020820190508181035f8301526133b281613379565b905091905056fea26469706673582212201e936cf96cd03265733da8dc549b3be33d30e041cdf91d5f3c86e794a79f947764736f6c63430008140033

Deployed Bytecode Sourcemap

7313:3870:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2647:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2054:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2824:422;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7520:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7486:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1953:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3254:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10010:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7453:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7555:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7702:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10583:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6575:94;;;;;;;;;;;;;:::i;:::-;;7665:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10332:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9602:277;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7593:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10861:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6352:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1841:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11012:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3477:377;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7425:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2305:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7626:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9887:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10718:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10156:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7780:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2488:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10441:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6677:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7397:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1733:100;1787:13;1820:5;1813:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:100;:::o;2647:169::-;2730:4;2747:39;2756:12;:10;:12::i;:::-;2770:7;2779:6;2747:8;:39::i;:::-;2804:4;2797:11;;2647:169;;;;:::o;2054:108::-;2115:7;2142:12;;2135:19;;2054:108;:::o;2824:422::-;2930:4;2947:36;2957:6;2965:9;2976:6;2947:9;:36::i;:::-;2996:24;3023:11;:19;3035:6;3023:19;;;;;;;;;;;;;;;:33;3043:12;:10;:12::i;:::-;3023:33;;;;;;;;;;;;;;;;2996:60;;3095:6;3075:16;:26;;3067:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;3157:57;3166:6;3174:12;:10;:12::i;:::-;3207:6;3188:16;:25;;;;:::i;:::-;3157:8;:57::i;:::-;3234:4;3227:11;;;2824:422;;;;;:::o;7520:28::-;;;;:::o;7486:25::-;;;;;;;;;;;;;:::o;1953:93::-;2011:5;2036:2;2029:9;;1953:93;:::o;3254:215::-;3342:4;3359:80;3368:12;:10;:12::i;:::-;3382:7;3428:10;3391:11;:25;3403:12;:10;:12::i;:::-;3391:25;;;;;;;;;;;;;;;:34;3417:7;3391:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;3359:8;:80::i;:::-;3457:4;3450:11;;3254:215;;;;:::o;10010:138::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10110:7:::1;10101:6;;:16;;;;;;;;;;;;;;;;;;10135:5;10128:4;;:12;;;;;;;;;;;;;;;;;;10010:138:::0;;:::o;7453:26::-;;;;;;;;;;;;;:::o;7555:29::-;;;;:::o;7702:69::-;;;;;;;;;;;;;:::o;10583:127::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10699:3:::1;10688:7;10672:13;:11;:13::i;:::-;:23;;;;:::i;:::-;10671:31;;;;:::i;:::-;10657:11;:45;;;;10583:127:::0;:::o;2170:::-;2244:7;2271:9;:18;2281:7;2271:18;;;;;;;;;;;;;;;;2264:25;;2170:127;;;:::o;6575:94::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6640:21:::1;6658:1;6640:9;:21::i;:::-;6575:94::o:0;7665:30::-;;;;;;;;;;;;;:::o;10332:101::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10419:6:::1;10403:13;;:22;;;;;;;;;;;;;;;;;;10332:101:::0;:::o;9602:277::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9689:14:::1;;;;;;;;;;;9688:15;9680:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;9758:4;9741:14;;:21;;;;;;;;;;;;;;;;;;9789:12;9773:13;:28;;;;9825:15;9812:10;:28;;;;9867:4;9851:13;;:20;;;;;;;;;;;;;;;;;;9602:277:::0;:::o;7593:26::-;;;;:::o;10861:143::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10957:12:::1;10950:29;;;10980:7;:5;:7::i;:::-;10989:6;10950:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10861:143:::0;;:::o;6352:87::-;6398:7;6425:6;;;;;;;;;;;6418:13;;6352:87;:::o;1841:104::-;1897:13;1930:7;1923:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1841:104;:::o;11012:113::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11080:37:::1;11107:9;11088:7;:5;:7::i;:::-;11080:26;;;;:37;;;;:::i;:::-;11012:113:::0;:::o;3477:377::-;3570:4;3587:24;3614:11;:25;3626:12;:10;:12::i;:::-;3614:25;;;;;;;;;;;;;;;:34;3640:7;3614:34;;;;;;;;;;;;;;;;3587:61;;3687:15;3667:16;:35;;3659:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3755:67;3764:12;:10;:12::i;:::-;3778:7;3806:15;3787:16;:34;;;;:::i;:::-;3755:8;:67::i;:::-;3842:4;3835:11;;;3477:377;;;;:::o;7425:19::-;;;;;;;;;;;;;:::o;2305:175::-;2391:4;2408:42;2418:12;:10;:12::i;:::-;2432:9;2443:6;2408:9;:42::i;:::-;2468:4;2461:11;;2305:175;;;;:::o;7626:30::-;;;;:::o;9887:115::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9985:9:::1;9967:15;;:27;;;;;;;;;;;;;;;;;;9887:115:::0;:::o;10718:135::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10842:3:::1;10831:7;10815:13;:11;:13::i;:::-;:23;;;;:::i;:::-;10814:31;;;;:::i;:::-;10796:15;:49;;;;10718:135:::0;:::o;10156:168::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10231:6:::1;10226:91;10247:6;:13;10243:1;:17;10226:91;;;10301:4;10282:5;:16;10288:6;10295:1;10288:9;;;;;;;;:::i;:::-;;;;;;;;10282:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10262:3;;;;;:::i;:::-;;;;10226:91;;;;10156:168:::0;:::o;7780:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2488:151::-;2577:7;2604:11;:18;2616:5;2604:18;;;;;;;;;;;;;;;:27;2623:7;2604:27;;;;;;;;;;;;;;;;2597:34;;2488:151;;;;:::o;10441:134::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10562:5:::1;10533:16;:26;10550:8;10533:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;10441:134:::0;;:::o;6677:192::-;6498:12;:10;:12::i;:::-;6487:23;;:7;:5;:7::i;:::-;:23;;;6479:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6786:1:::1;6766:22;;:8;:22;;::::0;6758:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6842:19;6852:8;6842:9;:19::i;:::-;6677:192:::0;:::o;7397:21::-;;;;;;;;;;;;;:::o;180:98::-;233:7;260:10;253:17;;180:98;:::o;5322:346::-;5441:1;5424:19;;:5;:19;;;5416:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5522:1;5503:21;;:7;:21;;;5495:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5606:6;5576:11;:18;5588:5;5576:18;;;;;;;;;;;;;;;:27;5595:7;5576:27;;;;;;;;;;;;;;;:36;;;;5644:7;5628:32;;5637:5;5628:32;;;5653:6;5628:32;;;;;;:::i;:::-;;;;;;;;5322:346;;;:::o;8619:975::-;8735:1;8726:6;:10;8718:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8802:5;:13;8808:6;8802:13;;;;;;;;;;;;;;;;;;;;;;;;;8801:14;:35;;;;;8820:5;:16;8826:9;8820:16;;;;;;;;;;;;;;;;;;;;;;;;;8819:17;8801:35;8793:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8884:16;:24;8901:6;8884:24;;;;;;;;;;;;;;;;;;;;;;;;;8883:25;:57;;;;;8913:16;:27;8930:9;8913:27;;;;;;;;;;;;;;;;;;;;;;;;;8912:28;8883:57;8879:655;;;8965:14;;;;;;;;;;;8957:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9055:12;9042:10;;9026:13;;:26;;;;:::i;:::-;:41;9023:183;;;9103:4;;;;;;;;;;;9090:17;;:9;:17;;;9087:45;;9128:4;9109:5;:16;9115:9;9109:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;9087:45;9164:4;;;;;;;;;;;9154:14;;:6;:14;;;9151:39;;9186:4;9170:5;:13;9176:6;9170:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;9151:39;9023:183;9238:13;;;;;;;;;;;9234:289;;;9286:11;;9276:6;:21;;9268:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;9366:4;;;;;;;;;;;9353:17;;:9;:17;;;9350:158;;9435:15;;9425:6;9402:20;9412:9;9402;:20::i;:::-;:29;;;;:::i;:::-;:48;;9394:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;9350:158;9234:289;8879:655;9544:42;9560:6;9568:9;9579:6;9544:15;:42::i;:::-;8619:975;;;:::o;6877:173::-;6933:16;6952:6;;;;;;;;;;;6933:25;;6978:8;6969:6;;:17;;;;;;;;;;;;;;;;;;7033:8;7002:40;;7023:8;7002:40;;;;;;;;;;;;6922:128;6877:173;:::o;5797:317::-;5912:6;5887:21;:31;;5879:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5966:12;5984:9;:14;;6006:6;5984:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5965:52;;;6036:7;6028:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;5868:246;5797:317;;:::o;3862:604::-;3986:1;3968:20;;:6;:20;;;3960:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4070:1;4049:23;;:9;:23;;;4041:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4125:47;4146:6;4154:9;4165:6;4125:20;:47::i;:::-;4185:21;4209:9;:17;4219:6;4209:17;;;;;;;;;;;;;;;;4185:41;;4262:6;4245:13;:23;;4237:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4358:6;4342:13;:22;;;;:::i;:::-;4322:9;:17;4332:6;4322:17;;;;;;;;;;;;;;;:42;;;;4399:6;4375:9;:20;4385:9;4375:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4440:9;4423:35;;4432:6;4423:35;;;4451:6;4423:35;;;;;;:::i;:::-;;;;;;;;3949:517;3862:604;;;:::o;5676:91::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:111::-;4905:7;4934:24;4952:5;4934:24;:::i;:::-;4923:35;;4853:111;;;:::o;4970:152::-;5058:39;5091:5;5058:39;:::i;:::-;5051:5;5048:50;5038:78;;5112:1;5109;5102:12;5038:78;4970:152;:::o;5128:169::-;5189:5;5227:6;5214:20;5205:29;;5243:48;5285:5;5243:48;:::i;:::-;5128:169;;;;:::o;5303:504::-;5386:6;5394;5443:2;5431:9;5422:7;5418:23;5414:32;5411:119;;;5449:79;;:::i;:::-;5411:119;5569:1;5594:68;5654:7;5645:6;5634:9;5630:22;5594:68;:::i;:::-;5584:78;;5540:132;5711:2;5737:53;5782:7;5773:6;5762:9;5758:22;5737:53;:::i;:::-;5727:63;;5682:118;5303:504;;;;;:::o;5813:118::-;5900:24;5918:5;5900:24;:::i;:::-;5895:3;5888:37;5813:118;;:::o;5937:222::-;6030:4;6068:2;6057:9;6053:18;6045:26;;6081:71;6149:1;6138:9;6134:17;6125:6;6081:71;:::i;:::-;5937:222;;;;:::o;6165:329::-;6224:6;6273:2;6261:9;6252:7;6248:23;6244:32;6241:119;;;6279:79;;:::i;:::-;6241:119;6399:1;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6370:117;6165:329;;;;:::o;6500:::-;6559:6;6608:2;6596:9;6587:7;6583:23;6579:32;6576:119;;;6614:79;;:::i;:::-;6576:119;6734:1;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6705:117;6500:329;;;;:::o;6835:116::-;6905:21;6920:5;6905:21;:::i;:::-;6898:5;6895:32;6885:60;;6941:1;6938;6931:12;6885:60;6835:116;:::o;6957:133::-;7000:5;7038:6;7025:20;7016:29;;7054:30;7078:5;7054:30;:::i;:::-;6957:133;;;;:::o;7096:323::-;7152:6;7201:2;7189:9;7180:7;7176:23;7172:32;7169:119;;;7207:79;;:::i;:::-;7169:119;7327:1;7352:50;7394:7;7385:6;7374:9;7370:22;7352:50;:::i;:::-;7342:60;;7298:114;7096:323;;;;:::o;7425:117::-;7534:1;7531;7524:12;7548:180;7596:77;7593:1;7586:88;7693:4;7690:1;7683:15;7717:4;7714:1;7707:15;7734:281;7817:27;7839:4;7817:27;:::i;:::-;7809:6;7805:40;7947:6;7935:10;7932:22;7911:18;7899:10;7896:34;7893:62;7890:88;;;7958:18;;:::i;:::-;7890:88;7998:10;7994:2;7987:22;7777:238;7734:281;;:::o;8021:129::-;8055:6;8082:20;;:::i;:::-;8072:30;;8111:33;8139:4;8131:6;8111:33;:::i;:::-;8021:129;;;:::o;8156:311::-;8233:4;8323:18;8315:6;8312:30;8309:56;;;8345:18;;:::i;:::-;8309:56;8395:4;8387:6;8383:17;8375:25;;8455:4;8449;8445:15;8437:23;;8156:311;;;:::o;8473:117::-;8582:1;8579;8572:12;8613:710;8709:5;8734:81;8750:64;8807:6;8750:64;:::i;:::-;8734:81;:::i;:::-;8725:90;;8835:5;8864:6;8857:5;8850:21;8898:4;8891:5;8887:16;8880:23;;8951:4;8943:6;8939:17;8931:6;8927:30;8980:3;8972:6;8969:15;8966:122;;;8999:79;;:::i;:::-;8966:122;9114:6;9097:220;9131:6;9126:3;9123:15;9097:220;;;9206:3;9235:37;9268:3;9256:10;9235:37;:::i;:::-;9230:3;9223:50;9302:4;9297:3;9293:14;9286:21;;9173:144;9157:4;9152:3;9148:14;9141:21;;9097:220;;;9101:21;8715:608;;8613:710;;;;;:::o;9346:370::-;9417:5;9466:3;9459:4;9451:6;9447:17;9443:27;9433:122;;9474:79;;:::i;:::-;9433:122;9591:6;9578:20;9616:94;9706:3;9698:6;9691:4;9683:6;9679:17;9616:94;:::i;:::-;9607:103;;9423:293;9346:370;;;;:::o;9722:539::-;9806:6;9855:2;9843:9;9834:7;9830:23;9826:32;9823:119;;;9861:79;;:::i;:::-;9823:119;10009:1;9998:9;9994:17;9981:31;10039:18;10031:6;10028:30;10025:117;;;10061:79;;:::i;:::-;10025:117;10166:78;10236:7;10227:6;10216:9;10212:22;10166:78;:::i;:::-;10156:88;;9952:302;9722:539;;;;:::o;10267:474::-;10335:6;10343;10392:2;10380:9;10371:7;10367:23;10363:32;10360:119;;;10398:79;;:::i;:::-;10360:119;10518:1;10543:53;10588:7;10579:6;10568:9;10564:22;10543:53;:::i;:::-;10533:63;;10489:117;10645:2;10671:53;10716:7;10707:6;10696:9;10692:22;10671:53;:::i;:::-;10661:63;;10616:118;10267:474;;;;;:::o;10747:468::-;10812:6;10820;10869:2;10857:9;10848:7;10844:23;10840:32;10837:119;;;10875:79;;:::i;:::-;10837:119;10995:1;11020:53;11065:7;11056:6;11045:9;11041:22;11020:53;:::i;:::-;11010:63;;10966:117;11122:2;11148:50;11190:7;11181:6;11170:9;11166:22;11148:50;:::i;:::-;11138:60;;11093:115;10747:468;;;;;:::o;11221:60::-;11249:3;11270:5;11263:12;;11221:60;;;:::o;11287:142::-;11337:9;11370:53;11388:34;11397:24;11415:5;11397:24;:::i;:::-;11388:34;:::i;:::-;11370:53;:::i;:::-;11357:66;;11287:142;;;:::o;11435:126::-;11485:9;11518:37;11549:5;11518:37;:::i;:::-;11505:50;;11435:126;;;:::o;11567:141::-;11632:9;11665:37;11696:5;11665:37;:::i;:::-;11652:50;;11567:141;;;:::o;11714:161::-;11816:52;11862:5;11816:52;:::i;:::-;11811:3;11804:65;11714:161;;:::o;11881:252::-;11989:4;12027:2;12016:9;12012:18;12004:26;;12040:86;12123:1;12112:9;12108:17;12099:6;12040:86;:::i;:::-;11881:252;;;;:::o;12139:180::-;12187:77;12184:1;12177:88;12284:4;12281:1;12274:15;12308:4;12305:1;12298:15;12325:320;12369:6;12406:1;12400:4;12396:12;12386:22;;12453:1;12447:4;12443:12;12474:18;12464:81;;12530:4;12522:6;12518:17;12508:27;;12464:81;12592:2;12584:6;12581:14;12561:18;12558:38;12555:84;;12611:18;;:::i;:::-;12555:84;12376:269;12325:320;;;:::o;12651:227::-;12791:34;12787:1;12779:6;12775:14;12768:58;12860:10;12855:2;12847:6;12843:15;12836:35;12651:227;:::o;12884:366::-;13026:3;13047:67;13111:2;13106:3;13047:67;:::i;:::-;13040:74;;13123:93;13212:3;13123:93;:::i;:::-;13241:2;13236:3;13232:12;13225:19;;12884:366;;;:::o;13256:419::-;13422:4;13460:2;13449:9;13445:18;13437:26;;13509:9;13503:4;13499:20;13495:1;13484:9;13480:17;13473:47;13537:131;13663:4;13537:131;:::i;:::-;13529:139;;13256:419;;;:::o;13681:180::-;13729:77;13726:1;13719:88;13826:4;13823:1;13816:15;13850:4;13847:1;13840:15;13867:194;13907:4;13927:20;13945:1;13927:20;:::i;:::-;13922:25;;13961:20;13979:1;13961:20;:::i;:::-;13956:25;;14005:1;14002;13998:9;13990:17;;14029:1;14023:4;14020:11;14017:37;;;14034:18;;:::i;:::-;14017:37;13867:194;;;;:::o;14067:191::-;14107:3;14126:20;14144:1;14126:20;:::i;:::-;14121:25;;14160:20;14178:1;14160:20;:::i;:::-;14155:25;;14203:1;14200;14196:9;14189:16;;14224:3;14221:1;14218:10;14215:36;;;14231:18;;:::i;:::-;14215:36;14067:191;;;;:::o;14264:182::-;14404:34;14400:1;14392:6;14388:14;14381:58;14264:182;:::o;14452:366::-;14594:3;14615:67;14679:2;14674:3;14615:67;:::i;:::-;14608:74;;14691:93;14780:3;14691:93;:::i;:::-;14809:2;14804:3;14800:12;14793:19;;14452:366;;;:::o;14824:419::-;14990:4;15028:2;15017:9;15013:18;15005:26;;15077:9;15071:4;15067:20;15063:1;15052:9;15048:17;15041:47;15105:131;15231:4;15105:131;:::i;:::-;15097:139;;14824:419;;;:::o;15249:410::-;15289:7;15312:20;15330:1;15312:20;:::i;:::-;15307:25;;15346:20;15364:1;15346:20;:::i;:::-;15341:25;;15401:1;15398;15394:9;15423:30;15441:11;15423:30;:::i;:::-;15412:41;;15602:1;15593:7;15589:15;15586:1;15583:22;15563:1;15556:9;15536:83;15513:139;;15632:18;;:::i;:::-;15513:139;15297:362;15249:410;;;;:::o;15665:180::-;15713:77;15710:1;15703:88;15810:4;15807:1;15800:15;15834:4;15831:1;15824:15;15851:185;15891:1;15908:20;15926:1;15908:20;:::i;:::-;15903:25;;15942:20;15960:1;15942:20;:::i;:::-;15937:25;;15981:1;15971:35;;15986:18;;:::i;:::-;15971:35;16028:1;16025;16021:9;16016:14;;15851:185;;;;:::o;16042:172::-;16182:24;16178:1;16170:6;16166:14;16159:48;16042:172;:::o;16220:366::-;16362:3;16383:67;16447:2;16442:3;16383:67;:::i;:::-;16376:74;;16459:93;16548:3;16459:93;:::i;:::-;16577:2;16572:3;16568:12;16561:19;;16220:366;;;:::o;16592:419::-;16758:4;16796:2;16785:9;16781:18;16773:26;;16845:9;16839:4;16835:20;16831:1;16820:9;16816:17;16809:47;16873:131;16999:4;16873:131;:::i;:::-;16865:139;;16592:419;;;:::o;17017:332::-;17138:4;17176:2;17165:9;17161:18;17153:26;;17189:71;17257:1;17246:9;17242:17;17233:6;17189:71;:::i;:::-;17270:72;17338:2;17327:9;17323:18;17314:6;17270:72;:::i;:::-;17017:332;;;;;:::o;17355:137::-;17409:5;17440:6;17434:13;17425:22;;17456:30;17480:5;17456:30;:::i;:::-;17355:137;;;;:::o;17498:345::-;17565:6;17614:2;17602:9;17593:7;17589:23;17585:32;17582:119;;;17620:79;;:::i;:::-;17582:119;17740:1;17765:61;17818:7;17809:6;17798:9;17794:22;17765:61;:::i;:::-;17755:71;;17711:125;17498:345;;;;:::o;17849:224::-;17989:34;17985:1;17977:6;17973:14;17966:58;18058:7;18053:2;18045:6;18041:15;18034:32;17849:224;:::o;18079:366::-;18221:3;18242:67;18306:2;18301:3;18242:67;:::i;:::-;18235:74;;18318:93;18407:3;18318:93;:::i;:::-;18436:2;18431:3;18427:12;18420:19;;18079:366;;;:::o;18451:419::-;18617:4;18655:2;18644:9;18640:18;18632:26;;18704:9;18698:4;18694:20;18690:1;18679:9;18675:17;18668:47;18732:131;18858:4;18732:131;:::i;:::-;18724:139;;18451:419;;;:::o;18876:180::-;18924:77;18921:1;18914:88;19021:4;19018:1;19011:15;19045:4;19042:1;19035:15;19062:233;19101:3;19124:24;19142:5;19124:24;:::i;:::-;19115:33;;19170:66;19163:5;19160:77;19157:103;;19240:18;;:::i;:::-;19157:103;19287:1;19280:5;19276:13;19269:20;;19062:233;;;:::o;19301:225::-;19441:34;19437:1;19429:6;19425:14;19418:58;19510:8;19505:2;19497:6;19493:15;19486:33;19301:225;:::o;19532:366::-;19674:3;19695:67;19759:2;19754:3;19695:67;:::i;:::-;19688:74;;19771:93;19860:3;19771:93;:::i;:::-;19889:2;19884:3;19880:12;19873:19;;19532:366;;;:::o;19904:419::-;20070:4;20108:2;20097:9;20093:18;20085:26;;20157:9;20151:4;20147:20;20143:1;20132:9;20128:17;20121:47;20185:131;20311:4;20185:131;:::i;:::-;20177:139;;19904:419;;;:::o;20329:223::-;20469:34;20465:1;20457:6;20453:14;20446:58;20538:6;20533:2;20525:6;20521:15;20514:31;20329:223;:::o;20558:366::-;20700:3;20721:67;20785:2;20780:3;20721:67;:::i;:::-;20714:74;;20797:93;20886:3;20797:93;:::i;:::-;20915:2;20910:3;20906:12;20899:19;;20558:366;;;:::o;20930:419::-;21096:4;21134:2;21123:9;21119:18;21111:26;;21183:9;21177:4;21173:20;21169:1;21158:9;21154:17;21147:47;21211:131;21337:4;21211:131;:::i;:::-;21203:139;;20930:419;;;:::o;21355:221::-;21495:34;21491:1;21483:6;21479:14;21472:58;21564:4;21559:2;21551:6;21547:15;21540:29;21355:221;:::o;21582:366::-;21724:3;21745:67;21809:2;21804:3;21745:67;:::i;:::-;21738:74;;21821:93;21910:3;21821:93;:::i;:::-;21939:2;21934:3;21930:12;21923:19;;21582:366;;;:::o;21954:419::-;22120:4;22158:2;22147:9;22143:18;22135:26;;22207:9;22201:4;22197:20;22193:1;22182:9;22178:17;22171:47;22235:131;22361:4;22235:131;:::i;:::-;22227:139;;21954:419;;;:::o;22379:228::-;22519:34;22515:1;22507:6;22503:14;22496:58;22588:11;22583:2;22575:6;22571:15;22564:36;22379:228;:::o;22613:366::-;22755:3;22776:67;22840:2;22835:3;22776:67;:::i;:::-;22769:74;;22852:93;22941:3;22852:93;:::i;:::-;22970:2;22965:3;22961:12;22954:19;;22613:366;;;:::o;22985:419::-;23151:4;23189:2;23178:9;23174:18;23166:26;;23238:9;23232:4;23228:20;23224:1;23213:9;23209:17;23202:47;23266:131;23392:4;23266:131;:::i;:::-;23258:139;;22985:419;;;:::o;23410:175::-;23550:27;23546:1;23538:6;23534:14;23527:51;23410:175;:::o;23591:366::-;23733:3;23754:67;23818:2;23813:3;23754:67;:::i;:::-;23747:74;;23830:93;23919:3;23830:93;:::i;:::-;23948:2;23943:3;23939:12;23932:19;;23591:366;;;:::o;23963:419::-;24129:4;24167:2;24156:9;24152:18;24144:26;;24216:9;24210:4;24206:20;24202:1;24191:9;24187:17;24180:47;24244:131;24370:4;24244:131;:::i;:::-;24236:139;;23963:419;;;:::o;24388:172::-;24528:24;24524:1;24516:6;24512:14;24505:48;24388:172;:::o;24566:366::-;24708:3;24729:67;24793:2;24788:3;24729:67;:::i;:::-;24722:74;;24805:93;24894:3;24805:93;:::i;:::-;24923:2;24918:3;24914:12;24907:19;;24566:366;;;:::o;24938:419::-;25104:4;25142:2;25131:9;25127:18;25119:26;;25191:9;25185:4;25181:20;25177:1;25166:9;25162:17;25155:47;25219:131;25345:4;25219:131;:::i;:::-;25211:139;;24938:419;;;:::o;25363:179::-;25503:31;25499:1;25491:6;25487:14;25480:55;25363:179;:::o;25548:366::-;25690:3;25711:67;25775:2;25770:3;25711:67;:::i;:::-;25704:74;;25787:93;25876:3;25787:93;:::i;:::-;25905:2;25900:3;25896:12;25889:19;;25548:366;;;:::o;25920:419::-;26086:4;26124:2;26113:9;26109:18;26101:26;;26173:9;26167:4;26163:20;26159:1;26148:9;26144:17;26137:47;26201:131;26327:4;26201:131;:::i;:::-;26193:139;;25920:419;;;:::o;26345:220::-;26485:34;26481:1;26473:6;26469:14;26462:58;26554:3;26549:2;26541:6;26537:15;26530:28;26345:220;:::o;26571:366::-;26713:3;26734:67;26798:2;26793:3;26734:67;:::i;:::-;26727:74;;26810:93;26899:3;26810:93;:::i;:::-;26928:2;26923:3;26919:12;26912:19;;26571:366;;;:::o;26943:419::-;27109:4;27147:2;27136:9;27132:18;27124:26;;27196:9;27190:4;27186:20;27182:1;27171:9;27167:17;27160:47;27224:131;27350:4;27224:131;:::i;:::-;27216:139;;26943:419;;;:::o;27368:179::-;27508:31;27504:1;27496:6;27492:14;27485:55;27368:179;:::o;27553:366::-;27695:3;27716:67;27780:2;27775:3;27716:67;:::i;:::-;27709:74;;27792:93;27881:3;27792:93;:::i;:::-;27910:2;27905:3;27901:12;27894:19;;27553:366;;;:::o;27925:419::-;28091:4;28129:2;28118:9;28114:18;28106:26;;28178:9;28172:4;28168:20;28164:1;28153:9;28149:17;28142:47;28206:131;28332:4;28206:131;:::i;:::-;28198:139;;27925:419;;;:::o;28350:147::-;28451:11;28488:3;28473:18;;28350:147;;;;:::o;28503:114::-;;:::o;28623:398::-;28782:3;28803:83;28884:1;28879:3;28803:83;:::i;:::-;28796:90;;28895:93;28984:3;28895:93;:::i;:::-;29013:1;29008:3;29004:11;28997:18;;28623:398;;;:::o;29027:379::-;29211:3;29233:147;29376:3;29233:147;:::i;:::-;29226:154;;29397:3;29390:10;;29027:379;;;:::o;29412:245::-;29552:34;29548:1;29540:6;29536:14;29529:58;29621:28;29616:2;29608:6;29604:15;29597:53;29412:245;:::o;29663:366::-;29805:3;29826:67;29890:2;29885:3;29826:67;:::i;:::-;29819:74;;29902:93;29991:3;29902:93;:::i;:::-;30020:2;30015:3;30011:12;30004:19;;29663:366;;;:::o;30035:419::-;30201:4;30239:2;30228:9;30224:18;30216:26;;30288:9;30282:4;30278:20;30274:1;30263:9;30259:17;30252:47;30316:131;30442:4;30316:131;:::i;:::-;30308:139;;30035:419;;;:::o;30460:224::-;30600:34;30596:1;30588:6;30584:14;30577:58;30669:7;30664:2;30656:6;30652:15;30645:32;30460:224;:::o;30690:366::-;30832:3;30853:67;30917:2;30912:3;30853:67;:::i;:::-;30846:74;;30929:93;31018:3;30929:93;:::i;:::-;31047:2;31042:3;31038:12;31031:19;;30690:366;;;:::o;31062:419::-;31228:4;31266:2;31255:9;31251:18;31243:26;;31315:9;31309:4;31305:20;31301:1;31290:9;31286:17;31279:47;31343:131;31469:4;31343:131;:::i;:::-;31335:139;;31062:419;;;:::o;31487:222::-;31627:34;31623:1;31615:6;31611:14;31604:58;31696:5;31691:2;31683:6;31679:15;31672:30;31487:222;:::o;31715:366::-;31857:3;31878:67;31942:2;31937:3;31878:67;:::i;:::-;31871:74;;31954:93;32043:3;31954:93;:::i;:::-;32072:2;32067:3;32063:12;32056:19;;31715:366;;;:::o;32087:419::-;32253:4;32291:2;32280:9;32276:18;32268:26;;32340:9;32334:4;32330:20;32326:1;32315:9;32311:17;32304:47;32368:131;32494:4;32368:131;:::i;:::-;32360:139;;32087:419;;;:::o;32512:225::-;32652:34;32648:1;32640:6;32636:14;32629:58;32721:8;32716:2;32708:6;32704:15;32697:33;32512:225;:::o;32743:366::-;32885:3;32906:67;32970:2;32965:3;32906:67;:::i;:::-;32899:74;;32982:93;33071:3;32982:93;:::i;:::-;33100:2;33095:3;33091:12;33084:19;;32743:366;;;:::o;33115:419::-;33281:4;33319:2;33308:9;33304:18;33296:26;;33368:9;33362:4;33358:20;33354:1;33343:9;33339:17;33332:47;33396:131;33522:4;33396:131;:::i;:::-;33388:139;;33115:419;;;:::o

Swarm Source

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