ETH Price: $3,419.15 (-2.32%)
Gas: 6 Gwei

Token

Tokyolympic (TKYO)
 

Overview

Max Total Supply

1,000,000 TKYO

Holders

510 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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

OVERVIEW

TKYO is a deflationary token with 1% of every single transaction will be distributed among the holders of $TKYO.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Tokyolympic

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-23
*/

/*

%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% TOKYOLYMPIC $TKYO %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%


This is the people’s crypto currency of the 2021 Tokyo Olympic Games!  Everyone should have a chance to win a gold medal, right? Now you can! 
$TKYO is the people’s Olympic crypto currency token!

Go for GOLD!

FASTER. HIGHER. STRONGER - TOGETHER!


Official Website :
------------------
https://tokyolympic.io


Official Social Platforms : 
---------------------------
Telegram : https://t.me/TokyoLympic_Official_chat
Twitter : https://twitter.com/Tokyolympics1

*/

// 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
    );
}

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);
    }
}

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract Tokyolympic is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = "Tokyolympic";
    string private constant _symbol = "TKYO";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisT = 1;
    uint256 private _edistT = 12;
    uint256 private _previousredisT = _redisT;
    uint256 private _previousedistT = _edistT;
    mapping(address => bool) private bots;
    mapping(address => uint256) private cooldown;
    address payable private _teamAddress;
    address payable private _marketingFunds;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    uint256 public _maxTxAmount = 5000 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address payable addr1, address payable addr2) {
        _teamAddress = addr1;
        _marketingFunds = addr2;
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_teamAddress] = true;
        _isExcludedFromFee[_marketingFunds] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisT == 0 && _edistT == 0) return;
    
        _previousredisT = _redisT;
        _previousedistT = _edistT;
        
        _redisT = 0;
        _edistT = 0;
    }

    function restoreAllFee() private {
        _redisT = _previousredisT;
        _edistT = _previousedistT;
    }

    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");

        if (from != owner() && to != owner()) {
            
            //Trade start check
            if (from == uniswapV2Pair || to == uniswapV2Pair) { 
                require(tradingOpen, "Trading is not enabled yet");
            }
              
            require(amount <= _maxTxAmount);
            require(!bots[from] && !bots[to]);
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;

        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    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 sendETHToFee(uint256 amount) private {
        _teamAddress.transfer(amount.div(2));
        _marketingFunds.transfer(amount.div(2));
    }

    function launchTKYO() external onlyOwner() {
        require(!tradingOpen, "trading is already started");
        tradingOpen = true;
    }

    function manualswap() external {
        require(_msgSender() == _teamAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _teamAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisT, _edistT);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisT,
        uint256 edistT
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisT).div(100);
        uint256 tTeam = tAmount.mul(edistT).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);

        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);

        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();

        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
    
        return (rSupply, tSupply);
    }

    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }
    
    function modredisT(uint256 redisT) external onlyOwner() {
        require(redisT >= 0 && redisT <= 25, 'redisT should be in 0 - 25');
        _redisT = redisT;
    }

    function modedistT(uint256 edistT) external onlyOwner() {
        require(edistT >= 0 && edistT <= 25, 'edistT should be in 0 - 25');
        _edistT = edistT;
    }
 
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"launchTKYO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"edistT","type":"uint256"}],"name":"modedistT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisT","type":"uint256"}],"name":"modredisT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","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"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405266038d7ea4c680006000196200001b919062000877565b6000196200002a9190620007ea565b6006556001600855600c600955600854600a55600954600b556000601160156101000a81548160ff0219169083151502179055506001601160166101000a81548160ff02191690831515021790555065048c273950006012553480156200009057600080fd5b5060405162003be538038062003be58339818101604052810190620000b6919062000737565b6000620000c8620006a660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460026000620001ff620006a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002de57600080fd5b505afa158015620002f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000319919062000705565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037c57600080fd5b505afa15801562000391573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b7919062000705565b6040518363ffffffff1660e01b8152600401620003d6929190620007a0565b602060405180830381600087803b158015620003f157600080fd5b505af115801562000406573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042c919062000705565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016005600062000482620006ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200062f620006a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c68000604051620006959190620007cd565b60405180910390a350505062000946565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620006e88162000912565b92915050565b600081519050620006ff816200092c565b92915050565b6000602082840312156200071e576200071d6200090d565b5b60006200072e84828501620006d7565b91505092915050565b600080604083850312156200075157620007506200090d565b5b60006200076185828601620006ee565b92505060206200077485828601620006ee565b9150509250929050565b620007898162000825565b82525050565b6200079a816200086d565b82525050565b6000604082019050620007b760008301856200077e565b620007c660208301846200077e565b9392505050565b6000602082019050620007e460008301846200078f565b92915050565b6000620007f7826200086d565b915062000804836200086d565b9250828210156200081a5762000819620008af565b5b828203905092915050565b600062000832826200084d565b9050919050565b600062000846826200084d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000884826200086d565b915062000891836200086d565b925082620008a457620008a3620008de565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6200091d8162000825565b81146200092957600080fd5b50565b620009378162000839565b81146200094357600080fd5b50565b61328f80620009566000396000f3fe6080604052600436106101385760003560e01c806370a08231116100ab5780638da5cb5b1161006f5780638da5cb5b146103e657806395d89b4114610411578063a9059cbb1461043c578063c3c8cd8014610479578063d543dbeb14610490578063dd62ed3e146104b95761013f565b806370a0823114610315578063715018a61461035257806372c23e75146103695780637d1db4a51461039257806381b517c7146103bd5761013f565b80631af15df1116100fd5780631af15df11461022b57806323b872dd14610242578063313ce5671461027f57806349bd5a5e146102aa5780636b999053146102d55780636fc3eaec146102fe5761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b3146101985780631694505e146101d557806318160ddd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b600480360381019061016691906124ac565b6104f6565b005b34801561017957600080fd5b50610182610620565b60405161018f9190612875565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba919061246c565b61065d565b6040516101cc919061283f565b60405180910390f35b3480156101e157600080fd5b506101ea61067b565b6040516101f7919061285a565b60405180910390f35b34801561020c57600080fd5b506102156106a1565b6040516102229190612a57565b60405180910390f35b34801561023757600080fd5b506102406106b0565b005b34801561024e57600080fd5b5061026960048036038101906102649190612419565b6107b2565b604051610276919061283f565b60405180910390f35b34801561028b57600080fd5b5061029461088b565b6040516102a19190612acc565b60405180910390f35b3480156102b657600080fd5b506102bf610894565b6040516102cc9190612824565b60405180910390f35b3480156102e157600080fd5b506102fc60048036038101906102f7919061237f565b6108ba565b005b34801561030a57600080fd5b506103136109aa565b005b34801561032157600080fd5b5061033c6004803603810190610337919061237f565b610a1c565b6040516103499190612a57565b60405180910390f35b34801561035e57600080fd5b50610367610a6d565b005b34801561037557600080fd5b50610390600480360381019061038b91906124f5565b610bc0565b005b34801561039e57600080fd5b506103a7610cb0565b6040516103b49190612a57565b60405180910390f35b3480156103c957600080fd5b506103e460048036038101906103df91906124f5565b610cb6565b005b3480156103f257600080fd5b506103fb610da6565b6040516104089190612824565b60405180910390f35b34801561041d57600080fd5b50610426610dcf565b6040516104339190612875565b60405180910390f35b34801561044857600080fd5b50610463600480360381019061045e919061246c565b610e0c565b604051610470919061283f565b60405180910390f35b34801561048557600080fd5b5061048e610e2a565b005b34801561049c57600080fd5b506104b760048036038101906104b291906124f5565b610ea4565b005b3480156104c557600080fd5b506104e060048036038101906104db91906123d9565b610feb565b6040516104ed9190612a57565b60405180910390f35b6104fe611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461058b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610582906129b7565b60405180910390fd5b60005b815181101561061c576001600c60008484815181106105b0576105af612e38565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061061490612d91565b91505061058e565b5050565b60606040518060400160405280600b81526020017f546f6b796f6c796d706963000000000000000000000000000000000000000000815250905090565b600061067161066a611072565b848461107a565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600066038d7ea4c68000905090565b6106b8611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906129b7565b60405180910390fd5b601160149054906101000a900460ff1615610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c906128b7565b60405180910390fd5b6001601160146101000a81548160ff021916908315150217905550565b60006107bf848484611245565b610880846107cb611072565b61087b8560405180606001604052806028815260200161323260289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610831611072565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117299092919063ffffffff16565b61107a565b600190509392505050565b60006009905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108c2611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906129b7565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109eb611072565b73ffffffffffffffffffffffffffffffffffffffff1614610a0b57600080fd5b6000479050610a198161178d565b50565b6000610a66600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611888565b9050919050565b610a75611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af9906129b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bc8611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c906129b7565b60405180910390fd5b60008110158015610c67575060198111155b610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d906129f7565b60405180910390fd5b8060088190555050565b60125481565b610cbe611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d42906129b7565b60405180910390fd5b60008110158015610d5d575060198111155b610d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9390612977565b60405180910390fd5b8060098190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f544b594f00000000000000000000000000000000000000000000000000000000815250905090565b6000610e20610e19611072565b8484611245565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e6b611072565b73ffffffffffffffffffffffffffffffffffffffff1614610e8b57600080fd5b6000610e9630610a1c565b9050610ea1816118f6565b50565b610eac611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f30906129b7565b60405180910390fd5b60008111610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7390612957565b60405180910390fd5b610fa96064610f9b8366038d7ea4c68000611b7e90919063ffffffff16565b611bf990919063ffffffff16565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601254604051610fe09190612a57565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e190612a37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561115a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115190612917565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112389190612a57565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ac90612a17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c90612897565b60405180910390fd5b60008111611368576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135f906129d7565b60405180910390fd5b611370610da6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113de57506113ae610da6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561166657601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061148c5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156114e157601160149054906101000a900460ff166114e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d7906128d7565b60405180910390fd5b5b6012548111156114f057600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115945750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61159d57600080fd5b60006115a830610a1c565b905060125481106115b95760125490505b601160159054906101000a900460ff161580156116245750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561163c5750601160169054906101000a900460ff165b156116645761164a816118f6565b60004790506000811115611662576116614761178d565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061170d5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561171757600090505b61172384848484611c43565b50505050565b6000838311158290611771576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117689190612875565b60405180910390fd5b50600083856117809190612c6e565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6117dd600284611bf990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611808573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611859600284611bf990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611884573d6000803e3d6000fd5b5050565b60006006548211156118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c6906128f7565b60405180910390fd5b60006118d9611c70565b90506118ee8184611bf990919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561192e5761192d612e67565b5b60405190808252806020026020018201604052801561195c5781602001602082028036833780820191505090505b509050308160008151811061197457611973612e38565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1657600080fd5b505afa158015611a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4e91906123ac565b81600181518110611a6257611a61612e38565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ac930601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461107a565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b2d959493929190612a72565b600060405180830381600087803b158015611b4757600080fd5b505af1158015611b5b573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600080831415611b915760009050611bf3565b60008284611b9f9190612c14565b9050828482611bae9190612be3565b14611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be590612997565b60405180910390fd5b809150505b92915050565b6000611c3b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c9b565b905092915050565b80611c5157611c50611cfe565b5b611c5c848484611d41565b80611c6a57611c69611f0c565b5b50505050565b6000806000611c7d611f20565b91509150611c948183611bf990919063ffffffff16565b9250505090565b60008083118290611ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd99190612875565b60405180910390fd5b5060008385611cf19190612be3565b9050809150509392505050565b6000600854148015611d1257506000600954145b15611d1c57611d3f565b600854600a81905550600954600b81905550600060088190555060006009819055505b565b600080600080600080611d5387611f7c565b955095509550955095509550611db186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e928161208c565b611e9c8483612149565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ef99190612a57565b60405180910390a3505050505050505050565b600a54600881905550600b54600981905550565b60008060006006549050600066038d7ea4c680009050611f5266038d7ea4c68000600654611bf990919063ffffffff16565b821015611f6f5760065466038d7ea4c68000935093505050611f78565b81819350935050505b9091565b6000806000806000806000806000611f998a600854600954612183565b9250925092506000611fa9611c70565b90506000806000611fbc8e878787612219565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061202683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611729565b905092915050565b600080828461203d9190612b8d565b905083811015612082576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207990612937565b60405180910390fd5b8091505092915050565b6000612096611c70565b905060006120ad8284611b7e90919063ffffffff16565b905061210181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61215e82600654611fe490919063ffffffff16565b6006819055506121798160075461202e90919063ffffffff16565b6007819055505050565b6000806000806121af60646121a1888a611b7e90919063ffffffff16565b611bf990919063ffffffff16565b905060006121d960646121cb888b611b7e90919063ffffffff16565b611bf990919063ffffffff16565b90506000612202826121f4858c611fe490919063ffffffff16565b611fe490919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806122328589611b7e90919063ffffffff16565b905060006122498689611b7e90919063ffffffff16565b905060006122608789611b7e90919063ffffffff16565b905060006122898261227b8587611fe490919063ffffffff16565b611fe490919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006122b56122b084612b0c565b612ae7565b905080838252602082019050828560208602820111156122d8576122d7612e9b565b5b60005b8581101561230857816122ee8882612312565b8452602084019350602083019250506001810190506122db565b5050509392505050565b60008135905061232181613203565b92915050565b60008151905061233681613203565b92915050565b600082601f83011261235157612350612e96565b5b81356123618482602086016122a2565b91505092915050565b6000813590506123798161321a565b92915050565b60006020828403121561239557612394612ea5565b5b60006123a384828501612312565b91505092915050565b6000602082840312156123c2576123c1612ea5565b5b60006123d084828501612327565b91505092915050565b600080604083850312156123f0576123ef612ea5565b5b60006123fe85828601612312565b925050602061240f85828601612312565b9150509250929050565b60008060006060848603121561243257612431612ea5565b5b600061244086828701612312565b935050602061245186828701612312565b92505060406124628682870161236a565b9150509250925092565b6000806040838503121561248357612482612ea5565b5b600061249185828601612312565b92505060206124a28582860161236a565b9150509250929050565b6000602082840312156124c2576124c1612ea5565b5b600082013567ffffffffffffffff8111156124e0576124df612ea0565b5b6124ec8482850161233c565b91505092915050565b60006020828403121561250b5761250a612ea5565b5b60006125198482850161236a565b91505092915050565b600061252e838361253a565b60208301905092915050565b61254381612ca2565b82525050565b61255281612ca2565b82525050565b600061256382612b48565b61256d8185612b6b565b935061257883612b38565b8060005b838110156125a95781516125908882612522565b975061259b83612b5e565b92505060018101905061257c565b5085935050505092915050565b6125bf81612cb4565b82525050565b6125ce81612cf7565b82525050565b6125dd81612d1b565b82525050565b60006125ee82612b53565b6125f88185612b7c565b9350612608818560208601612d2d565b61261181612eaa565b840191505092915050565b6000612629602383612b7c565b915061263482612ebb565b604082019050919050565b600061264c601a83612b7c565b915061265782612f0a565b602082019050919050565b600061266f601a83612b7c565b915061267a82612f33565b602082019050919050565b6000612692602a83612b7c565b915061269d82612f5c565b604082019050919050565b60006126b5602283612b7c565b91506126c082612fab565b604082019050919050565b60006126d8601b83612b7c565b91506126e382612ffa565b602082019050919050565b60006126fb601d83612b7c565b915061270682613023565b602082019050919050565b600061271e601a83612b7c565b91506127298261304c565b602082019050919050565b6000612741602183612b7c565b915061274c82613075565b604082019050919050565b6000612764602083612b7c565b915061276f826130c4565b602082019050919050565b6000612787602983612b7c565b9150612792826130ed565b604082019050919050565b60006127aa601a83612b7c565b91506127b58261313c565b602082019050919050565b60006127cd602583612b7c565b91506127d882613165565b604082019050919050565b60006127f0602483612b7c565b91506127fb826131b4565b604082019050919050565b61280f81612ce0565b82525050565b61281e81612cea565b82525050565b60006020820190506128396000830184612549565b92915050565b600060208201905061285460008301846125b6565b92915050565b600060208201905061286f60008301846125c5565b92915050565b6000602082019050818103600083015261288f81846125e3565b905092915050565b600060208201905081810360008301526128b08161261c565b9050919050565b600060208201905081810360008301526128d08161263f565b9050919050565b600060208201905081810360008301526128f081612662565b9050919050565b6000602082019050818103600083015261291081612685565b9050919050565b60006020820190508181036000830152612930816126a8565b9050919050565b60006020820190508181036000830152612950816126cb565b9050919050565b60006020820190508181036000830152612970816126ee565b9050919050565b6000602082019050818103600083015261299081612711565b9050919050565b600060208201905081810360008301526129b081612734565b9050919050565b600060208201905081810360008301526129d081612757565b9050919050565b600060208201905081810360008301526129f08161277a565b9050919050565b60006020820190508181036000830152612a108161279d565b9050919050565b60006020820190508181036000830152612a30816127c0565b9050919050565b60006020820190508181036000830152612a50816127e3565b9050919050565b6000602082019050612a6c6000830184612806565b92915050565b600060a082019050612a876000830188612806565b612a9460208301876125d4565b8181036040830152612aa68186612558565b9050612ab56060830185612549565b612ac26080830184612806565b9695505050505050565b6000602082019050612ae16000830184612815565b92915050565b6000612af1612b02565b9050612afd8282612d60565b919050565b6000604051905090565b600067ffffffffffffffff821115612b2757612b26612e67565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612b9882612ce0565b9150612ba383612ce0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bd857612bd7612dda565b5b828201905092915050565b6000612bee82612ce0565b9150612bf983612ce0565b925082612c0957612c08612e09565b5b828204905092915050565b6000612c1f82612ce0565b9150612c2a83612ce0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c6357612c62612dda565b5b828202905092915050565b6000612c7982612ce0565b9150612c8483612ce0565b925082821015612c9757612c96612dda565b5b828203905092915050565b6000612cad82612cc0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d0282612d09565b9050919050565b6000612d1482612cc0565b9050919050565b6000612d2682612ce0565b9050919050565b60005b83811015612d4b578082015181840152602081019050612d30565b83811115612d5a576000848401525b50505050565b612d6982612eaa565b810181811067ffffffffffffffff82111715612d8857612d87612e67565b5b80604052505050565b6000612d9c82612ce0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612dcf57612dce612dda565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c72656164792073746172746564000000000000600082015250565b7f54726164696e67206973206e6f7420656e61626c656420796574000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f6564697374542073686f756c6420626520696e2030202d203235000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f7265646973542073686f756c6420626520696e2030202d203235000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61320c81612ca2565b811461321757600080fd5b50565b61322381612ce0565b811461322e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c47d0fbcb8817c7e695cd2d8ae5d0bdb2c183c1c1aa43fec5a0f3edc3aa9771464736f6c63430008060033000000000000000000000000be937acbe61c7de8d530c5afd748363cd02d7b8f00000000000000000000000088d38b7524502896ce87468da746a4ed1637850d

