ETH Price: $3,249.01 (+3.43%)
Gas: 6 Gwei

Token

TYCHE (TYC)
 

Overview

Max Total Supply

1,000,000 TYC

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 TYC

Value
$0.00
0x0bcde6e69fe6b30d253902f20e59055befdb4a07
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:
TYCHE

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-03
*/

/*
Tyche is a sign of fortune and growth. 

The weak handed will not survive.

We will not be making any socials, we want organic community growth.

Join us on the path and Journey to wealth and Financial success we want to bring back what the space been missing true passion and desire.

Sellers won’t succeed on a path of greed WITH TYCHE we will succeed and bring succees to theses red SEAS.
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract TYCHE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**6 * 10**9;
    uint256 private fee1=40;
    uint256 private fee2=60;
    uint256 private liqfee=35;
    uint256 private feeMax=100;
    string private constant _name = "TYCHE";
    string private constant _symbol = "TYC";
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    address payable private _feeAddrWallet3;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _feeAddrWallet1 = payable(msg.sender);
        _feeAddrWallet2 = payable(0x470a9e608A276a4650d24f68056Bfeab086ed8F0);
        _feeAddrWallet3 = payable(0x906ce02a59569D517469a64ba4017b6aBe03C8Ee);
        _tOwned[address(this)] = _tTotal.div(2);
        _tOwned[0x000000000000000000000000000000000000dEaD] = _tTotal.div(2);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        _isExcludedFromFee[_feeAddrWallet3] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal.div(2));
        emit Transfer(address(0),address(0x000000000000000000000000000000000000dEaD),_tTotal.div(2));
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
   
    function changeFees(uint8 _fee1,uint8 _fee2,uint8 _liq) external {
        
        require(_msgSender() == _feeAddrWallet1);
        require(_fee1 <= feeMax && _fee2 <= feeMax && liqfee <= feeMax,"Cannot set fees above maximum");
        fee1 = _fee1;
        fee2 = _fee2;
        liqfee = _liq;
    }

    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _feeAddrWallet1);
        minBalance = newMin;

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

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

        _tax = fee1.add(liqfee);
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _tax = fee2.add(liqfee);
            }
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 5 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapAndLiquify(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
		
        _transferStandard(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function swapAndLiquify(uint256 tokenAmount) private {
        uint256 half = liqfee.div(2);
        uint256 part = fee2.add(half);
        uint256 sum = fee2.add(liqfee);
        uint256 swapTotal = tokenAmount.mul(part).div(sum);
        swapTokensForEth(swapTotal);
        addLiquidity(tokenAmount.sub(swapTotal),address(this).balance.mul(half).div(part),_feeAddrWallet1);
    }

    function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(10).mul(5));
        _feeAddrWallet2.transfer(amount.div(100).mul(25));
        _feeAddrWallet3.transfer(amount.div(100).mul(25));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (3 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapAndLiquify(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _feeAddrWallet1);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_feeAddrWallet1,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"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":[{"internalType":"uint8","name":"_fee1","type":"uint8"},{"internalType":"uint8","name":"_fee2","type":"uint8"},{"internalType":"uint8","name":"_liq","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526028600955603c600a556023600b556064600c5562000054606462000040600266038d7ea4c68000620008cf60201b62000fb81790919060201c565b6200095360201b620010331790919060201c565b600d556200007a6103e866038d7ea4c680006200095360201b620010331790919060201c565b600e556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000620000c5620009a560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073470a9e608a276a4650d24f68056bfeab086ed8f0601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073906ce02a59569d517469a64ba4017b6abe03c8ee601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000270600266038d7ea4c680006200095360201b620010331790919060201c565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002d5600266038d7ea4c680006200095360201b620010331790919060201c565b6002600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016004600062000330620009ad60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200060557600080fd5b505afa1580156200061a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000640919062000a55565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620006c557600080fd5b505afa158015620006da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000700919062000a55565b6040518363ffffffff1660e01b81526004016200071f92919062000b0b565b602060405180830381600087803b1580156200073a57600080fd5b505af11580156200074f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000775919062000a55565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000827600266038d7ea4c680006200095360201b620010331790919060201c565b60405162000836919062000b7e565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620008b2600266038d7ea4c680006200095360201b620010331790919060201c565b604051620008c1919062000b7e565b60405180910390a362000d9c565b600080831415620008e457600090506200094d565b60008284620008f4919062000bef565b905082848262000905919062000bb7565b1462000948576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200093f9062000b5c565b60405180910390fd5b809150505b92915050565b60006200099d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620009d660201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000a20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a17919062000b38565b60405180910390fd5b506000838562000a31919062000bb7565b9050809150509392505050565b60008151905062000a4f8162000d82565b92915050565b60006020828403121562000a6857600080fd5b600062000a788482850162000a3e565b91505092915050565b62000a8c8162000c50565b82525050565b600062000a9f8262000b9b565b62000aab818562000ba6565b935062000abd81856020860162000c8e565b62000ac88162000d22565b840191505092915050565b600062000ae260218362000ba6565b915062000aef8262000d33565b604082019050919050565b62000b058162000c84565b82525050565b600060408201905062000b22600083018562000a81565b62000b31602083018462000a81565b9392505050565b6000602082019050818103600083015262000b54818462000a92565b905092915050565b6000602082019050818103600083015262000b778162000ad3565b9050919050565b600060208201905062000b95600083018462000afa565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000bc48262000c84565b915062000bd18362000c84565b92508262000be45762000be362000cf3565b5b828204905092915050565b600062000bfc8262000c84565b915062000c098362000c84565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c455762000c4462000cc4565b5b828202905092915050565b600062000c5d8262000c64565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000cae57808201518184015260208101905062000c91565b8381111562000cbe576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b62000d8d8162000c50565b811462000d9957600080fd5b50565b6133db8062000dac6000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610384578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780637e37e9bb146103055780638da5cb5b1461032e57806395d89b41146103595761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612a9f565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906125b0565b610492565b6040516101839190612a84565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae91906124d3565b6104b0565b005b3480156101c157600080fd5b506101ca610652565b6040516101d79190612c21565b60405180910390f35b3480156101ec57600080fd5b5061020760048036038101906102029190612561565b610661565b6040516102149190612a84565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906124d3565b61073a565b005b34801561025257600080fd5b5061025b61082a565b6040516102689190612c96565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612656565b610833565b005b3480156102a657600080fd5b506102af61089e565b005b3480156102bd57600080fd5b506102d860048036038101906102d391906124d3565b610910565b6040516102e59190612c21565b60405180910390f35b3480156102fa57600080fd5b50610303610959565b005b34801561031157600080fd5b5061032c600480360381019061032791906126f7565b610aac565b005b34801561033a57600080fd5b50610343610b99565b60405161035091906129df565b60405180910390f35b34801561036557600080fd5b5061036e610bc2565b60405161037b9190612a9f565b60405180910390f35b34801561039057600080fd5b506103ab60048036038101906103a691906125b0565b610bff565b6040516103b89190612a84565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e391906125ec565b610c1d565b005b3480156103f657600080fd5b506103ff610d6d565b005b34801561040d57600080fd5b50610416610de7565b005b34801561042457600080fd5b5061043f600480360381019061043a9190612525565b610f31565b60405161044c9190612c21565b60405180910390f35b60606040518060400160405280600581526020017f5459434845000000000000000000000000000000000000000000000000000000815250905090565b60006104a661049f61107d565b8484611085565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f161107d565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e91906129df565b60206040518083038186803b1580156105a657600080fd5b505afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de919061267f565b6040518363ffffffff1660e01b81526004016105fb9291906129fa565b602060405180830381600087803b15801561061557600080fd5b505af1158015610629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064d919061262d565b505050565b600066038d7ea4c68000905090565b600061066e848484611250565b61072f8461067a61107d565b61072a8560405180606001604052806028815260200161337e60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106e061107d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119099092919063ffffffff16565b611085565b600190509392505050565b61074261107d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c690612b61565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661087461107d565b73ffffffffffffffffffffffffffffffffffffffff161461089457600080fd5b80600e8190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108df61107d565b73ffffffffffffffffffffffffffffffffffffffff16146108ff57600080fd5b600047905061090d8161196d565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61096161107d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e590612b61565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aed61107d565b73ffffffffffffffffffffffffffffffffffffffff1614610b0d57600080fd5b600c548360ff1611158015610b275750600c548260ff1611155b8015610b375750600c54600b5411155b610b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6d90612c01565b60405180910390fd5b8260ff166009819055508160ff16600a819055508060ff16600b81905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5459430000000000000000000000000000000000000000000000000000000000815250905090565b6000610c13610c0c61107d565b8484611250565b6001905092915050565b610c2561107d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca990612b61565b60405180910390fd5b60005b8151811015610d6957600160056000848481518110610cfd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d6190612f6d565b915050610cb5565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dae61107d565b73ffffffffffffffffffffffffffffffffffffffff1614610dce57600080fd5b6000610dd930610910565b9050610de481611b1d565b50565b610def61107d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7390612b61565b60405180910390fd5b601360149054906101000a900460ff1615610ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec390612be1565b60405180910390fd5b610ee6610ed830610910565b47610ee1610b99565b611c07565b6001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555060b442610f299190612d57565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080831415610fcb576000905061102d565b60008284610fd99190612dde565b9050828482610fe89190612dad565b14611028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101f90612b41565b60405180910390fd5b809150505b92915050565b600061107583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d2b565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec90612bc1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115c90612b01565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112439190612c21565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790612ba1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132790612ae1565b60405180910390fd5b60008111611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a90612b81565b60405180910390fd5b61138a600b54600954611d8e90919063ffffffff16565b600881905550611398610b99565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140657506113d6610b99565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118f957600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114af5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114b857600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115635750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115b95750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115c6575060075442105b1561167657600d548111156115da57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061162557600080fd5b601e426116329190612d57565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117215750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117775750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561179a57611793600b54600a54611d8e90919063ffffffff16565b6008819055505b601360159054906101000a900460ff161580156118055750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561181d5750601360169054906101000a900460ff165b80156118735750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118f85760075442116118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b390612ac1565b60405180910390fd5b60006118c730610910565b9050600e548111156118f6576118dc81611b1d565b600047905060008111156118f4576118f34761196d565b5b505b505b5b611904838383611dec565b505050565b6000838311158290611951576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119489190612a9f565b60405180910390fd5b50600083856119609190612e38565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6119d060056119c2600a8661103390919063ffffffff16565b610fb890919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156119fb573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611a5f6019611a5160648661103390919063ffffffff16565b610fb890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611a8a573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611aee6019611ae060648661103390919063ffffffff16565b610fb890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b19573d6000803e3d6000fd5b5050565b6000611b356002600b5461103390919063ffffffff16565b90506000611b4e82600a54611d8e90919063ffffffff16565b90506000611b69600b54600a54611d8e90919063ffffffff16565b90506000611b9282611b848588610fb890919063ffffffff16565b61103390919063ffffffff16565b9050611b9d81612027565b611c00611bb3828761232190919063ffffffff16565b611bd885611bca8847610fb890919063ffffffff16565b61103390919063ffffffff16565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c07565b5050505050565b6001601360156101000a81548160ff021916908315150217905550611c4f30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611085565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611cb696959493929190612a23565b6060604051808303818588803b158015611ccf57600080fd5b505af1158015611ce3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d0891906126a8565b5050506000601360156101000a81548160ff021916908315150217905550505050565b60008083118290611d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d699190612a9f565b60405180910390fd5b5060008385611d819190612dad565b9050809150509392505050565b6000808284611d9d9190612d57565b905083811015611de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd990612b21565b60405180910390fd5b8091505092915050565b600080611df88361236b565b91509150611e4e83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232190919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee382600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120189190612c21565b60405180910390a35050505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612085577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156120b35781602001602082028036833780820191505090505b50905030816000815181106120f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561219357600080fd5b505afa1580156121a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cb91906124fc565b81600181518110612205577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061226c30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611085565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122d0959493929190612c3c565b600060405180830381600087803b1580156122ea57600080fd5b505af11580156122fe573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600061236383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611909565b905092915050565b60008060006123996103e861238b60085487610fb890919063ffffffff16565b61103390919063ffffffff16565b905060006123b0828661232190919063ffffffff16565b90508082935093505050915091565b60006123d26123cd84612cd6565b612cb1565b905080838252602082019050828560208602820111156123f157600080fd5b60005b858110156124215781612407888261242b565b8452602084019350602083019250506001810190506123f4565b5050509392505050565b60008135905061243a81613321565b92915050565b60008151905061244f81613321565b92915050565b600082601f83011261246657600080fd5b81356124768482602086016123bf565b91505092915050565b60008151905061248e81613338565b92915050565b6000813590506124a38161334f565b92915050565b6000815190506124b88161334f565b92915050565b6000813590506124cd81613366565b92915050565b6000602082840312156124e557600080fd5b60006124f38482850161242b565b91505092915050565b60006020828403121561250e57600080fd5b600061251c84828501612440565b91505092915050565b6000806040838503121561253857600080fd5b60006125468582860161242b565b92505060206125578582860161242b565b9150509250929050565b60008060006060848603121561257657600080fd5b60006125848682870161242b565b93505060206125958682870161242b565b92505060406125a686828701612494565b9150509250925092565b600080604083850312156125c357600080fd5b60006125d18582860161242b565b92505060206125e285828601612494565b9150509250929050565b6000602082840312156125fe57600080fd5b600082013567ffffffffffffffff81111561261857600080fd5b61262484828501612455565b91505092915050565b60006020828403121561263f57600080fd5b600061264d8482850161247f565b91505092915050565b60006020828403121561266857600080fd5b600061267684828501612494565b91505092915050565b60006020828403121561269157600080fd5b600061269f848285016124a9565b91505092915050565b6000806000606084860312156126bd57600080fd5b60006126cb868287016124a9565b93505060206126dc868287016124a9565b92505060406126ed868287016124a9565b9150509250925092565b60008060006060848603121561270c57600080fd5b600061271a868287016124be565b935050602061272b868287016124be565b925050604061273c868287016124be565b9150509250925092565b6000612752838361276d565b60208301905092915050565b61276781612ec1565b82525050565b61277681612e6c565b82525050565b61278581612e6c565b82525050565b600061279682612d12565b6127a08185612d35565b93506127ab83612d02565b8060005b838110156127dc5781516127c38882612746565b97506127ce83612d28565b9250506001810190506127af565b5085935050505092915050565b6127f281612e7e565b82525050565b61280181612ed3565b82525050565b600061281282612d1d565b61281c8185612d46565b935061282c818560208601612f09565b61283581613043565b840191505092915050565b600061284d602883612d46565b915061285882613054565b604082019050919050565b6000612870602383612d46565b915061287b826130a3565b604082019050919050565b6000612893602283612d46565b915061289e826130f2565b604082019050919050565b60006128b6601b83612d46565b91506128c182613141565b602082019050919050565b60006128d9602183612d46565b91506128e48261316a565b604082019050919050565b60006128fc602083612d46565b9150612907826131b9565b602082019050919050565b600061291f602983612d46565b915061292a826131e2565b604082019050919050565b6000612942602583612d46565b915061294d82613231565b604082019050919050565b6000612965602483612d46565b915061297082613280565b604082019050919050565b6000612988601783612d46565b9150612993826132cf565b602082019050919050565b60006129ab601d83612d46565b91506129b6826132f8565b602082019050919050565b6129ca81612eaa565b82525050565b6129d981612eb4565b82525050565b60006020820190506129f4600083018461277c565b92915050565b6000604082019050612a0f600083018561275e565b612a1c60208301846129c1565b9392505050565b600060c082019050612a38600083018961277c565b612a4560208301886129c1565b612a5260408301876127f8565b612a5f60608301866127f8565b612a6c608083018561277c565b612a7960a08301846129c1565b979650505050505050565b6000602082019050612a9960008301846127e9565b92915050565b60006020820190508181036000830152612ab98184612807565b905092915050565b60006020820190508181036000830152612ada81612840565b9050919050565b60006020820190508181036000830152612afa81612863565b9050919050565b60006020820190508181036000830152612b1a81612886565b9050919050565b60006020820190508181036000830152612b3a816128a9565b9050919050565b60006020820190508181036000830152612b5a816128cc565b9050919050565b60006020820190508181036000830152612b7a816128ef565b9050919050565b60006020820190508181036000830152612b9a81612912565b9050919050565b60006020820190508181036000830152612bba81612935565b9050919050565b60006020820190508181036000830152612bda81612958565b9050919050565b60006020820190508181036000830152612bfa8161297b565b9050919050565b60006020820190508181036000830152612c1a8161299e565b9050919050565b6000602082019050612c3660008301846129c1565b92915050565b600060a082019050612c5160008301886129c1565b612c5e60208301876127f8565b8181036040830152612c70818661278b565b9050612c7f606083018561277c565b612c8c60808301846129c1565b9695505050505050565b6000602082019050612cab60008301846129d0565b92915050565b6000612cbb612ccc565b9050612cc78282612f3c565b919050565b6000604051905090565b600067ffffffffffffffff821115612cf157612cf0613014565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d6282612eaa565b9150612d6d83612eaa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612da257612da1612fb6565b5b828201905092915050565b6000612db882612eaa565b9150612dc383612eaa565b925082612dd357612dd2612fe5565b5b828204905092915050565b6000612de982612eaa565b9150612df483612eaa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e2d57612e2c612fb6565b5b828202905092915050565b6000612e4382612eaa565b9150612e4e83612eaa565b925082821015612e6157612e60612fb6565b5b828203905092915050565b6000612e7782612e8a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612ecc82612ee5565b9050919050565b6000612ede82612eaa565b9050919050565b6000612ef082612ef7565b9050919050565b6000612f0282612e8a565b9050919050565b60005b83811015612f27578082015181840152602081019050612f0c565b83811115612f36576000848401525b50505050565b612f4582613043565b810181811067ffffffffffffffff82111715612f6457612f63613014565b5b80604052505050565b6000612f7882612eaa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fab57612faa612fb6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b61332a81612e6c565b811461333557600080fd5b50565b61334181612e7e565b811461334c57600080fd5b50565b61335881612eaa565b811461336357600080fd5b50565b61336f81612eb4565b811461337a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220de769fafdd74ae35249a36b92fc144098c8d85eb528e490580d48701b314310064736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610384578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780637e37e9bb146103055780638da5cb5b1461032e57806395d89b41146103595761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612a9f565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906125b0565b610492565b6040516101839190612a84565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae91906124d3565b6104b0565b005b3480156101c157600080fd5b506101ca610652565b6040516101d79190612c21565b60405180910390f35b3480156101ec57600080fd5b5061020760048036038101906102029190612561565b610661565b6040516102149190612a84565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906124d3565b61073a565b005b34801561025257600080fd5b5061025b61082a565b6040516102689190612c96565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612656565b610833565b005b3480156102a657600080fd5b506102af61089e565b005b3480156102bd57600080fd5b506102d860048036038101906102d391906124d3565b610910565b6040516102e59190612c21565b60405180910390f35b3480156102fa57600080fd5b50610303610959565b005b34801561031157600080fd5b5061032c600480360381019061032791906126f7565b610aac565b005b34801561033a57600080fd5b50610343610b99565b60405161035091906129df565b60405180910390f35b34801561036557600080fd5b5061036e610bc2565b60405161037b9190612a9f565b60405180910390f35b34801561039057600080fd5b506103ab60048036038101906103a691906125b0565b610bff565b6040516103b89190612a84565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e391906125ec565b610c1d565b005b3480156103f657600080fd5b506103ff610d6d565b005b34801561040d57600080fd5b50610416610de7565b005b34801561042457600080fd5b5061043f600480360381019061043a9190612525565b610f31565b60405161044c9190612c21565b60405180910390f35b60606040518060400160405280600581526020017f5459434845000000000000000000000000000000000000000000000000000000815250905090565b60006104a661049f61107d565b8484611085565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f161107d565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e91906129df565b60206040518083038186803b1580156105a657600080fd5b505afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de919061267f565b6040518363ffffffff1660e01b81526004016105fb9291906129fa565b602060405180830381600087803b15801561061557600080fd5b505af1158015610629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064d919061262d565b505050565b600066038d7ea4c68000905090565b600061066e848484611250565b61072f8461067a61107d565b61072a8560405180606001604052806028815260200161337e60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106e061107d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119099092919063ffffffff16565b611085565b600190509392505050565b61074261107d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c690612b61565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661087461107d565b73ffffffffffffffffffffffffffffffffffffffff161461089457600080fd5b80600e8190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108df61107d565b73ffffffffffffffffffffffffffffffffffffffff16146108ff57600080fd5b600047905061090d8161196d565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61096161107d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e590612b61565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aed61107d565b73ffffffffffffffffffffffffffffffffffffffff1614610b0d57600080fd5b600c548360ff1611158015610b275750600c548260ff1611155b8015610b375750600c54600b5411155b610b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6d90612c01565b60405180910390fd5b8260ff166009819055508160ff16600a819055508060ff16600b81905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5459430000000000000000000000000000000000000000000000000000000000815250905090565b6000610c13610c0c61107d565b8484611250565b6001905092915050565b610c2561107d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca990612b61565b60405180910390fd5b60005b8151811015610d6957600160056000848481518110610cfd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d6190612f6d565b915050610cb5565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dae61107d565b73ffffffffffffffffffffffffffffffffffffffff1614610dce57600080fd5b6000610dd930610910565b9050610de481611b1d565b50565b610def61107d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7390612b61565b60405180910390fd5b601360149054906101000a900460ff1615610ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec390612be1565b60405180910390fd5b610ee6610ed830610910565b47610ee1610b99565b611c07565b6001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555060b442610f299190612d57565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080831415610fcb576000905061102d565b60008284610fd99190612dde565b9050828482610fe89190612dad565b14611028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101f90612b41565b60405180910390fd5b809150505b92915050565b600061107583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d2b565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec90612bc1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115c90612b01565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112439190612c21565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790612ba1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132790612ae1565b60405180910390fd5b60008111611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a90612b81565b60405180910390fd5b61138a600b54600954611d8e90919063ffffffff16565b600881905550611398610b99565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140657506113d6610b99565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118f957600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114af5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114b857600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115635750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115b95750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115c6575060075442105b1561167657600d548111156115da57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061162557600080fd5b601e426116329190612d57565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117215750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117775750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561179a57611793600b54600a54611d8e90919063ffffffff16565b6008819055505b601360159054906101000a900460ff161580156118055750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561181d5750601360169054906101000a900460ff165b80156118735750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118f85760075442116118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b390612ac1565b60405180910390fd5b60006118c730610910565b9050600e548111156118f6576118dc81611b1d565b600047905060008111156118f4576118f34761196d565b5b505b505b5b611904838383611dec565b505050565b6000838311158290611951576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119489190612a9f565b60405180910390fd5b50600083856119609190612e38565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6119d060056119c2600a8661103390919063ffffffff16565b610fb890919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156119fb573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611a5f6019611a5160648661103390919063ffffffff16565b610fb890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611a8a573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611aee6019611ae060648661103390919063ffffffff16565b610fb890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b19573d6000803e3d6000fd5b5050565b6000611b356002600b5461103390919063ffffffff16565b90506000611b4e82600a54611d8e90919063ffffffff16565b90506000611b69600b54600a54611d8e90919063ffffffff16565b90506000611b9282611b848588610fb890919063ffffffff16565b61103390919063ffffffff16565b9050611b9d81612027565b611c00611bb3828761232190919063ffffffff16565b611bd885611bca8847610fb890919063ffffffff16565b61103390919063ffffffff16565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c07565b5050505050565b6001601360156101000a81548160ff021916908315150217905550611c4f30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611085565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611cb696959493929190612a23565b6060604051808303818588803b158015611ccf57600080fd5b505af1158015611ce3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d0891906126a8565b5050506000601360156101000a81548160ff021916908315150217905550505050565b60008083118290611d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d699190612a9f565b60405180910390fd5b5060008385611d819190612dad565b9050809150509392505050565b6000808284611d9d9190612d57565b905083811015611de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd990612b21565b60405180910390fd5b8091505092915050565b600080611df88361236b565b91509150611e4e83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232190919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee382600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120189190612c21565b60405180910390a35050505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612085577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156120b35781602001602082028036833780820191505090505b50905030816000815181106120f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561219357600080fd5b505afa1580156121a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cb91906124fc565b81600181518110612205577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061226c30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611085565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122d0959493929190612c3c565b600060405180830381600087803b1580156122ea57600080fd5b505af11580156122fe573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600061236383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611909565b905092915050565b60008060006123996103e861238b60085487610fb890919063ffffffff16565b61103390919063ffffffff16565b905060006123b0828661232190919063ffffffff16565b90508082935093505050915091565b60006123d26123cd84612cd6565b612cb1565b905080838252602082019050828560208602820111156123f157600080fd5b60005b858110156124215781612407888261242b565b8452602084019350602083019250506001810190506123f4565b5050509392505050565b60008135905061243a81613321565b92915050565b60008151905061244f81613321565b92915050565b600082601f83011261246657600080fd5b81356124768482602086016123bf565b91505092915050565b60008151905061248e81613338565b92915050565b6000813590506124a38161334f565b92915050565b6000815190506124b88161334f565b92915050565b6000813590506124cd81613366565b92915050565b6000602082840312156124e557600080fd5b60006124f38482850161242b565b91505092915050565b60006020828403121561250e57600080fd5b600061251c84828501612440565b91505092915050565b6000806040838503121561253857600080fd5b60006125468582860161242b565b92505060206125578582860161242b565b9150509250929050565b60008060006060848603121561257657600080fd5b60006125848682870161242b565b93505060206125958682870161242b565b92505060406125a686828701612494565b9150509250925092565b600080604083850312156125c357600080fd5b60006125d18582860161242b565b92505060206125e285828601612494565b9150509250929050565b6000602082840312156125fe57600080fd5b600082013567ffffffffffffffff81111561261857600080fd5b61262484828501612455565b91505092915050565b60006020828403121561263f57600080fd5b600061264d8482850161247f565b91505092915050565b60006020828403121561266857600080fd5b600061267684828501612494565b91505092915050565b60006020828403121561269157600080fd5b600061269f848285016124a9565b91505092915050565b6000806000606084860312156126bd57600080fd5b60006126cb868287016124a9565b93505060206126dc868287016124a9565b92505060406126ed868287016124a9565b9150509250925092565b60008060006060848603121561270c57600080fd5b600061271a868287016124be565b935050602061272b868287016124be565b925050604061273c868287016124be565b9150509250925092565b6000612752838361276d565b60208301905092915050565b61276781612ec1565b82525050565b61277681612e6c565b82525050565b61278581612e6c565b82525050565b600061279682612d12565b6127a08185612d35565b93506127ab83612d02565b8060005b838110156127dc5781516127c38882612746565b97506127ce83612d28565b9250506001810190506127af565b5085935050505092915050565b6127f281612e7e565b82525050565b61280181612ed3565b82525050565b600061281282612d1d565b61281c8185612d46565b935061282c818560208601612f09565b61283581613043565b840191505092915050565b600061284d602883612d46565b915061285882613054565b604082019050919050565b6000612870602383612d46565b915061287b826130a3565b604082019050919050565b6000612893602283612d46565b915061289e826130f2565b604082019050919050565b60006128b6601b83612d46565b91506128c182613141565b602082019050919050565b60006128d9602183612d46565b91506128e48261316a565b604082019050919050565b60006128fc602083612d46565b9150612907826131b9565b602082019050919050565b600061291f602983612d46565b915061292a826131e2565b604082019050919050565b6000612942602583612d46565b915061294d82613231565b604082019050919050565b6000612965602483612d46565b915061297082613280565b604082019050919050565b6000612988601783612d46565b9150612993826132cf565b602082019050919050565b60006129ab601d83612d46565b91506129b6826132f8565b602082019050919050565b6129ca81612eaa565b82525050565b6129d981612eb4565b82525050565b60006020820190506129f4600083018461277c565b92915050565b6000604082019050612a0f600083018561275e565b612a1c60208301846129c1565b9392505050565b600060c082019050612a38600083018961277c565b612a4560208301886129c1565b612a5260408301876127f8565b612a5f60608301866127f8565b612a6c608083018561277c565b612a7960a08301846129c1565b979650505050505050565b6000602082019050612a9960008301846127e9565b92915050565b60006020820190508181036000830152612ab98184612807565b905092915050565b60006020820190508181036000830152612ada81612840565b9050919050565b60006020820190508181036000830152612afa81612863565b9050919050565b60006020820190508181036000830152612b1a81612886565b9050919050565b60006020820190508181036000830152612b3a816128a9565b9050919050565b60006020820190508181036000830152612b5a816128cc565b9050919050565b60006020820190508181036000830152612b7a816128ef565b9050919050565b60006020820190508181036000830152612b9a81612912565b9050919050565b60006020820190508181036000830152612bba81612935565b9050919050565b60006020820190508181036000830152612bda81612958565b9050919050565b60006020820190508181036000830152612bfa8161297b565b9050919050565b60006020820190508181036000830152612c1a8161299e565b9050919050565b6000602082019050612c3660008301846129c1565b92915050565b600060a082019050612c5160008301886129c1565b612c5e60208301876127f8565b8181036040830152612c70818661278b565b9050612c7f606083018561277c565b612c8c60808301846129c1565b9695505050505050565b6000602082019050612cab60008301846129d0565b92915050565b6000612cbb612ccc565b9050612cc78282612f3c565b919050565b6000604051905090565b600067ffffffffffffffff821115612cf157612cf0613014565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d6282612eaa565b9150612d6d83612eaa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612da257612da1612fb6565b5b828201905092915050565b6000612db882612eaa565b9150612dc383612eaa565b925082612dd357612dd2612fe5565b5b828204905092915050565b6000612de982612eaa565b9150612df483612eaa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e2d57612e2c612fb6565b5b828202905092915050565b6000612e4382612eaa565b9150612e4e83612eaa565b925082821015612e6157612e60612fb6565b5b828203905092915050565b6000612e7782612e8a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612ecc82612ee5565b9050919050565b6000612ede82612eaa565b9050919050565b6000612ef082612ef7565b9050919050565b6000612f0282612e8a565b9050919050565b60005b83811015612f27578082015181840152602081019050612f0c565b83811115612f36576000848401525b50505050565b612f4582613043565b810181811067ffffffffffffffff82111715612f6457612f63613014565b5b80604052505050565b6000612f7882612eaa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fab57612faa612fb6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b61332a81612e6c565b811461333557600080fd5b50565b61334181612e7e565b811461334c57600080fd5b50565b61335881612eaa565b811461336357600080fd5b50565b61336f81612eb4565b811461337a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220de769fafdd74ae35249a36b92fc144098c8d85eb528e490580d48701b314310064736f6c63430008040033

Deployed Bytecode Sourcemap

3932:9498:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6224:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7055:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13171:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6501:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7224:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11953:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6410:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7866:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12724:194;;;;;;;;;;;;;:::i;:::-;;6604:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3011:148;;;;;;;;;;;;;:::i;:::-;;7548:310;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2797:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6315:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6729:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11777:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12519:193;;;;;;;;;;;;;:::i;:::-;;11471:294;;;;;;;;;;;;;:::i;:::-;;6904:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6224:83;6261:13;6294:5;;;;;;;;;;;;;;;;;6287:12;;6224:83;:::o;7055:161::-;7130:4;7147:39;7156:12;:10;:12::i;:::-;7170:7;7179:6;7147:8;:39::i;:::-;7204:4;7197:11;;7055:161;;;;:::o;13171:256::-;13260:15;;;;;;;;;;;13244:31;;:12;:10;:12::i;:::-;:31;;;13236:40;;;;;;13287:20;13317:12;13287:43;;13341:13;:22;;;13364:15;;;;;;;;;;;13380:13;:23;;;13412:4;13380:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13341:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13171:256;;:::o;6501:95::-;6554:7;4386:17;6574:14;;6501:95;:::o;7224:313::-;7322:4;7339:36;7349:6;7357:9;7368:6;7339:9;:36::i;:::-;7386:121;7395:6;7403:12;:10;:12::i;:::-;7417:89;7455:6;7417:89;;;;;;;;;;;;;;;;;:11;:19;7429:6;7417:19;;;;;;;;;;;;;;;:33;7437:12;:10;:12::i;:::-;7417:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7386:8;:121::i;:::-;7525:4;7518:11;;7224:313;;;;;:::o;11953:88::-;2934:12;:10;:12::i;:::-;2924:22;;:6;;;;;;;;;;:22;;;2916:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12028:5:::1;12013:4;:12;12018:6;12013:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11953:88:::0;:::o;6410:83::-;6451:5;4780:1;6469:16;;6410:83;:::o;7866:142::-;7952:15;;;;;;;;;;;7936:31;;:12;:10;:12::i;:::-;:31;;;7928:40;;;;;;7992:6;7979:10;:19;;;;7866:142;:::o;12724:194::-;12790:15;;;;;;;;;;;12774:31;;:12;:10;:12::i;:::-;:31;;;12766:40;;;;;;12817:26;12846:21;12817:50;;12878:32;12891:18;12878:12;:32::i;:::-;12724:194;:::o;6604:117::-;6670:7;6697;:16;6705:7;6697:16;;;;;;;;;;;;;;;;6690:23;;6604:117;;;:::o;3011:148::-;2934:12;:10;:12::i;:::-;2924:22;;:6;;;;;;;;;;:22;;;2916:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3118:1:::1;3081:40;;3102:6;::::0;::::1;;;;;;;;3081:40;;;;;;;;;;;;3149:1;3132:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3011:148::o:0;7548:310::-;7658:15;;;;;;;;;;;7642:31;;:12;:10;:12::i;:::-;:31;;;7634:40;;;;;;7702:6;;7693:5;:15;;;;:34;;;;;7721:6;;7712:5;:15;;;;7693:34;:54;;;;;7741:6;;7731;;:16;;7693:54;7685:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;7798:5;7791:12;;:4;:12;;;;7821:5;7814:12;;:4;:12;;;;7846:4;7837:13;;:6;:13;;;;7548:310;;;:::o;2797:79::-;2835:7;2862:6;;;;;;;;;;;2855:13;;2797:79;:::o;6315:87::-;6354:13;6387:7;;;;;;;;;;;;;;;;;6380:14;;6315:87;:::o;6729:167::-;6807:4;6824:42;6834:12;:10;:12::i;:::-;6848:9;6859:6;6824:9;:42::i;:::-;6884:4;6877:11;;6729:167;;;;:::o;11777:164::-;2934:12;:10;:12::i;:::-;2924:22;;:6;;;;;;;;;;:22;;;2916:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11851:6:::1;11846:88;11867:5;:12;11863:1;:16;11846:88;;;11918:4;11901;:14;11906:5;11912:1;11906:8;;;;;;;;;;;;;;;;;;;;;;11901:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11881:3;;;;;:::i;:::-;;;;11846:88;;;;11777:164:::0;:::o;12519:193::-;12585:15;;;;;;;;;;;12569:31;;:12;:10;:12::i;:::-;:31;;;12561:40;;;;;;12612:23;12638:24;12656:4;12638:9;:24::i;:::-;12612:50;;12673:31;12688:15;12673:14;:31::i;:::-;12519:193;:::o;11471:294::-;2934:12;:10;:12::i;:::-;2924:22;;:6;;;;;;;;;;:22;;;2916:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11535:11:::1;;;;;;;;;;;11534:12;11526:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11584:68;11597:24;11615:4;11597:9;:24::i;:::-;11622:21;11644:7;:5;:7::i;:::-;11584:12;:68::i;:::-;11677:4;11663:11;;:18;;;;;;;;;;;;;;;;;;11706:4;11692:11;;:18;;;;;;;;;;;;;;;;;;11747:9;11728:15;:29;;;;:::i;:::-;11721:4;:36;;;;11471:294::o:0;6904:143::-;6985:7;7012:11;:18;7024:5;7012:18;;;;;;;;;;;;;;;:27;7031:7;7012:27;;;;;;;;;;;;;;;;7005:34;;6904:143;;;;:::o;1850:246::-;1908:7;1937:1;1932;:6;1928:47;;;1962:1;1955:8;;;;1928:47;1985:9;2001:1;1997;:5;;;;:::i;:::-;1985:17;;2030:1;2025;2021;:5;;;;:::i;:::-;:10;2013:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2087:1;2080:8;;;1850:246;;;;;:::o;2104:132::-;2162:7;2189:39;2193:1;2196;2189:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2182:46;;2104:132;;;;:::o;515:98::-;568:7;595:10;588:17;;515:98;:::o;8019:335::-;8129:1;8112:19;;:5;:19;;;;8104:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8210:1;8191:21;;:7;:21;;;;8183:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8292:6;8262:11;:18;8274:5;8262:18;;;;;;;;;;;;;;;:27;8281:7;8262:27;;;;;;;;;;;;;;;:36;;;;8330:7;8314:32;;8323:5;8314:32;;;8339:6;8314:32;;;;;;:::i;:::-;;;;;;;;8019:335;;;:::o;8362:1671::-;8466:1;8450:18;;:4;:18;;;;8442:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8543:1;8529:16;;:2;:16;;;;8521:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8613:1;8604:6;:10;8596:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8680:16;8689:6;;8680:4;;:8;;:16;;;;:::i;:::-;8673:4;:23;;;;8719:7;:5;:7::i;:::-;8711:15;;:4;:15;;;;:32;;;;;8736:7;:5;:7::i;:::-;8730:13;;:2;:13;;;;8711:32;8707:1271;;;8769:4;:10;8774:4;8769:10;;;;;;;;;;;;;;;;;;;;;;;;;8768:11;:24;;;;;8784:4;:8;8789:2;8784:8;;;;;;;;;;;;;;;;;;;;;;;;;8783:9;8768:24;8760:33;;;;;;8820:13;;;;;;;;;;;8812:21;;:4;:21;;;:55;;;;;8851:15;;;;;;;;;;;8837:30;;:2;:30;;;;8812:55;:83;;;;;8873:18;:22;8892:2;8873:22;;;;;;;;;;;;;;;;;;;;;;;;;8871:24;8812:83;:111;;;;;8918:4;;8900:15;:22;8812:111;8808:333;;;8990:12;;8980:6;:22;;8972:31;;;;;;9045:15;9030:8;:12;9039:2;9030:12;;;;;;;;;;;;;;;;:30;9022:39;;;;;;9114:10;9095:15;:30;;;;:::i;:::-;9080:8;:12;9089:2;9080:12;;;;;;;;;;;;;;;:45;;;;8808:333;9193:13;;;;;;;;;;;9187:19;;:2;:19;;;:55;;;;;9226:15;;;;;;;;;;;9210:32;;:4;:32;;;;9187:55;:85;;;;;9248:18;:24;9267:4;9248:24;;;;;;;;;;;;;;;;;;;;;;;;;9246:26;9187:85;9183:149;;;9300:16;9309:6;;9300:4;;:8;;:16;;;;:::i;:::-;9293:4;:23;;;;9183:149;9365:6;;;;;;;;;;;9364:7;:32;;;;;9383:13;;;;;;;;;;;9375:21;;:4;:21;;;;9364:32;:47;;;;;9400:11;;;;;;;;;;;9364:47;:76;;;;;9416:18;:24;9435:4;9416:24;;;;;;;;;;;;;;;;;;;;;;;;;9415:25;9364:76;9360:607;;;9487:4;;9469:15;:22;9461:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9554:28;9585:24;9603:4;9585:9;:24::i;:::-;9554:55;;9654:10;;9631:20;:33;9628:324;;;9688:36;9703:20;9688:14;:36::i;:::-;9747:26;9776:21;9747:50;;9844:1;9823:18;:22;9820:113;;;9874:35;9887:21;9874:12;:35::i;:::-;9820:113;9628:324;;9360:607;;8707:1271;9992:33;10010:4;10015:2;10018:6;9992:17;:33::i;:::-;8362:1671;;;:::o;1652:190::-;1738:7;1771:1;1766;:6;;1774:12;1758:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1798:9;1814:1;1810;:5;;;;:::i;:::-;1798:17;;1833:1;1826:8;;;1652:190;;;;;:::o;11227:232::-;11284:15;;;;;;;;;;;:24;;:47;11309:21;11328:1;11309:14;11320:2;11309:6;:10;;:14;;;;:::i;:::-;:18;;:21;;;;:::i;:::-;11284:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11342:15;;;;;;;;;;;:24;;:49;11367:23;11387:2;11367:15;11378:3;11367:6;:10;;:15;;;;:::i;:::-;:19;;:23;;;;:::i;:::-;11342:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11402:15;;;;;;;;;;;:24;;:49;11427:23;11447:2;11427:15;11438:3;11427:6;:10;;:15;;;;:::i;:::-;:19;;:23;;;;:::i;:::-;11402:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11227:232;:::o;10536:389::-;10600:12;10615:13;10626:1;10615:6;;:10;;:13;;;;:::i;:::-;10600:28;;10639:12;10654:14;10663:4;10654;;:8;;:14;;;;:::i;:::-;10639:29;;10679:11;10693:16;10702:6;;10693:4;;:8;;:16;;;;:::i;:::-;10679:30;;10720:17;10740:30;10766:3;10740:21;10756:4;10740:11;:15;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;10720:50;;10781:27;10798:9;10781:16;:27::i;:::-;10819:98;10832:26;10848:9;10832:11;:15;;:26;;;;:::i;:::-;10859:41;10895:4;10859:31;10885:4;10859:21;:25;;:31;;;;:::i;:::-;:35;;:41;;;;:::i;:::-;10901:15;;;;;;;;;;;10819:12;:98::i;:::-;10536:389;;;;;:::o;10933:288::-;5156:4;5147:6;;:13;;;;;;;;;;;;;;;;;;11039:60:::1;11056:4;11070:15;;;;;;;;;;;11087:11;11039:8;:60::i;:::-;11110:15;;;;;;;;;;;:31;;;11149:9;11168:4;11174:11;11186:1;11188::::0;11190:6:::1;11197:15;11110:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5192:5:::0;5183:6;;:14;;;;;;;;;;;;;;;;;;10933:288;;;:::o;2244:189::-;2330:7;2362:1;2358;:5;2365:12;2350:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2389:9;2405:1;2401;:5;;;;:::i;:::-;2389:17;;2424:1;2417:8;;;2244:189;;;;;:::o;1321:179::-;1379:7;1399:9;1415:1;1411;:5;;;;:::i;:::-;1399:17;;1440:1;1435;:6;;1427:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1491:1;1484:8;;;1321:179;;;;:::o;12049:421::-;12148:22;12171:12;12187:20;12199:7;12187:11;:20::i;:::-;12147:60;;;;12236:28;12256:7;12236;:15;12244:6;12236:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12218:7;:15;12226:6;12218:15;;;;;;;;;;;;;;;:46;;;;12296:38;12319:14;12296:7;:18;12304:9;12296:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;12275:7;:18;12283:9;12275:18;;;;;;;;;;;;;;;:59;;;;12371:32;12398:4;12371:7;:22;12387:4;12371:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;12346:7;:22;12362:4;12346:22;;;;;;;;;;;;;;;:57;;;;12436:9;12419:43;;12428:6;12419:43;;;12447:14;12419:43;;;;;;:::i;:::-;;;;;;;;12049:421;;;;;:::o;10041:483::-;5156:4;5147:6;;:13;;;;;;;;;;;;;;;;;;10119:21:::1;10157:1;10143:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10119:40;;10188:4;10170;10175:1;10170:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10214:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10204:4;10209:1;10204:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10247:62;10264:4;10279:15;;;;;;;;;;;10297:11;10247:8;:62::i;:::-;10320:15;;;;;;;;;;;:66;;;10401:11;10427:1;10443:4;10470;10490:15;10320:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5171:1;5192:5:::0;5183:6;;:14;;;;;;;;;;;;;;;;;;10041:483;:::o;1508:136::-;1566:7;1593:43;1597:1;1600;1593:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1586:50;;1508:136;;;;:::o;12929:234::-;12989:7;12998;13018:12;13033:27;13055:4;13033:17;13045:4;;13033:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;13018:42;;13071:23;13097:17;13109:4;13097:7;:11;;:17;;;;:::i;:::-;13071:43;;13133:15;13150:4;13125:30;;;;;;12929:234;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;996:303::-;1067:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:2;;1134:1;1131;1124:12;1083:2;1174:6;1161:20;1199:94;1289:3;1281:6;1274:4;1266:6;1262:17;1199:94;:::i;:::-;1190:103;;1073:226;;;;;:::o;1305:137::-;1359:5;1390:6;1384:13;1375:22;;1406:30;1430:5;1406:30;:::i;:::-;1365:77;;;;:::o;1448:139::-;1494:5;1532:6;1519:20;1510:29;;1548:33;1575:5;1548:33;:::i;:::-;1500:87;;;;:::o;1593:143::-;1650:5;1681:6;1675:13;1666:22;;1697:33;1724:5;1697:33;:::i;:::-;1656:80;;;;:::o;1742:135::-;1786:5;1824:6;1811:20;1802:29;;1840:31;1865:5;1840:31;:::i;:::-;1792:85;;;;:::o;1883:262::-;1942:6;1991:2;1979:9;1970:7;1966:23;1962:32;1959:2;;;2007:1;2004;1997:12;1959:2;2050:1;2075:53;2120:7;2111:6;2100:9;2096:22;2075:53;:::i;:::-;2065:63;;2021:117;1949:196;;;;:::o;2151:284::-;2221:6;2270:2;2258:9;2249:7;2245:23;2241:32;2238:2;;;2286:1;2283;2276:12;2238:2;2329:1;2354:64;2410:7;2401:6;2390:9;2386:22;2354:64;:::i;:::-;2344:74;;2300:128;2228:207;;;;:::o;2441:407::-;2509:6;2517;2566:2;2554:9;2545:7;2541:23;2537:32;2534:2;;;2582:1;2579;2572:12;2534:2;2625:1;2650:53;2695:7;2686:6;2675:9;2671:22;2650:53;:::i;:::-;2640:63;;2596:117;2752:2;2778:53;2823:7;2814:6;2803:9;2799:22;2778:53;:::i;:::-;2768:63;;2723:118;2524:324;;;;;:::o;2854:552::-;2931:6;2939;2947;2996:2;2984:9;2975:7;2971:23;2967:32;2964:2;;;3012:1;3009;3002:12;2964:2;3055:1;3080:53;3125:7;3116:6;3105:9;3101:22;3080:53;:::i;:::-;3070:63;;3026:117;3182:2;3208:53;3253:7;3244:6;3233:9;3229:22;3208:53;:::i;:::-;3198:63;;3153:118;3310:2;3336:53;3381:7;3372:6;3361:9;3357:22;3336:53;:::i;:::-;3326:63;;3281:118;2954:452;;;;;:::o;3412:407::-;3480:6;3488;3537:2;3525:9;3516:7;3512:23;3508:32;3505:2;;;3553:1;3550;3543:12;3505:2;3596:1;3621:53;3666:7;3657:6;3646:9;3642:22;3621:53;:::i;:::-;3611:63;;3567:117;3723:2;3749:53;3794:7;3785:6;3774:9;3770:22;3749:53;:::i;:::-;3739:63;;3694:118;3495:324;;;;;:::o;3825:405::-;3909:6;3958:2;3946:9;3937:7;3933:23;3929:32;3926:2;;;3974:1;3971;3964:12;3926:2;4045:1;4034:9;4030:17;4017:31;4075:18;4067:6;4064:30;4061:2;;;4107:1;4104;4097:12;4061:2;4135:78;4205:7;4196:6;4185:9;4181:22;4135:78;:::i;:::-;4125:88;;3988:235;3916:314;;;;:::o;4236:278::-;4303:6;4352:2;4340:9;4331:7;4327:23;4323:32;4320:2;;;4368:1;4365;4358:12;4320:2;4411:1;4436:61;4489:7;4480:6;4469:9;4465:22;4436:61;:::i;:::-;4426:71;;4382:125;4310:204;;;;:::o;4520:262::-;4579:6;4628:2;4616:9;4607:7;4603:23;4599:32;4596:2;;;4644:1;4641;4634:12;4596:2;4687:1;4712:53;4757:7;4748:6;4737:9;4733:22;4712:53;:::i;:::-;4702:63;;4658:117;4586:196;;;;:::o;4788:284::-;4858:6;4907:2;4895:9;4886:7;4882:23;4878:32;4875:2;;;4923:1;4920;4913:12;4875:2;4966:1;4991:64;5047:7;5038:6;5027:9;5023:22;4991:64;:::i;:::-;4981:74;;4937:128;4865:207;;;;:::o;5078:596::-;5166:6;5174;5182;5231:2;5219:9;5210:7;5206:23;5202:32;5199:2;;;5247:1;5244;5237:12;5199:2;5290:1;5315:64;5371:7;5362:6;5351:9;5347:22;5315:64;:::i;:::-;5305:74;;5261:128;5428:2;5454:64;5510:7;5501:6;5490:9;5486:22;5454:64;:::i;:::-;5444:74;;5399:129;5567:2;5593:64;5649:7;5640:6;5629:9;5625:22;5593:64;:::i;:::-;5583:74;;5538:129;5189:485;;;;;:::o;5680:540::-;5751:6;5759;5767;5816:2;5804:9;5795:7;5791:23;5787:32;5784:2;;;5832:1;5829;5822:12;5784:2;5875:1;5900:51;5943:7;5934:6;5923:9;5919:22;5900:51;:::i;:::-;5890:61;;5846:115;6000:2;6026:51;6069:7;6060:6;6049:9;6045:22;6026:51;:::i;:::-;6016:61;;5971:116;6126:2;6152:51;6195:7;6186:6;6175:9;6171:22;6152:51;:::i;:::-;6142:61;;6097:116;5774:446;;;;;:::o;6226:179::-;6295:10;6316:46;6358:3;6350:6;6316:46;:::i;:::-;6394:4;6389:3;6385:14;6371:28;;6306:99;;;;:::o;6411:147::-;6506:45;6545:5;6506:45;:::i;:::-;6501:3;6494:58;6484:74;;:::o;6564:108::-;6641:24;6659:5;6641:24;:::i;:::-;6636:3;6629:37;6619:53;;:::o;6678:118::-;6765:24;6783:5;6765:24;:::i;:::-;6760:3;6753:37;6743:53;;:::o;6832:732::-;6951:3;6980:54;7028:5;6980:54;:::i;:::-;7050:86;7129:6;7124:3;7050:86;:::i;:::-;7043:93;;7160:56;7210:5;7160:56;:::i;:::-;7239:7;7270:1;7255:284;7280:6;7277:1;7274:13;7255:284;;;7356:6;7350:13;7383:63;7442:3;7427:13;7383:63;:::i;:::-;7376:70;;7469:60;7522:6;7469:60;:::i;:::-;7459:70;;7315:224;7302:1;7299;7295:9;7290:14;;7255:284;;;7259:14;7555:3;7548:10;;6956:608;;;;;;;:::o;7570:109::-;7651:21;7666:5;7651:21;:::i;:::-;7646:3;7639:34;7629:50;;:::o;7685:147::-;7780:45;7819:5;7780:45;:::i;:::-;7775:3;7768:58;7758:74;;:::o;7838:364::-;7926:3;7954:39;7987:5;7954:39;:::i;:::-;8009:71;8073:6;8068:3;8009:71;:::i;:::-;8002:78;;8089:52;8134:6;8129:3;8122:4;8115:5;8111:16;8089:52;:::i;:::-;8166:29;8188:6;8166:29;:::i;:::-;8161:3;8157:39;8150:46;;7930:272;;;;;:::o;8208:366::-;8350:3;8371:67;8435:2;8430:3;8371:67;:::i;:::-;8364:74;;8447:93;8536:3;8447:93;:::i;:::-;8565:2;8560:3;8556:12;8549:19;;8354:220;;;:::o;8580:366::-;8722:3;8743:67;8807:2;8802:3;8743:67;:::i;:::-;8736:74;;8819:93;8908:3;8819:93;:::i;:::-;8937:2;8932:3;8928:12;8921:19;;8726:220;;;:::o;8952:366::-;9094:3;9115:67;9179:2;9174:3;9115:67;:::i;:::-;9108:74;;9191:93;9280:3;9191:93;:::i;:::-;9309:2;9304:3;9300:12;9293:19;;9098:220;;;:::o;9324:366::-;9466:3;9487:67;9551:2;9546:3;9487:67;:::i;:::-;9480:74;;9563:93;9652:3;9563:93;:::i;:::-;9681:2;9676:3;9672:12;9665:19;;9470:220;;;:::o;9696:366::-;9838:3;9859:67;9923:2;9918:3;9859:67;:::i;:::-;9852:74;;9935:93;10024:3;9935:93;:::i;:::-;10053:2;10048:3;10044:12;10037:19;;9842:220;;;:::o;10068:366::-;10210:3;10231:67;10295:2;10290:3;10231:67;:::i;:::-;10224:74;;10307:93;10396:3;10307:93;:::i;:::-;10425:2;10420:3;10416:12;10409:19;;10214:220;;;:::o;10440:366::-;10582:3;10603:67;10667:2;10662:3;10603:67;:::i;:::-;10596:74;;10679:93;10768:3;10679:93;:::i;:::-;10797:2;10792:3;10788:12;10781:19;;10586:220;;;:::o;10812:366::-;10954:3;10975:67;11039:2;11034:3;10975:67;:::i;:::-;10968:74;;11051:93;11140:3;11051:93;:::i;:::-;11169:2;11164:3;11160:12;11153:19;;10958:220;;;:::o;11184:366::-;11326:3;11347:67;11411:2;11406:3;11347:67;:::i;:::-;11340:74;;11423:93;11512:3;11423:93;:::i;:::-;11541:2;11536:3;11532:12;11525:19;;11330:220;;;:::o;11556:366::-;11698:3;11719:67;11783:2;11778:3;11719:67;:::i;:::-;11712:74;;11795:93;11884:3;11795:93;:::i;:::-;11913:2;11908:3;11904:12;11897:19;;11702:220;;;:::o;11928:366::-;12070:3;12091:67;12155:2;12150:3;12091:67;:::i;:::-;12084:74;;12167:93;12256:3;12167:93;:::i;:::-;12285:2;12280:3;12276:12;12269:19;;12074:220;;;:::o;12300:118::-;12387:24;12405:5;12387:24;:::i;:::-;12382:3;12375:37;12365:53;;:::o;12424:112::-;12507:22;12523:5;12507:22;:::i;:::-;12502:3;12495:35;12485:51;;:::o;12542:222::-;12635:4;12673:2;12662:9;12658:18;12650:26;;12686:71;12754:1;12743:9;12739:17;12730:6;12686:71;:::i;:::-;12640:124;;;;:::o;12770:348::-;12899:4;12937:2;12926:9;12922:18;12914:26;;12950:79;13026:1;13015:9;13011:17;13002:6;12950:79;:::i;:::-;13039:72;13107:2;13096:9;13092:18;13083:6;13039:72;:::i;:::-;12904:214;;;;;:::o;13124:807::-;13373:4;13411:3;13400:9;13396:19;13388:27;;13425:71;13493:1;13482:9;13478:17;13469:6;13425:71;:::i;:::-;13506:72;13574:2;13563:9;13559:18;13550:6;13506:72;:::i;:::-;13588:80;13664:2;13653:9;13649:18;13640:6;13588:80;:::i;:::-;13678;13754:2;13743:9;13739:18;13730:6;13678:80;:::i;:::-;13768:73;13836:3;13825:9;13821:19;13812:6;13768:73;:::i;:::-;13851;13919:3;13908:9;13904:19;13895:6;13851:73;:::i;:::-;13378:553;;;;;;;;;:::o;13937:210::-;14024:4;14062:2;14051:9;14047:18;14039:26;;14075:65;14137:1;14126:9;14122:17;14113:6;14075:65;:::i;:::-;14029:118;;;;:::o;14153:313::-;14266:4;14304:2;14293:9;14289:18;14281:26;;14353:9;14347:4;14343:20;14339:1;14328:9;14324:17;14317:47;14381:78;14454:4;14445:6;14381:78;:::i;:::-;14373:86;;14271:195;;;;:::o;14472:419::-;14638:4;14676:2;14665:9;14661:18;14653:26;;14725:9;14719:4;14715:20;14711:1;14700:9;14696:17;14689:47;14753:131;14879:4;14753:131;:::i;:::-;14745:139;;14643:248;;;:::o;14897:419::-;15063:4;15101:2;15090:9;15086:18;15078:26;;15150:9;15144:4;15140:20;15136:1;15125:9;15121:17;15114:47;15178:131;15304:4;15178:131;:::i;:::-;15170:139;;15068:248;;;:::o;15322:419::-;15488:4;15526:2;15515:9;15511:18;15503:26;;15575:9;15569:4;15565:20;15561:1;15550:9;15546:17;15539:47;15603:131;15729:4;15603:131;:::i;:::-;15595:139;;15493:248;;;:::o;15747:419::-;15913:4;15951:2;15940:9;15936:18;15928:26;;16000:9;15994:4;15990:20;15986:1;15975:9;15971:17;15964:47;16028:131;16154:4;16028:131;:::i;:::-;16020:139;;15918:248;;;:::o;16172:419::-;16338:4;16376:2;16365:9;16361:18;16353:26;;16425:9;16419:4;16415:20;16411:1;16400:9;16396:17;16389:47;16453:131;16579:4;16453:131;:::i;:::-;16445:139;;16343:248;;;:::o;16597:419::-;16763:4;16801:2;16790:9;16786:18;16778:26;;16850:9;16844:4;16840:20;16836:1;16825:9;16821:17;16814:47;16878:131;17004:4;16878:131;:::i;:::-;16870:139;;16768:248;;;:::o;17022:419::-;17188:4;17226:2;17215:9;17211:18;17203:26;;17275:9;17269:4;17265:20;17261:1;17250:9;17246:17;17239:47;17303:131;17429:4;17303:131;:::i;:::-;17295:139;;17193:248;;;:::o;17447:419::-;17613:4;17651:2;17640:9;17636:18;17628:26;;17700:9;17694:4;17690:20;17686:1;17675:9;17671:17;17664:47;17728:131;17854:4;17728:131;:::i;:::-;17720:139;;17618:248;;;:::o;17872:419::-;18038:4;18076:2;18065:9;18061:18;18053:26;;18125:9;18119:4;18115:20;18111:1;18100:9;18096:17;18089:47;18153:131;18279:4;18153:131;:::i;:::-;18145:139;;18043:248;;;:::o;18297:419::-;18463:4;18501:2;18490:9;18486:18;18478:26;;18550:9;18544:4;18540:20;18536:1;18525:9;18521:17;18514:47;18578:131;18704:4;18578:131;:::i;:::-;18570:139;;18468:248;;;:::o;18722:419::-;18888:4;18926:2;18915:9;18911:18;18903:26;;18975:9;18969:4;18965:20;18961:1;18950:9;18946:17;18939:47;19003:131;19129:4;19003:131;:::i;:::-;18995:139;;18893:248;;;:::o;19147:222::-;19240:4;19278:2;19267:9;19263:18;19255:26;;19291:71;19359:1;19348:9;19344:17;19335:6;19291:71;:::i;:::-;19245:124;;;;:::o;19375:831::-;19638:4;19676:3;19665:9;19661:19;19653:27;;19690:71;19758:1;19747:9;19743:17;19734:6;19690:71;:::i;:::-;19771:80;19847:2;19836:9;19832:18;19823:6;19771:80;:::i;:::-;19898:9;19892:4;19888:20;19883:2;19872:9;19868:18;19861:48;19926:108;20029:4;20020:6;19926:108;:::i;:::-;19918:116;;20044:72;20112:2;20101:9;20097:18;20088:6;20044:72;:::i;:::-;20126:73;20194:3;20183:9;20179:19;20170:6;20126:73;:::i;:::-;19643:563;;;;;;;;:::o;20212:214::-;20301:4;20339:2;20328:9;20324:18;20316:26;;20352:67;20416:1;20405:9;20401:17;20392:6;20352:67;:::i;:::-;20306:120;;;;:::o;20432:129::-;20466:6;20493:20;;:::i;:::-;20483:30;;20522:33;20550:4;20542:6;20522:33;:::i;:::-;20473:88;;;:::o;20567:75::-;20600:6;20633:2;20627:9;20617:19;;20607:35;:::o;20648:311::-;20725:4;20815:18;20807:6;20804:30;20801:2;;;20837:18;;:::i;:::-;20801:2;20887:4;20879:6;20875:17;20867:25;;20947:4;20941;20937:15;20929:23;;20730:229;;;:::o;20965:132::-;21032:4;21055:3;21047:11;;21085:4;21080:3;21076:14;21068:22;;21037:60;;;:::o;21103:114::-;21170:6;21204:5;21198:12;21188:22;;21177:40;;;:::o;21223:99::-;21275:6;21309:5;21303:12;21293:22;;21282:40;;;:::o;21328:113::-;21398:4;21430;21425:3;21421:14;21413:22;;21403:38;;;:::o;21447:184::-;21546:11;21580:6;21575:3;21568:19;21620:4;21615:3;21611:14;21596:29;;21558:73;;;;:::o;21637:169::-;21721:11;21755:6;21750:3;21743:19;21795:4;21790:3;21786:14;21771:29;;21733:73;;;;:::o;21812:305::-;21852:3;21871:20;21889:1;21871:20;:::i;:::-;21866:25;;21905:20;21923:1;21905:20;:::i;:::-;21900:25;;22059:1;21991:66;21987:74;21984:1;21981:81;21978:2;;;22065:18;;:::i;:::-;21978:2;22109:1;22106;22102:9;22095:16;;21856:261;;;;:::o;22123:185::-;22163:1;22180:20;22198:1;22180:20;:::i;:::-;22175:25;;22214:20;22232:1;22214:20;:::i;:::-;22209:25;;22253:1;22243:2;;22258:18;;:::i;:::-;22243:2;22300:1;22297;22293:9;22288:14;;22165:143;;;;:::o;22314:348::-;22354:7;22377:20;22395:1;22377:20;:::i;:::-;22372:25;;22411:20;22429:1;22411:20;:::i;:::-;22406:25;;22599:1;22531:66;22527:74;22524:1;22521:81;22516:1;22509:9;22502:17;22498:105;22495:2;;;22606:18;;:::i;:::-;22495:2;22654:1;22651;22647:9;22636:20;;22362:300;;;;:::o;22668:191::-;22708:4;22728:20;22746:1;22728:20;:::i;:::-;22723:25;;22762:20;22780:1;22762:20;:::i;:::-;22757:25;;22801:1;22798;22795:8;22792:2;;;22806:18;;:::i;:::-;22792:2;22851:1;22848;22844:9;22836:17;;22713:146;;;;:::o;22865:96::-;22902:7;22931:24;22949:5;22931:24;:::i;:::-;22920:35;;22910:51;;;:::o;22967:90::-;23001:7;23044:5;23037:13;23030:21;23019:32;;23009:48;;;:::o;23063:126::-;23100:7;23140:42;23133:5;23129:54;23118:65;;23108:81;;;:::o;23195:77::-;23232:7;23261:5;23250:16;;23240:32;;;:::o;23278:86::-;23313:7;23353:4;23346:5;23342:16;23331:27;;23321:43;;;:::o;23370:134::-;23428:9;23461:37;23492:5;23461:37;:::i;:::-;23448:50;;23438:66;;;:::o;23510:121::-;23568:9;23601:24;23619:5;23601:24;:::i;:::-;23588:37;;23578:53;;;:::o;23637:126::-;23687:9;23720:37;23751:5;23720:37;:::i;:::-;23707:50;;23697:66;;;:::o;23769:113::-;23819:9;23852:24;23870:5;23852:24;:::i;:::-;23839:37;;23829:53;;;:::o;23888:307::-;23956:1;23966:113;23980:6;23977:1;23974:13;23966:113;;;24065:1;24060:3;24056:11;24050:18;24046:1;24041:3;24037:11;24030:39;24002:2;23999:1;23995:10;23990:15;;23966:113;;;24097:6;24094:1;24091:13;24088:2;;;24177:1;24168:6;24163:3;24159:16;24152:27;24088:2;23937:258;;;;:::o;24201:281::-;24284:27;24306:4;24284:27;:::i;:::-;24276:6;24272:40;24414:6;24402:10;24399:22;24378:18;24366:10;24363:34;24360:62;24357:2;;;24425:18;;:::i;:::-;24357:2;24465:10;24461:2;24454:22;24244:238;;;:::o;24488:233::-;24527:3;24550:24;24568:5;24550:24;:::i;:::-;24541:33;;24596:66;24589:5;24586:77;24583:2;;;24666:18;;:::i;:::-;24583:2;24713:1;24706:5;24702:13;24695:20;;24531:190;;;:::o;24727:180::-;24775:77;24772:1;24765:88;24872:4;24869:1;24862:15;24896:4;24893:1;24886:15;24913:180;24961:77;24958:1;24951:88;25058:4;25055:1;25048:15;25082:4;25079:1;25072:15;25099:180;25147:77;25144:1;25137:88;25244:4;25241:1;25234:15;25268:4;25265:1;25258:15;25285:102;25326:6;25377:2;25373:7;25368:2;25361:5;25357:14;25353:28;25343:38;;25333:54;;;:::o;25393:227::-;25533:34;25529:1;25521:6;25517:14;25510:58;25602:10;25597:2;25589:6;25585:15;25578:35;25499:121;:::o;25626:222::-;25766:34;25762:1;25754:6;25750:14;25743:58;25835:5;25830:2;25822:6;25818:15;25811:30;25732:116;:::o;25854:221::-;25994:34;25990:1;25982:6;25978:14;25971:58;26063:4;26058:2;26050:6;26046:15;26039:29;25960:115;:::o;26081:177::-;26221:29;26217:1;26209:6;26205:14;26198:53;26187:71;:::o;26264:220::-;26404:34;26400:1;26392:6;26388:14;26381:58;26473:3;26468:2;26460:6;26456:15;26449:28;26370:114;:::o;26490:182::-;26630:34;26626:1;26618:6;26614:14;26607:58;26596:76;:::o;26678:228::-;26818:34;26814:1;26806:6;26802:14;26795:58;26887:11;26882:2;26874:6;26870:15;26863:36;26784:122;:::o;26912:224::-;27052:34;27048:1;27040:6;27036:14;27029:58;27121:7;27116:2;27108:6;27104:15;27097:32;27018:118;:::o;27142:223::-;27282:34;27278:1;27270:6;27266:14;27259:58;27351:6;27346:2;27338:6;27334:15;27327:31;27248:117;:::o;27371:173::-;27511:25;27507:1;27499:6;27495:14;27488:49;27477:67;:::o;27550:179::-;27690:31;27686:1;27678:6;27674:14;27667:55;27656:73;:::o;27735:122::-;27808:24;27826:5;27808:24;:::i;:::-;27801:5;27798:35;27788:2;;27847:1;27844;27837:12;27788:2;27778:79;:::o;27863:116::-;27933:21;27948:5;27933:21;:::i;:::-;27926:5;27923:32;27913:2;;27969:1;27966;27959:12;27913:2;27903:76;:::o;27985:122::-;28058:24;28076:5;28058:24;:::i;:::-;28051:5;28048:35;28038:2;;28097:1;28094;28087:12;28038:2;28028:79;:::o;28113:118::-;28184:22;28200:5;28184:22;:::i;:::-;28177:5;28174:33;28164:2;;28221:1;28218;28211:12;28164:2;28154:77;:::o

Swarm Source

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