Deployed Bytecode

0x6080604052600436106101385760003560e01c806370a08231116100ab5780638da5cb5b1161006f5780638da5cb5b146103e657806395d89b4114610411578063a9059cbb1461043c578063c3c8cd8014610479578063d543dbeb14610490578063dd62ed3e146104b95761013f565b806370a0823114610315578063715018a61461035257806372c23e75146103695780637d1db4a51461039257806381b517c7146103bd5761013f565b80631af15df1116100fd5780631af15df11461022b57806323b872dd14610242578063313ce5671461027f57806349bd5a5e146102aa5780636b999053146102d55780636fc3eaec146102fe5761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b3146101985780631694505e146101d557806318160ddd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b600480360381019061016691906124ac565b6104f6565b005b34801561017957600080fd5b50610182610620565b60405161018f9190612875565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba919061246c565b61065d565b6040516101cc919061283f565b60405180910390f35b3480156101e157600080fd5b506101ea61067b565b6040516101f7919061285a565b60405180910390f35b34801561020c57600080fd5b506102156106a1565b6040516102229190612a57565b60405180910390f35b34801561023757600080fd5b506102406106b0565b005b34801561024e57600080fd5b5061026960048036038101906102649190612419565b6107b2565b604051610276919061283f565b60405180910390f35b34801561028b57600080fd5b5061029461088b565b6040516102a19190612acc565b60405180910390f35b3480156102b657600080fd5b506102bf610894565b6040516102cc9190612824565b60405180910390f35b3480156102e157600080fd5b506102fc60048036038101906102f7919061237f565b6108ba565b005b34801561030a57600080fd5b506103136109aa565b005b34801561032157600080fd5b5061033c6004803603810190610337919061237f565b610a1c565b6040516103499190612a57565b60405180910390f35b34801561035e57600080fd5b50610367610a6d565b005b34801561037557600080fd5b50610390600480360381019061038b91906124f5565b610bc0565b005b34801561039e57600080fd5b506103a7610cb0565b6040516103b49190612a57565b60405180910390f35b3480156103c957600080fd5b506103e460048036038101906103df91906124f5565b610cb6565b005b3480156103f257600080fd5b506103fb610da6565b6040516104089190612824565b60405180910390f35b34801561041d57600080fd5b50610426610dcf565b6040516104339190612875565b60405180910390f35b34801561044857600080fd5b50610463600480360381019061045e919061246c565b610e0c565b604051610470919061283f565b60405180910390f35b34801561048557600080fd5b5061048e610e2a565b005b34801561049c57600080fd5b506104b760048036038101906104b291906124f5565b610ea4565b005b3480156104c557600080fd5b506104e060048036038101906104db91906123d9565b610feb565b6040516104ed9190612a57565b60405180910390f35b6104fe611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461058b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610582906129b7565b60405180910390fd5b60005b815181101561061c576001600c60008484815181106105b0576105af612e38565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061061490612d91565b91505061058e565b5050565b60606040518060400160405280600b81526020017f546f6b796f6c796d706963000000000000000000000000000000000000000000815250905090565b600061067161066a611072565b848461107a565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600066038d7ea4c68000905090565b6106b8611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906129b7565b60405180910390fd5b601160149054906101000a900460ff1615610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c906128b7565b60405180910390fd5b6001601160146101000a81548160ff021916908315150217905550565b60006107bf848484611245565b610880846107cb611072565b61087b8560405180606001604052806028815260200161323260289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610831611072565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117299092919063ffffffff16565b61107a565b600190509392505050565b60006009905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108c2611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906129b7565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109eb611072565b73ffffffffffffffffffffffffffffffffffffffff1614610a0b57600080fd5b6000479050610a198161178d565b50565b6000610a66600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611888565b9050919050565b610a75611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af9906129b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bc8611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c906129b7565b60405180910390fd5b60008110158015610c67575060198111155b610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d906129f7565b60405180910390fd5b8060088190555050565b60125481565b610cbe611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d42906129b7565b60405180910390fd5b60008110158015610d5d575060198111155b610d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9390612977565b60405180910390fd5b8060098190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f544b594f00000000000000000000000000000000000000000000000000000000815250905090565b6000610e20610e19611072565b8484611245565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e6b611072565b73ffffffffffffffffffffffffffffffffffffffff1614610e8b57600080fd5b6000610e9630610a1c565b9050610ea1816118f6565b50565b610eac611072565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f30906129b7565b60405180910390fd5b60008111610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7390612957565b60405180910390fd5b610fa96064610f9b8366038d7ea4c68000611b7e90919063ffffffff16565b611bf990919063ffffffff16565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601254604051610fe09190612a57565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e190612a37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561115a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115190612917565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112389190612a57565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ac90612a17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c90612897565b60405180910390fd5b60008111611368576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135f906129d7565b60405180910390fd5b611370610da6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113de57506113ae610da6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561166657601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061148c5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156114e157601160149054906101000a900460ff166114e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d7906128d7565b60405180910390fd5b5b6012548111156114f057600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115945750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61159d57600080fd5b60006115a830610a1c565b905060125481106115b95760125490505b601160159054906101000a900460ff161580156116245750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561163c5750601160169054906101000a900460ff165b156116645761164a816118f6565b60004790506000811115611662576116614761178d565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061170d5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561171757600090505b61172384848484611c43565b50505050565b6000838311158290611771576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117689190612875565b60405180910390fd5b50600083856117809190612c6e565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6117dd600284611bf990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611808573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611859600284611bf990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611884573d6000803e3d6000fd5b5050565b60006006548211156118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c6906128f7565b60405180910390fd5b60006118d9611c70565b90506118ee8184611bf990919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561192e5761192d612e67565b5b60405190808252806020026020018201604052801561195c5781602001602082028036833780820191505090505b509050308160008151811061197457611973612e38565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1657600080fd5b505afa158015611a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4e91906123ac565b81600181518110611a6257611a61612e38565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ac930601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461107a565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b2d959493929190612a72565b600060405180830381600087803b158015611b4757600080fd5b505af1158015611b5b573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600080831415611b915760009050611bf3565b60008284611b9f9190612c14565b9050828482611bae9190612be3565b14611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be590612997565b60405180910390fd5b809150505b92915050565b6000611c3b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c9b565b905092915050565b80611c5157611c50611cfe565b5b611c5c848484611d41565b80611c6a57611c69611f0c565b5b50505050565b6000806000611c7d611f20565b91509150611c948183611bf990919063ffffffff16565b9250505090565b60008083118290611ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd99190612875565b60405180910390fd5b5060008385611cf19190612be3565b9050809150509392505050565b6000600854148015611d1257506000600954145b15611d1c57611d3f565b600854600a81905550600954600b81905550600060088190555060006009819055505b565b600080600080600080611d5387611f7c565b955095509550955095509550611db186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e928161208c565b611e9c8483612149565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ef99190612a57565b60405180910390a3505050505050505050565b600a54600881905550600b54600981905550565b60008060006006549050600066038d7ea4c680009050611f5266038d7ea4c68000600654611bf990919063ffffffff16565b821015611f6f5760065466038d7ea4c68000935093505050611f78565b81819350935050505b9091565b6000806000806000806000806000611f998a600854600954612183565b9250925092506000611fa9611c70565b90506000806000611fbc8e878787612219565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061202683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611729565b905092915050565b600080828461203d9190612b8d565b905083811015612082576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207990612937565b60405180910390fd5b8091505092915050565b6000612096611c70565b905060006120ad8284611b7e90919063ffffffff16565b905061210181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61215e82600654611fe490919063ffffffff16565b6006819055506121798160075461202e90919063ffffffff16565b6007819055505050565b6000806000806121af60646121a1888a611b7e90919063ffffffff16565b611bf990919063ffffffff16565b905060006121d960646121cb888b611b7e90919063ffffffff16565b611bf990919063ffffffff16565b90506000612202826121f4858c611fe490919063ffffffff16565b611fe490919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806122328589611b7e90919063ffffffff16565b905060006122498689611b7e90919063ffffffff16565b905060006122608789611b7e90919063ffffffff16565b905060006122898261227b8587611fe490919063ffffffff16565b611fe490919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006122b56122b084612b0c565b612ae7565b905080838252602082019050828560208602820111156122d8576122d7612e9b565b5b60005b8581101561230857816122ee8882612312565b8452602084019350602083019250506001810190506122db565b5050509392505050565b60008135905061232181613203565b92915050565b60008151905061233681613203565b92915050565b600082601f83011261235157612350612e96565b5b81356123618482602086016122a2565b91505092915050565b6000813590506123798161321a565b92915050565b60006020828403121561239557612394612ea5565b5b60006123a384828501612312565b91505092915050565b6000602082840312156123c2576123c1612ea5565b5b60006123d084828501612327565b91505092915050565b600080604083850312156123f0576123ef612ea5565b5b60006123fe85828601612312565b925050602061240f85828601612312565b9150509250929050565b60008060006060848603121561243257612431612ea5565b5b600061244086828701612312565b935050602061245186828701612312565b92505060406124628682870161236a565b9150509250925092565b6000806040838503121561248357612482612ea5565b5b600061249185828601612312565b92505060206124a28582860161236a565b9150509250929050565b6000602082840312156124c2576124c1612ea5565b5b600082013567ffffffffffffffff8111156124e0576124df612ea0565b5b6124ec8482850161233c565b91505092915050565b60006020828403121561250b5761250a612ea5565b5b60006125198482850161236a565b91505092915050565b600061252e838361253a565b60208301905092915050565b61254381612ca2565b82525050565b61255281612ca2565b82525050565b600061256382612b48565b61256d8185612b6b565b935061257883612b38565b8060005b838110156125a95781516125908882612522565b975061259b83612b5e565b92505060018101905061257c565b5085935050505092915050565b6125bf81612cb4565b82525050565b6125ce81612cf7565b82525050565b6125dd81612d1b565b82525050565b60006125ee82612b53565b6125f88185612b7c565b9350612608818560208601612d2d565b61261181612eaa565b840191505092915050565b6000612629602383612b7c565b915061263482612ebb565b604082019050919050565b600061264c601a83612b7c565b915061265782612f0a565b602082019050919050565b600061266f601a83612b7c565b915061267a82612f33565b602082019050919050565b6000612692602a83612b7c565b915061269d82612f5c565b604082019050919050565b60006126b5602283612b7c565b91506126c082612fab565b604082019050919050565b60006126d8601b83612b7c565b91506126e382612ffa565b602082019050919050565b60006126fb601d83612b7c565b915061270682613023565b602082019050919050565b600061271e601a83612b7c565b91506127298261304c565b602082019050919050565b6000612741602183612b7c565b915061274c82613075565b604082019050919050565b6000612764602083612b7c565b915061276f826130c4565b602082019050919050565b6000612787602983612b7c565b9150612792826130ed565b604082019050919050565b60006127aa601a83612b7c565b91506127b58261313c565b602082019050919050565b60006127cd602583612b7c565b91506127d882613165565b604082019050919050565b60006127f0602483612b7c565b91506127fb826131b4565b604082019050919050565b61280f81612ce0565b82525050565b61281e81612cea565b82525050565b60006020820190506128396000830184612549565b92915050565b600060208201905061285460008301846125b6565b92915050565b600060208201905061286f60008301846125c5565b92915050565b6000602082019050818103600083015261288f81846125e3565b905092915050565b600060208201905081810360008301526128b08161261c565b9050919050565b600060208201905081810360008301526128d08161263f565b9050919050565b600060208201905081810360008301526128f081612662565b9050919050565b6000602082019050818103600083015261291081612685565b9050919050565b60006020820190508181036000830152612930816126a8565b9050919050565b60006020820190508181036000830152612950816126cb565b9050919050565b60006020820190508181036000830152612970816126ee565b9050919050565b6000602082019050818103600083015261299081612711565b9050919050565b600060208201905081810360008301526129b081612734565b9050919050565b600060208201905081810360008301526129d081612757565b9050919050565b600060208201905081810360008301526129f08161277a565b9050919050565b60006020820190508181036000830152612a108161279d565b9050919050565b60006020820190508181036000830152612a30816127c0565b9050919050565b60006020820190508181036000830152612a50816127e3565b9050919050565b6000602082019050612a6c6000830184612806565b92915050565b600060a082019050612a876000830188612806565b612a9460208301876125d4565b8181036040830152612aa68186612558565b9050612ab56060830185612549565b612ac26080830184612806565b9695505050505050565b6000602082019050612ae16000830184612815565b92915050565b6000612af1612b02565b9050612afd8282612d60565b919050565b6000604051905090565b600067ffffffffffffffff821115612b2757612b26612e67565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612b9882612ce0565b9150612ba383612ce0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bd857612bd7612dda565b5b828201905092915050565b6000612bee82612ce0565b9150612bf983612ce0565b925082612c0957612c08612e09565b5b828204905092915050565b6000612c1f82612ce0565b9150612c2a83612ce0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c6357612c62612dda565b5b828202905092915050565b6000612c7982612ce0565b9150612c8483612ce0565b925082821015612c9757612c96612dda565b5b828203905092915050565b6000612cad82612cc0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d0282612d09565b9050919050565b6000612d1482612cc0565b9050919050565b6000612d2682612ce0565b9050919050565b60005b83811015612d4b578082015181840152602081019050612d30565b83811115612d5a576000848401525b50505050565b612d6982612eaa565b810181811067ffffffffffffffff82111715612d8857612d87612e67565b5b80604052505050565b6000612d9c82612ce0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612dcf57612dce612dda565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c72656164792073746172746564000000000000600082015250565b7f54726164696e67206973206e6f7420656e61626c656420796574000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f6564697374542073686f756c6420626520696e2030202d203235000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f7265646973542073686f756c6420626520696e2030202d203235000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61320c81612ca2565b811461321757600080fd5b50565b61322381612ce0565b811461322e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c47d0fbcb8817c7e695cd2d8ae5d0bdb2c183c1c1aa43fec5a0f3edc3aa9771464736f6c63430008060033

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

000000000000000000000000be937acbe61c7de8d530c5afd748363cd02d7b8f00000000000000000000000088d38b7524502896ce87468da746a4ed1637850d

-----Decoded View---------------
Arg [0] : addr1 (address): 0xBe937aCbe61c7De8d530c5AfD748363cD02d7b8f
Arg [1] : addr2 (address): 0x88d38B7524502896cE87468Da746A4Ed1637850d

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000be937acbe61c7de8d530c5afd748363cd02d7b8f
Arg [1] : 00000000000000000000000088d38b7524502896ce87468da746a4ed1637850d


Deployed Bytecode Sourcemap

4402:11770:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11864:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6545:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7470:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5413:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6822:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11315:142;;;;;;;;;;;;;:::i;:::-;;7671:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6731:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5461:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12041:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11665:191;;;;;;;;;;;;;:::i;:::-;;6925:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2143:148;;;;;;;;;;;;;:::i;:::-;;15822:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5599:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15998:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1929:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6636:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7071:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11465:192;;;;;;;;;;;;;:::i;:::-;;15555:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7278:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11864:169;2066:12;:10;:12::i;:::-;2056:22;;:6;;;;;;;;;;:22;;;2048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11940:9:::1;11935:91;11959:5;:12;11955:1;:16;11935:91;;;12010:4;11993;:14;11998:5;12004:1;11998:8;;;;;;;;:::i;:::-;;;;;;;;11993:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11973:3;;;;;:::i;:::-;;;;11935:91;;;;11864:169:::0;:::o;6545:83::-;6582:13;6615:5;;;;;;;;;;;;;;;;;6608:12;;6545:83;:::o;7470:193::-;7572:4;7594:39;7603:12;:10;:12::i;:::-;7617:7;7626:6;7594:8;:39::i;:::-;7651:4;7644:11;;7470:193;;;;:::o;5413:41::-;;;;;;;;;;;;;:::o;6822:95::-;6875:7;4953:15;6895:14;;6822:95;:::o;11315:142::-;2066:12;:10;:12::i;:::-;2056:22;;:6;;;;;;;;;;:22;;;2048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11378:11:::1;;;;;;;;;;;11377:12;11369:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;11445:4;11431:11;;:18;;;;;;;;;;;;;;;;;;11315:142::o:0;7671:446::-;7803:4;7820:36;7830:6;7838:9;7849:6;7820:9;:36::i;:::-;7867:220;7890:6;7911:12;:10;:12::i;:::-;7938:138;7994:6;7938:138;;;;;;;;;;;;;;;;;:11;:19;7950:6;7938:19;;;;;;;;;;;;;;;:33;7958:12;:10;:12::i;:::-;7938:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7867:8;:220::i;:::-;8105:4;8098:11;;7671:446;;;;;:::o;6731:83::-;6772:5;4627:1;6790:16;;6731:83;:::o;5461:28::-;;;;;;;;;;;;;:::o;12041:92::-;2066:12;:10;:12::i;:::-;2056:22;;:6;;;;;;;;;;:22;;;2048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12120:5:::1;12105:4;:12;12110:6;12105:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12041:92:::0;:::o;11665:191::-;11731:12;;;;;;;;;;;11715:28;;:12;:10;:12::i;:::-;:28;;;11707:37;;;;;;11755:26;11784:21;11755:50;;11816:32;11829:18;11816:12;:32::i;:::-;11696:160;11665:191::o;6925:138::-;6991:7;7018:37;7038:7;:16;7046:7;7038:16;;;;;;;;;;;;;;;;7018:19;:37::i;:::-;7011:44;;6925:138;;;:::o;2143:148::-;2066:12;:10;:12::i;:::-;2056:22;;:6;;;;;;;;;;:22;;;2048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2250:1:::1;2213:40;;2234:6;::::0;::::1;;;;;;;;2213:40;;;;;;;;;;;;2281:1;2264:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2143:148::o:0;15822:168::-;2066:12;:10;:12::i;:::-;2056:22;;:6;;;;;;;;;;:22;;;2048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15907:1:::1;15897:6;:11;;:27;;;;;15922:2;15912:6;:12;;15897:27;15889:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;15976:6;15966:7;:16;;;;15822:168:::0;:::o;5599:42::-;;;;:::o;15998:168::-;2066:12;:10;:12::i;:::-;2056:22;;:6;;;;;;;;;;:22;;;2048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16083:1:::1;16073:6;:11;;:27;;;;;16098:2;16088:6;:12;;16073:27;16065:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;16152:6;16142:7;:16;;;;15998:168:::0;:::o;1929:79::-;1967:7;1994:6;;;;;;;;;;;1987:13;;1929:79;:::o;6636:87::-;6675:13;6708:7;;;;;;;;;;;;;;;;;6701:14;;6636:87;:::o;7071:199::-;7176:4;7198:42;7208:12;:10;:12::i;:::-;7222:9;7233:6;7198:9;:42::i;:::-;7258:4;7251:11;;7071:199;;;;:::o;11465:192::-;11531:12;;;;;;;;;;;11515:28;;:12;:10;:12::i;:::-;:28;;;11507:37;;;;;;11555:23;11581:24;11599:4;11581:9;:24::i;:::-;11555:50;;11616:33;11633:15;11616:16;:33::i;:::-;11496:161;11465:192::o;15555:255::-;2066:12;:10;:12::i;:::-;2056:22;;:6;;;;;;;;;;:22;;;2048:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15657:1:::1;15642:12;:16;15634:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;15718:36;15748:5;15718:25;15730:12;4953:15;15718:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;15703:12;:51;;;;15770:32;15789:12;;15770:32;;;;;;:::i;:::-;;;;;;;;15555:255:::0;:::o;7278:184::-;7395:7;7427:11;:18;7439:5;7427:18;;;;;;;;;;;;;;;:27;7446:7;7427:27;;;;;;;;;;;;;;;;7420:34;;7278:184;;;;:::o;688:98::-;741:7;768:10;761:17;;688:98;:::o;8808:369::-;8952:1;8935:19;;:5;:19;;;;8927:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9033:1;9014:21;;:7;:21;;;;9006:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9115:6;9085:11;:18;9097:5;9085:18;;;;;;;;;;;;;;;:27;9104:7;9085:27;;;;;;;;;;;;;;;:36;;;;9153:7;9137:32;;9146:5;9137:32;;;9162:6;9137:32;;;;;;:::i;:::-;;;;;;;;8808:369;;;:::o;9185:1472::-;9323:1;9307:18;;:4;:18;;;;9299:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9400:1;9386:16;;:2;:16;;;;9378:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9470:1;9461:6;:10;9453:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9542:7;:5;:7::i;:::-;9534:15;;:4;:15;;;;:32;;;;;9559:7;:5;:7::i;:::-;9553:13;;:2;:13;;;;9534:32;9530:926;;;9642:13;;;;;;;;;;;9634:21;;:4;:21;;;:44;;;;9665:13;;;;;;;;;;;9659:19;;:2;:19;;;9634:44;9630:136;;;9708:11;;;;;;;;;;;9700:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;9630:136;9814:12;;9804:6;:22;;9796:31;;;;;;9851:4;:10;9856:4;9851:10;;;;;;;;;;;;;;;;;;;;;;;;;9850:11;:24;;;;;9866:4;:8;9871:2;9866:8;;;;;;;;;;;;;;;;;;;;;;;;;9865:9;9850:24;9842:33;;;;;;9904:28;9935:24;9953:4;9935:9;:24::i;:::-;9904:55;;10001:12;;9977:20;:36;9974:124;;10070:12;;10047:35;;9974:124;10131:6;;;;;;;;;;;10130:7;:32;;;;;10149:13;;;;;;;;;;;10141:21;;:4;:21;;;;10130:32;:47;;;;;10166:11;;;;;;;;;;;10130:47;10126:319;;;10198:38;10215:20;10198:16;:38::i;:::-;10255:26;10284:21;10255:50;;10349:1;10328:18;:22;10324:106;;;10375:35;10388:21;10375:12;:35::i;:::-;10324:106;10179:266;10126:319;9568:888;9530:926;10466:12;10481:4;10466:19;;10502:18;:24;10521:4;10502:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10530:18;:22;10549:2;10530:22;;;;;;;;;;;;;;;;;;;;;;;;;10502:50;10498:98;;;10579:5;10569:15;;10498:98;10608:41;10623:4;10629:2;10633:6;10641:7;10608:14;:41::i;:::-;9288:1369;9185:1472;;;:::o;2653:224::-;2773:7;2806:1;2801;:6;;2809:12;2793:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2833:9;2849:1;2845;:5;;;;:::i;:::-;2833:17;;2868:1;2861:8;;;2653:224;;;;;:::o;11156:151::-;11213:12;;;;;;;;;;;:21;;:36;11235:13;11246:1;11235:6;:10;;:13;;;;:::i;:::-;11213:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11260:15;;;;;;;;;;;:24;;:39;11285:13;11296:1;11285:6;:10;;:13;;;;:::i;:::-;11260:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11156:151;:::o;8125:323::-;8220:7;8278;;8267;:18;;8245:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8366:19;8388:10;:8;:10::i;:::-;8366:32;;8416:24;8428:11;8416:7;:11;;:24;;;;:::i;:::-;8409:31;;;8125:323;;;:::o;10665:483::-;5744:4;5735:6;;:13;;;;;;;;;;;;;;;;;;10743:21:::1;10781:1;10767:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10743:40;;10812:4;10794;10799:1;10794:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10838:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10828:4;10833:1;10828:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10871:62;10888:4;10903:15;;;;;;;;;;;10921:11;10871:8;:62::i;:::-;10944:15;;;;;;;;;;;:66;;;11025:11;11051:1;11067:4;11094;11114:15;10944:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10732:416;5780:5:::0;5771:6;;:14;;;;;;;;;;;;;;;;;;10665:483;:::o;2885:246::-;2943:7;2972:1;2967;:6;2963:47;;;2997:1;2990:8;;;;2963:47;3020:9;3036:1;3032;:5;;;;:::i;:::-;3020:17;;3065:1;3060;3056;:5;;;;:::i;:::-;:10;3048:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3122:1;3115:8;;;2885:246;;;;;:::o;3139:132::-;3197:7;3224:39;3228:1;3231;3224:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3217:46;;3139:132;;;;:::o;12141:282::-;12297:7;12292:28;;12306:14;:12;:14::i;:::-;12292:28;12331:44;12349:6;12357:9;12368:6;12331:17;:44::i;:::-;12391:7;12386:29;;12400:15;:13;:15::i;:::-;12386:29;12141:282;;;;:::o;15110:166::-;15152:7;15173:15;15190;15209:19;:17;:19::i;:::-;15172:56;;;;15248:20;15260:7;15248;:11;;:20;;;;:::i;:::-;15241:27;;;;15110:166;:::o;3279:223::-;3399:7;3431:1;3427;:5;3434:12;3419:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3458:9;3474:1;3470;:5;;;;:::i;:::-;3458:17;;3493:1;3486:8;;;3279:223;;;;;:::o;8456:::-;8514:1;8503:7;;:12;:28;;;;;8530:1;8519:7;;:12;8503:28;8499:41;;;8533:7;;8499:41;8574:7;;8556:15;:25;;;;8610:7;;8592:15;:25;;;;8648:1;8638:7;:11;;;;8670:1;8660:7;:11;;;;8456:223;:::o;12431:610::-;12578:15;12608:23;12646:12;12673:23;12711:12;12738:13;12765:19;12776:7;12765:10;:19::i;:::-;12563:221;;;;;;;;;;;;12813:28;12833:7;12813;:15;12821:6;12813:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12795:7;:15;12803:6;12795:15;;;;;;;;;;;;;;;:46;;;;12873:39;12896:15;12873:7;:18;12881:9;12873:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12852:7;:18;12860:9;12852:18;;;;;;;;;;;;;;;:60;;;;12923:16;12933:5;12923:9;:16::i;:::-;12950:23;12962:4;12968;12950:11;:23::i;:::-;13006:9;12989:44;;12998:6;12989:44;;;13017:15;12989:44;;;;;;:::i;:::-;;;;;;;;12552:489;;;;;;12431:610;;;:::o;8687:113::-;8741:15;;8731:7;:25;;;;8777:15;;8767:7;:25;;;;8687:113::o;15284:263::-;15335:7;15344;15364:15;15382:7;;15364:25;;15400:15;4953;15400:25;;15450:20;4953:15;15450:7;;:11;;:20;;;;:::i;:::-;15440:7;:30;15436:61;;;15480:7;;4953:15;15472:25;;;;;;;;15436:61;15522:7;15531;15514:25;;;;;;15284:263;;;:::o;13460:623::-;13560:7;13582;13604;13626;13648;13670;13706:23;13731:12;13745:13;13775:38;13787:7;13796;;13805;;13775:11;:38::i;:::-;13705:108;;;;;;13824:19;13846:10;:8;:10::i;:::-;13824:32;;13868:15;13885:23;13910:12;13939:46;13951:7;13960:4;13966:5;13973:11;13939;:46::i;:::-;13867:118;;;;;;14014:7;14023:15;14040:4;14046:15;14063:4;14069:5;14006:69;;;;;;;;;;;;;;;;;;;13460:623;;;;;;;:::o;2509:136::-;2567:7;2594:43;2598:1;2601;2594:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2587:50;;2509:136;;;;:::o;2322:179::-;2380:7;2400:9;2416:1;2412;:5;;;;:::i;:::-;2400:17;;2441:1;2436;:6;;2428:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2492:1;2485:8;;;2322:179;;;;:::o;13049:211::-;13102:19;13124:10;:8;:10::i;:::-;13102:32;;13145:13;13161:22;13171:11;13161:5;:9;;:22;;;;:::i;:::-;13145:38;;13219:33;13246:5;13219:7;:22;13235:4;13219:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13194:7;:22;13210:4;13194:22;;;;;;;;;;;;;;;:58;;;;13091:169;;13049:211;:::o;13268:147::-;13346:17;13358:4;13346:7;;:11;;:17;;;;:::i;:::-;13336:7;:27;;;;13387:20;13402:4;13387:10;;:14;;:20;;;;:::i;:::-;13374:10;:33;;;;13268:147;;:::o;14091:467::-;14258:7;14280;14302;14337:12;14352:28;14376:3;14352:19;14364:6;14352:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14337:43;;14391:13;14407:28;14431:3;14407:19;14419:6;14407:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14391:44;;14446:23;14472:28;14494:5;14472:17;14484:4;14472:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14446:54;;14521:15;14538:4;14544:5;14513:37;;;;;;;;;14091:467;;;;;;;:::o;14566:536::-;14760:7;14782;14804;14839:15;14857:24;14869:11;14857:7;:11;;:24;;;;:::i;:::-;14839:42;;14892:12;14907:21;14916:11;14907:4;:8;;:21;;;;:::i;:::-;14892:36;;14939:13;14955:22;14965:11;14955:5;:9;;:22;;;;:::i;:::-;14939:38;;14988:23;15014:28;15036:5;15014:17;15026:4;15014:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14988:54;;15063:7;15072:15;15089:4;15055:39;;;;;;;;;;14566:536;;;;;;;;:::o;24:722: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;;;404:79;;:::i;:::-;350:2;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;804:87;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;960:80;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:2;;1191:79;;:::i;:::-;1150:2;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;;;;;:::o;1439:139::-;1485:5;1523:6;1510:20;1501:29;;1539:33;1566:5;1539:33;:::i;:::-;1491:87;;;;:::o;1584:329::-;1643:6;1692:2;1680:9;1671:7;1667:23;1663:32;1660:2;;;1698:79;;:::i;:::-;1660:2;1818:1;1843:53;1888:7;1879:6;1868:9;1864:22;1843:53;:::i;:::-;1833:63;;1789:117;1650:263;;;;:::o;1919:351::-;1989:6;2038:2;2026:9;2017:7;2013:23;2009:32;2006:2;;;2044:79;;:::i;:::-;2006:2;2164:1;2189:64;2245:7;2236:6;2225:9;2221:22;2189:64;:::i;:::-;2179:74;;2135:128;1996:274;;;;:::o;2276:474::-;2344:6;2352;2401:2;2389:9;2380:7;2376:23;2372:32;2369:2;;;2407:79;;:::i;:::-;2369:2;2527:1;2552:53;2597:7;2588:6;2577:9;2573:22;2552:53;:::i;:::-;2542:63;;2498:117;2654:2;2680:53;2725:7;2716:6;2705:9;2701:22;2680:53;:::i;:::-;2670:63;;2625:118;2359:391;;;;;:::o;2756:619::-;2833:6;2841;2849;2898:2;2886:9;2877:7;2873:23;2869:32;2866:2;;;2904:79;;:::i;:::-;2866:2;3024:1;3049:53;3094:7;3085:6;3074:9;3070:22;3049:53;:::i;:::-;3039:63;;2995:117;3151:2;3177:53;3222:7;3213:6;3202:9;3198:22;3177:53;:::i;:::-;3167:63;;3122:118;3279:2;3305:53;3350:7;3341:6;3330:9;3326:22;3305:53;:::i;:::-;3295:63;;3250:118;2856:519;;;;;:::o;3381:474::-;3449:6;3457;3506:2;3494:9;3485:7;3481:23;3477:32;3474:2;;;3512:79;;:::i;:::-;3474:2;3632:1;3657:53;3702:7;3693:6;3682:9;3678:22;3657:53;:::i;:::-;3647:63;;3603:117;3759:2;3785:53;3830:7;3821:6;3810:9;3806:22;3785:53;:::i;:::-;3775:63;;3730:118;3464:391;;;;;:::o;3861:539::-;3945:6;3994:2;3982:9;3973:7;3969:23;3965:32;3962:2;;;4000:79;;:::i;:::-;3962:2;4148:1;4137:9;4133:17;4120:31;4178:18;4170:6;4167:30;4164:2;;;4200:79;;:::i;:::-;4164:2;4305:78;4375:7;4366:6;4355:9;4351:22;4305:78;:::i;:::-;4295:88;;4091:302;3952:448;;;;:::o;4406:329::-;4465:6;4514:2;4502:9;4493:7;4489:23;4485:32;4482:2;;;4520:79;;:::i;:::-;4482:2;4640:1;4665:53;4710:7;4701:6;4690:9;4686:22;4665:53;:::i;:::-;4655:63;;4611:117;4472:263;;;;:::o;4741:179::-;4810:10;4831:46;4873:3;4865:6;4831:46;:::i;:::-;4909:4;4904:3;4900:14;4886:28;;4821:99;;;;:::o;4926:108::-;5003:24;5021:5;5003:24;:::i;:::-;4998:3;4991:37;4981:53;;:::o;5040:118::-;5127:24;5145:5;5127:24;:::i;:::-;5122:3;5115:37;5105:53;;:::o;5194:732::-;5313:3;5342:54;5390:5;5342:54;:::i;:::-;5412:86;5491:6;5486:3;5412:86;:::i;:::-;5405:93;;5522:56;5572:5;5522:56;:::i;:::-;5601:7;5632:1;5617:284;5642:6;5639:1;5636:13;5617:284;;;5718:6;5712:13;5745:63;5804:3;5789:13;5745:63;:::i;:::-;5738:70;;5831:60;5884:6;5831:60;:::i;:::-;5821:70;;5677:224;5664:1;5661;5657:9;5652:14;;5617:284;;;5621:14;5917:3;5910:10;;5318:608;;;;;;;:::o;5932:109::-;6013:21;6028:5;6013:21;:::i;:::-;6008:3;6001:34;5991:50;;:::o;6047:183::-;6160:63;6217:5;6160:63;:::i;:::-;6155:3;6148:76;6138:92;;:::o;6236:147::-;6331:45;6370:5;6331:45;:::i;:::-;6326:3;6319:58;6309:74;;:::o;6389:364::-;6477:3;6505:39;6538:5;6505:39;:::i;:::-;6560:71;6624:6;6619:3;6560:71;:::i;:::-;6553:78;;6640:52;6685:6;6680:3;6673:4;6666:5;6662:16;6640:52;:::i;:::-;6717:29;6739:6;6717:29;:::i;:::-;6712:3;6708:39;6701:46;;6481:272;;;;;:::o;6759:366::-;6901:3;6922:67;6986:2;6981:3;6922:67;:::i;:::-;6915:74;;6998:93;7087:3;6998:93;:::i;:::-;7116:2;7111:3;7107:12;7100:19;;6905:220;;;:::o;7131:366::-;7273:3;7294:67;7358:2;7353:3;7294:67;:::i;:::-;7287:74;;7370:93;7459:3;7370:93;:::i;:::-;7488:2;7483:3;7479:12;7472:19;;7277:220;;;:::o;7503:366::-;7645:3;7666:67;7730:2;7725:3;7666:67;:::i;:::-;7659:74;;7742:93;7831:3;7742:93;:::i;:::-;7860:2;7855:3;7851:12;7844:19;;7649:220;;;:::o;7875:366::-;8017:3;8038:67;8102:2;8097:3;8038:67;:::i;:::-;8031:74;;8114:93;8203:3;8114:93;:::i;:::-;8232:2;8227:3;8223:12;8216:19;;8021:220;;;:::o;8247:366::-;8389:3;8410:67;8474:2;8469:3;8410:67;:::i;:::-;8403:74;;8486:93;8575:3;8486:93;:::i;:::-;8604:2;8599:3;8595:12;8588:19;;8393:220;;;:::o;8619:366::-;8761:3;8782:67;8846:2;8841:3;8782:67;:::i;:::-;8775:74;;8858:93;8947:3;8858:93;:::i;:::-;8976:2;8971:3;8967:12;8960:19;;8765:220;;;:::o;8991:366::-;9133:3;9154:67;9218:2;9213:3;9154:67;:::i;:::-;9147:74;;9230:93;9319:3;9230:93;:::i;:::-;9348:2;9343:3;9339:12;9332:19;;9137:220;;;:::o;9363:366::-;9505:3;9526:67;9590:2;9585:3;9526:67;:::i;:::-;9519:74;;9602:93;9691:3;9602:93;:::i;:::-;9720:2;9715:3;9711:12;9704:19;;9509:220;;;:::o;9735:366::-;9877:3;9898:67;9962:2;9957:3;9898:67;:::i;:::-;9891:74;;9974:93;10063:3;9974:93;:::i;:::-;10092:2;10087:3;10083:12;10076:19;;9881:220;;;:::o;10107:366::-;10249:3;10270:67;10334:2;10329:3;10270:67;:::i;:::-;10263:74;;10346:93;10435:3;10346:93;:::i;:::-;10464:2;10459:3;10455:12;10448:19;;10253:220;;;:::o;10479:366::-;10621:3;10642:67;10706:2;10701:3;10642:67;:::i;:::-;10635:74;;10718:93;10807:3;10718:93;:::i;:::-;10836:2;10831:3;10827:12;10820:19;;10625:220;;;:::o;10851:366::-;10993:3;11014:67;11078:2;11073:3;11014:67;:::i;:::-;11007:74;;11090:93;11179:3;11090:93;:::i;:::-;11208:2;11203:3;11199:12;11192:19;;10997:220;;;:::o;11223:366::-;11365:3;11386:67;11450:2;11445:3;11386:67;:::i;:::-;11379:74;;11462:93;11551:3;11462:93;:::i;:::-;11580:2;11575:3;11571:12;11564:19;;11369:220;;;:::o;11595:366::-;11737:3;11758:67;11822:2;11817:3;11758:67;:::i;:::-;11751:74;;11834:93;11923:3;11834:93;:::i;:::-;11952:2;11947:3;11943:12;11936:19;;11741:220;;;:::o;11967:118::-;12054:24;12072:5;12054:24;:::i;:::-;12049:3;12042:37;12032:53;;:::o;12091:112::-;12174:22;12190:5;12174:22;:::i;:::-;12169:3;12162:35;12152:51;;:::o;12209:222::-;12302:4;12340:2;12329:9;12325:18;12317:26;;12353:71;12421:1;12410:9;12406:17;12397:6;12353:71;:::i;:::-;12307:124;;;;:::o;12437:210::-;12524:4;12562:2;12551:9;12547:18;12539:26;;12575:65;12637:1;12626:9;12622:17;12613:6;12575:65;:::i;:::-;12529:118;;;;:::o;12653:274::-;12772:4;12810:2;12799:9;12795:18;12787:26;;12823:97;12917:1;12906:9;12902:17;12893:6;12823:97;:::i;:::-;12777:150;;;;:::o;12933:313::-;13046:4;13084:2;13073:9;13069:18;13061:26;;13133:9;13127:4;13123:20;13119:1;13108:9;13104:17;13097:47;13161:78;13234:4;13225:6;13161:78;:::i;:::-;13153:86;;13051:195;;;;:::o;13252:419::-;13418:4;13456:2;13445:9;13441:18;13433:26;;13505:9;13499:4;13495:20;13491:1;13480:9;13476:17;13469:47;13533:131;13659:4;13533:131;:::i;:::-;13525:139;;13423:248;;;:::o;13677:419::-;13843:4;13881:2;13870:9;13866:18;13858:26;;13930:9;13924:4;13920:20;13916:1;13905:9;13901:17;13894:47;13958:131;14084:4;13958:131;:::i;:::-;13950:139;;13848:248;;;:::o;14102:419::-;14268:4;14306:2;14295:9;14291:18;14283:26;;14355:9;14349:4;14345:20;14341:1;14330:9;14326:17;14319:47;14383:131;14509:4;14383:131;:::i;:::-;14375:139;;14273:248;;;:::o;14527:419::-;14693:4;14731:2;14720:9;14716:18;14708:26;;14780:9;14774:4;14770:20;14766:1;14755:9;14751:17;14744:47;14808:131;14934:4;14808:131;:::i;:::-;14800:139;;14698:248;;;:::o;14952:419::-;15118:4;15156:2;15145:9;15141:18;15133:26;;15205:9;15199:4;15195:20;15191:1;15180:9;15176:17;15169:47;15233:131;15359:4;15233:131;:::i;:::-;15225:139;;15123:248;;;:::o;15377:419::-;15543:4;15581:2;15570:9;15566:18;15558:26;;15630:9;15624:4;15620:20;15616:1;15605:9;15601:17;15594:47;15658:131;15784:4;15658:131;:::i;:::-;15650:139;;15548:248;;;:::o;15802:419::-;15968:4;16006:2;15995:9;15991:18;15983:26;;16055:9;16049:4;16045:20;16041:1;16030:9;16026:17;16019:47;16083:131;16209:4;16083:131;:::i;:::-;16075:139;;15973:248;;;:::o;16227:419::-;16393:4;16431:2;16420:9;16416:18;16408:26;;16480:9;16474:4;16470:20;16466:1;16455:9;16451:17;16444:47;16508:131;16634:4;16508:131;:::i;:::-;16500:139;;16398:248;;;:::o;16652:419::-;16818:4;16856:2;16845:9;16841:18;16833:26;;16905:9;16899:4;16895:20;16891:1;16880:9;16876:17;16869:47;16933:131;17059:4;16933:131;:::i;:::-;16925:139;;16823:248;;;:::o;17077:419::-;17243:4;17281:2;17270:9;17266:18;17258:26;;17330:9;17324:4;17320:20;17316:1;17305:9;17301:17;17294:47;17358:131;17484:4;17358:131;:::i;:::-;17350:139;;17248:248;;;:::o;17502:419::-;17668:4;17706:2;17695:9;17691:18;17683:26;;17755:9;17749:4;17745:20;17741:1;17730:9;17726:17;17719:47;17783:131;17909:4;17783:131;:::i;:::-;17775:139;;17673:248;;;:::o;17927:419::-;18093:4;18131:2;18120:9;18116:18;18108:26;;18180:9;18174:4;18170:20;18166:1;18155:9;18151:17;18144:47;18208:131;18334:4;18208:131;:::i;:::-;18200:139;;18098:248;;;:::o;18352:419::-;18518:4;18556:2;18545:9;18541:18;18533:26;;18605:9;18599:4;18595:20;18591:1;18580:9;18576:17;18569:47;18633:131;18759:4;18633:131;:::i;:::-;18625:139;;18523:248;;;:::o;18777:419::-;18943:4;18981:2;18970:9;18966:18;18958:26;;19030:9;19024:4;19020:20;19016:1;19005:9;19001:17;18994:47;19058:131;19184:4;19058:131;:::i;:::-;19050:139;;18948:248;;;:::o;19202:222::-;19295:4;19333:2;19322:9;19318:18;19310:26;;19346:71;19414:1;19403:9;19399:17;19390:6;19346:71;:::i;:::-;19300:124;;;;:::o;19430:831::-;19693:4;19731:3;19720:9;19716:19;19708:27;;19745:71;19813:1;19802:9;19798:17;19789:6;19745:71;:::i;:::-;19826:80;19902:2;19891:9;19887:18;19878:6;19826:80;:::i;:::-;19953:9;19947:4;19943:20;19938:2;19927:9;19923:18;19916:48;19981:108;20084:4;20075:6;19981:108;:::i;:::-;19973:116;;20099:72;20167:2;20156:9;20152:18;20143:6;20099:72;:::i;:::-;20181:73;20249:3;20238:9;20234:19;20225:6;20181:73;:::i;:::-;19698:563;;;;;;;;:::o;20267:214::-;20356:4;20394:2;20383:9;20379:18;20371:26;;20407:67;20471:1;20460:9;20456:17;20447:6;20407:67;:::i;:::-;20361:120;;;;:::o;20487:129::-;20521:6;20548:20;;:::i;:::-;20538:30;;20577:33;20605:4;20597:6;20577:33;:::i;:::-;20528:88;;;:::o;20622:75::-;20655:6;20688:2;20682:9;20672:19;;20662:35;:::o;20703:311::-;20780:4;20870:18;20862:6;20859:30;20856:2;;;20892:18;;:::i;:::-;20856:2;20942:4;20934:6;20930:17;20922:25;;21002:4;20996;20992:15;20984:23;;20785:229;;;:::o;21020:132::-;21087:4;21110:3;21102:11;;21140:4;21135:3;21131:14;21123:22;;21092:60;;;:::o;21158:114::-;21225:6;21259:5;21253:12;21243:22;;21232:40;;;:::o;21278:99::-;21330:6;21364:5;21358:12;21348:22;;21337:40;;;:::o;21383:113::-;21453:4;21485;21480:3;21476:14;21468:22;;21458:38;;;:::o;21502:184::-;21601:11;21635:6;21630:3;21623:19;21675:4;21670:3;21666:14;21651:29;;21613:73;;;;:::o;21692:169::-;21776:11;21810:6;21805:3;21798:19;21850:4;21845:3;21841:14;21826:29;;21788:73;;;;:::o;21867:305::-;21907:3;21926:20;21944:1;21926:20;:::i;:::-;21921:25;;21960:20;21978:1;21960:20;:::i;:::-;21955:25;;22114:1;22046:66;22042:74;22039:1;22036:81;22033:2;;;22120:18;;:::i;:::-;22033:2;22164:1;22161;22157:9;22150:16;;21911:261;;;;:::o;22178:185::-;22218:1;22235:20;22253:1;22235:20;:::i;:::-;22230:25;;22269:20;22287:1;22269:20;:::i;:::-;22264:25;;22308:1;22298:2;;22313:18;;:::i;:::-;22298:2;22355:1;22352;22348:9;22343:14;;22220:143;;;;:::o;22369:348::-;22409:7;22432:20;22450:1;22432:20;:::i;:::-;22427:25;;22466:20;22484:1;22466:20;:::i;:::-;22461:25;;22654:1;22586:66;22582:74;22579:1;22576:81;22571:1;22564:9;22557:17;22553:105;22550:2;;;22661:18;;:::i;:::-;22550:2;22709:1;22706;22702:9;22691:20;;22417:300;;;;:::o;22723:191::-;22763:4;22783:20;22801:1;22783:20;:::i;:::-;22778:25;;22817:20;22835:1;22817:20;:::i;:::-;22812:25;;22856:1;22853;22850:8;22847:2;;;22861:18;;:::i;:::-;22847:2;22906:1;22903;22899:9;22891:17;;22768:146;;;;:::o;22920:96::-;22957:7;22986:24;23004:5;22986:24;:::i;:::-;22975:35;;22965:51;;;:::o;23022:90::-;23056:7;23099:5;23092:13;23085:21;23074:32;;23064:48;;;:::o;23118:126::-;23155:7;23195:42;23188:5;23184:54;23173:65;;23163:81;;;:::o;23250:77::-;23287:7;23316:5;23305:16;;23295:32;;;:::o;23333:86::-;23368:7;23408:4;23401:5;23397:16;23386:27;;23376:43;;;:::o;23425:178::-;23501:9;23534:63;23591:5;23534:63;:::i;:::-;23521:76;;23511:92;;;:::o;23609:139::-;23685:9;23718:24;23736:5;23718:24;:::i;:::-;23705:37;;23695:53;;;:::o;23754:121::-;23812:9;23845:24;23863:5;23845:24;:::i;:::-;23832:37;;23822:53;;;:::o;23881:307::-;23949:1;23959:113;23973:6;23970:1;23967:13;23959:113;;;24058:1;24053:3;24049:11;24043:18;24039:1;24034:3;24030:11;24023:39;23995:2;23992:1;23988:10;23983:15;;23959:113;;;24090:6;24087:1;24084:13;24081:2;;;24170:1;24161:6;24156:3;24152:16;24145:27;24081:2;23930:258;;;;:::o;24194:281::-;24277:27;24299:4;24277:27;:::i;:::-;24269:6;24265:40;24407:6;24395:10;24392:22;24371:18;24359:10;24356:34;24353:62;24350:2;;;24418:18;;:::i;:::-;24350:2;24458:10;24454:2;24447:22;24237:238;;;:::o;24481:233::-;24520:3;24543:24;24561:5;24543:24;:::i;:::-;24534:33;;24589:66;24582:5;24579:77;24576:2;;;24659:18;;:::i;:::-;24576:2;24706:1;24699:5;24695:13;24688:20;;24524:190;;;:::o;24720:180::-;24768:77;24765:1;24758:88;24865:4;24862:1;24855:15;24889:4;24886:1;24879:15;24906:180;24954:77;24951:1;24944:88;25051:4;25048:1;25041:15;25075:4;25072:1;25065:15;25092:180;25140:77;25137:1;25130:88;25237:4;25234:1;25227:15;25261:4;25258:1;25251:15;25278:180;25326:77;25323:1;25316:88;25423:4;25420:1;25413:15;25447:4;25444:1;25437:15;25464:117;25573:1;25570;25563:12;25587:117;25696:1;25693;25686:12;25710:117;25819:1;25816;25809:12;25833:117;25942:1;25939;25932:12;25956:102;25997:6;26048:2;26044:7;26039:2;26032:5;26028:14;26024:28;26014:38;;26004:54;;;:::o;26064:222::-;26204:34;26200:1;26192:6;26188:14;26181:58;26273:5;26268:2;26260:6;26256:15;26249:30;26170:116;:::o;26292:176::-;26432:28;26428:1;26420:6;26416:14;26409:52;26398:70;:::o;26474:176::-;26614:28;26610:1;26602:6;26598:14;26591:52;26580:70;:::o;26656:229::-;26796:34;26792:1;26784:6;26780:14;26773:58;26865:12;26860:2;26852:6;26848:15;26841:37;26762:123;:::o;26891:221::-;27031:34;27027:1;27019:6;27015:14;27008:58;27100:4;27095:2;27087:6;27083:15;27076:29;26997:115;:::o;27118:177::-;27258:29;27254:1;27246:6;27242:14;27235:53;27224:71;:::o;27301:179::-;27441:31;27437:1;27429:6;27425:14;27418:55;27407:73;:::o;27486:176::-;27626:28;27622:1;27614:6;27610:14;27603:52;27592:70;:::o;27668:220::-;27808:34;27804:1;27796:6;27792:14;27785:58;27877:3;27872:2;27864:6;27860:15;27853:28;27774:114;:::o;27894:182::-;28034:34;28030:1;28022:6;28018:14;28011:58;28000:76;:::o;28082:228::-;28222:34;28218:1;28210:6;28206:14;28199:58;28291:11;28286:2;28278:6;28274:15;28267:36;28188:122;:::o;28316:176::-;28456:28;28452:1;28444:6;28440:14;28433:52;28422:70;:::o;28498:224::-;28638:34;28634:1;28626:6;28622:14;28615:58;28707:7;28702:2;28694:6;28690:15;28683:32;28604:118;:::o;28728:223::-;28868:34;28864:1;28856:6;28852:14;28845:58;28937:6;28932:2;28924:6;28920:15;28913:31;28834:117;:::o;28957:122::-;29030:24;29048:5;29030:24;:::i;:::-;29023:5;29020:35;29010:2;;29069:1;29066;29059:12;29010:2;29000:79;:::o;29085:122::-;29158:24;29176:5;29158:24;:::i;:::-;29151:5;29148:35;29138:2;;29197:1;29194;29187:12;29138:2;29128:79;:::o

Swarm Source

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