ETH Price: $2,679.57 (+0.41%)

Token

Megabot (Megabot)
 

Overview

Max Total Supply

500,000 Megabot

Holders

1,469 (0.00%)

Market

Price

$0.03 @ 0.000013 ETH

Onchain Market Cap

$17,139.29

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 Megabot

Value
$0.00
0xea79afbfdece4064baec7ce6bb4d6d8b82725ca5
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Megabot is AI trading bot project with hyper deflationary ecosystem.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Megabot

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-10-22
*/

// SPDX-License-Identifier: No
pragma solidity = 0.8.19;

abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

interface IFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address lpPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpPair);
    function createPair(address tokenA, address tokenB) external returns (address lpPair);
}

interface IRouter01 {
    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);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

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

contract Megabot is Context, Ownable, IERC20 {

    function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _noFee;
    mapping (address => bool) private isLpPair;
    mapping (address => uint256) private balance;

    uint256 constant public _totalSupply = 500_000 * 10**18;
    uint256 public swapThreshold = 1_000;
    uint256 constant public sellfee = 7;
    uint256 constant public fee_denominator = 100;
    
    uint256 constant private burnFee = 1;
    uint256 constant private burnDenominator = 100;
    address payable private marketingAddress = payable(0x14f05052F87E634f162F3D7620D9447049EeA582); //need to change

    IRouter02 public swapRouter;
    string constant private _name = "Megabot";
    string constant private _symbol = "Megabot";
    uint8 constant private _decimals = 18;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    address public lpPair;
    bool private inSwap;

        modifier inSwapFlag {
        inSwap = true;
        _;
        inSwap = false;
    }

    event updateThresold(uint256 amount);

    constructor () {
        _noFee[msg.sender] = true;
        _noFee[address(this)] = true;

        swapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        lpPair = IFactoryV2(swapRouter.factory()).createPair(swapRouter.WETH(), address(this));
        isLpPair[lpPair] = true;
        _approve(msg.sender, address(swapRouter), type(uint256).max);
        _approve(address(this), address(swapRouter), type(uint256).max);
    }

    receive() external payable {}

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

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");
        _allowances[sender][spender] = amount;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function isNoFeeWallet(address account) external view returns(bool) {
        return _noFee[account];
    }

    function is_sell(address ins, address out) internal view returns (bool) { 
        bool _is_sell = isLpPair[out] && !isLpPair[ins];
        return _is_sell;
    }

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

        if(is_sell(from, to) &&  !inSwap) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance >= swapThreshold) { 
                internalSwap(contractTokenBalance);
             }
        }

        if (_noFee[from] || _noFee[to]){
            takeFee = false;
        }
        balance[from] -= amount;
        uint256 amountAfterFee = (takeFee) ? takeTaxes(from, is_sell(from, to), amount) : amount;
        balance[to] += amountAfterFee; 
        emit Transfer(from, to, amountAfterFee);

        return true;
    }

    function takeTaxes(address from, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee = 0;
        if (issell)  fee = sellfee;
        if (fee == 0)  return amount; 

        uint256 feeAmount = amount * fee / fee_denominator;
        if (feeAmount > 0) {
            uint256 burnAmount = amount * burnFee / burnDenominator;
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);

            if(burnAmount > 0) {
                balance[address(this)] -= burnAmount;
                balance[address(DEAD)] += burnAmount;
                emit Transfer(address(this), DEAD, burnAmount);
            }
        }
        return amount - feeAmount;
    }

    function internalSwap(uint256 contractTokenBalance) internal inSwapFlag {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = swapRouter.WETH();

        if (_allowances[address(this)][address(swapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(swapRouter)] = type(uint256).max;
        }

        try swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractTokenBalance,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }
        bool success;

        if(address(this).balance > 0) (success,) = marketingAddress.call{value: address(this).balance}("");
    }

    function changeThreshold(uint256 amount) external onlyOwner {
        require(amount >= 100,"Amount lower not accepted.");
        swapThreshold = amount;
        emit updateThresold(swapThreshold);
    }
}

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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateThresold","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"changeThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"fee_denominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isNoFeeWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526103e86005557314f05052f87e634f162f3d7620d9447049eea582600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006c57600080fd5b506200008d620000816200056560201b60201c565b6200056d60201b60201c565b6001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506969e10de76676d0800000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6969e10de76676d08000006040516200024a9190620007b6565b60405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e691906200083d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200036f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039591906200083d565b306040518363ffffffff1660e01b8152600401620003b592919062000880565b6020604051808303816000875af1158015620003d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fb91906200083d565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200050a33600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200063160201b60201c565b6200055f30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200063160201b60201c565b62000930565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620006a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200069a906200090e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000715576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200070c906200090e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000819050919050565b620007b0816200079b565b82525050565b6000602082019050620007cd6000830184620007a5565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200080582620007d8565b9050919050565b6200081781620007f8565b81146200082357600080fd5b50565b60008151905062000837816200080c565b92915050565b600060208284031215620008565762000855620007d3565b5b6000620008668482850162000826565b91505092915050565b6200087a81620007f8565b82525050565b60006040820190506200089760008301856200086f565b620008a660208301846200086f565b9392505050565b600082825260208201905092915050565b7f45524332303a205a65726f204164647265737300000000000000000000000000600082015250565b6000620008f6601383620008ad565b91506200090382620008be565b602082019050919050565b600060208201905081810360008301526200092981620008e7565b9050919050565b6123cc80620009406000396000f3fe6080604052600436106101395760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb14610427578063c31c9c0714610464578063dc9d75b01461048f578063dd62ed3e146104ba578063e9451f5f146104f7578063f2fde38b1461052257610140565b806370a0823114610352578063715018a61461038f578063893d20e8146103a65780638da5cb5b146103d157806395d89b41146103fc57610140565b806323b872dd116100fd57806323b872dd1461022e578063278898621461026b578063313ce567146102a85780633eaaf86b146102d3578063452ed4f1146102fe578063694e80c31461032957610140565b806303fd2a45146101455780630445b6671461017057806306fdde031461019b578063095ea7b3146101c657806318160ddd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61054b565b6040516101679190611926565b60405180910390f35b34801561017c57600080fd5b50610185610551565b604051610192919061195a565b60405180910390f35b3480156101a757600080fd5b506101b0610557565b6040516101bd9190611a05565b60405180910390f35b3480156101d257600080fd5b506101ed60048036038101906101e89190611a84565b610594565b6040516101fa9190611adf565b60405180910390f35b34801561020f57600080fd5b506102186105ab565b604051610225919061195a565b60405180910390f35b34801561023a57600080fd5b5061025560048036038101906102509190611afa565b6105d3565b6040516102629190611adf565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190611b4d565b610720565b60405161029f9190611adf565b60405180910390f35b3480156102b457600080fd5b506102bd610776565b6040516102ca9190611b96565b60405180910390f35b3480156102df57600080fd5b506102e8610795565b6040516102f5919061195a565b60405180910390f35b34801561030a57600080fd5b506103136107a3565b6040516103209190611926565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b9190611bb1565b6107c9565b005b34801561035e57600080fd5b5061037960048036038101906103749190611b4d565b6108cc565b604051610386919061195a565b60405180910390f35b34801561039b57600080fd5b506103a4610915565b005b3480156103b257600080fd5b506103bb61099d565b6040516103c89190611926565b60405180910390f35b3480156103dd57600080fd5b506103e66109ac565b6040516103f39190611926565b60405180910390f35b34801561040857600080fd5b506104116109d5565b60405161041e9190611a05565b60405180910390f35b34801561043357600080fd5b5061044e60048036038101906104499190611a84565b610a12565b60405161045b9190611adf565b60405180910390f35b34801561047057600080fd5b50610479610a2a565b6040516104869190611c3d565b60405180910390f35b34801561049b57600080fd5b506104a4610a50565b6040516104b1919061195a565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc9190611c58565b610a55565b6040516104ee919061195a565b60405180910390f35b34801561050357600080fd5b5061050c610adc565b604051610519919061195a565b60405180910390f35b34801561052e57600080fd5b5061054960048036038101906105449190611b4d565b610ae1565b005b61dead81565b60055481565b60606040518060400160405280600781526020017f4d656761626f7400000000000000000000000000000000000000000000000000815250905090565b60006105a1338484610bd8565b6001905092915050565b6000806969e10de76676d0800000036105c357600080fd5b6969e10de76676d0800000905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461070c5781600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107049190611cc7565b925050819055505b610717848484610d3c565b90509392505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806969e10de76676d08000000361078e57600080fd5b6012905090565b6969e10de76676d080000081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107d161109b565b73ffffffffffffffffffffffffffffffffffffffff166107ef6109ac565b73ffffffffffffffffffffffffffffffffffffffff1614610845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083c90611d47565b60405180910390fd5b6064811015610889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088090611db3565b60405180910390fd5b806005819055507f2b7ce9cd4278161eef9245955c9a851618488a07e830194c60a88f0224ad3cc06005546040516108c1919061195a565b60405180910390a150565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61091d61109b565b73ffffffffffffffffffffffffffffffffffffffff1661093b6109ac565b73ffffffffffffffffffffffffffffffffffffffff1614610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098890611d47565b60405180910390fd5b61099b60006110a3565b565b60006109a76109ac565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4d656761626f7400000000000000000000000000000000000000000000000000815250905090565b6000610a1f338484610d3c565b506001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600781565b610ae961109b565b73ffffffffffffffffffffffffffffffffffffffff16610b076109ac565b73ffffffffffffffffffffffffffffffffffffffff1614610b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5490611d47565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc390611e45565b60405180910390fd5b610bd5816110a3565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3e90611eb1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cad90611eb1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60008060019050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da990611f43565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1890611fd5565b60405180910390fd5b60008311610e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5b90612067565b60405180910390fd5b610e6e8585611167565b8015610e875750600860149054906101000a900460ff16155b15610eae576000610e97306108cc565b90506005548110610eac57610eab81611219565b5b505b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f4f5750600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f5957600090505b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fa89190611cc7565b92505081905550600081610fbc5783610fd1565b610fd086610fca8888611167565b8661168c565b5b905080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110229190612087565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611086919061195a565b60405180910390a36001925050509392505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561120d5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90508091505092915050565b6001600860146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611251576112506120bb565b5b60405190808252806020026020018201604052801561127f5781602001602082028036833780820191505090505b5090503081600081518110611297576112966120ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611362919061212e565b81600181518110611376576113756120ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611539577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161159d959493929190612254565b600060405180830381600087803b1580156115b757600080fd5b505af19250505080156115c8575060015b6115d2575061166e565b60008047111561166b57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611622906122df565b60006040518083038185875af1925050503d806000811461165f576040519150601f19603f3d011682016040523d82523d6000602084013e611664565b606091505b5050809150505b50505b6000600860146101000a81548160ff02191690831515021790555050565b60008060009050831561169e57600790505b600081036116af57829150506118de565b6000606482856116bf91906122f4565b6116c99190612365565b905060008111156118cd57600060646001866116e591906122f4565b6116ef9190612365565b905081600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117409190612087565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117a4919061195a565b60405180910390a360008111156118cb5780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118049190611cc7565b92505081905550806004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461185c9190612087565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118c2919061195a565b60405180910390a35b505b80846118d99190611cc7565b925050505b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611910826118e5565b9050919050565b61192081611905565b82525050565b600060208201905061193b6000830184611917565b92915050565b6000819050919050565b61195481611941565b82525050565b600060208201905061196f600083018461194b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119af578082015181840152602081019050611994565b60008484015250505050565b6000601f19601f8301169050919050565b60006119d782611975565b6119e18185611980565b93506119f1818560208601611991565b6119fa816119bb565b840191505092915050565b60006020820190508181036000830152611a1f81846119cc565b905092915050565b600080fd5b611a3581611905565b8114611a4057600080fd5b50565b600081359050611a5281611a2c565b92915050565b611a6181611941565b8114611a6c57600080fd5b50565b600081359050611a7e81611a58565b92915050565b60008060408385031215611a9b57611a9a611a27565b5b6000611aa985828601611a43565b9250506020611aba85828601611a6f565b9150509250929050565b60008115159050919050565b611ad981611ac4565b82525050565b6000602082019050611af46000830184611ad0565b92915050565b600080600060608486031215611b1357611b12611a27565b5b6000611b2186828701611a43565b9350506020611b3286828701611a43565b9250506040611b4386828701611a6f565b9150509250925092565b600060208284031215611b6357611b62611a27565b5b6000611b7184828501611a43565b91505092915050565b600060ff82169050919050565b611b9081611b7a565b82525050565b6000602082019050611bab6000830184611b87565b92915050565b600060208284031215611bc757611bc6611a27565b5b6000611bd584828501611a6f565b91505092915050565b6000819050919050565b6000611c03611bfe611bf9846118e5565b611bde565b6118e5565b9050919050565b6000611c1582611be8565b9050919050565b6000611c2782611c0a565b9050919050565b611c3781611c1c565b82525050565b6000602082019050611c526000830184611c2e565b92915050565b60008060408385031215611c6f57611c6e611a27565b5b6000611c7d85828601611a43565b9250506020611c8e85828601611a43565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cd282611941565b9150611cdd83611941565b9250828203905081811115611cf557611cf4611c98565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d31602083611980565b9150611d3c82611cfb565b602082019050919050565b60006020820190508181036000830152611d6081611d24565b9050919050565b7f416d6f756e74206c6f776572206e6f742061636365707465642e000000000000600082015250565b6000611d9d601a83611980565b9150611da882611d67565b602082019050919050565b60006020820190508181036000830152611dcc81611d90565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611e2f602683611980565b9150611e3a82611dd3565b604082019050919050565b60006020820190508181036000830152611e5e81611e22565b9050919050565b7f45524332303a205a65726f204164647265737300000000000000000000000000600082015250565b6000611e9b601383611980565b9150611ea682611e65565b602082019050919050565b60006020820190508181036000830152611eca81611e8e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611f2d602383611980565b9150611f3882611ed1565b604082019050919050565b60006020820190508181036000830152611f5c81611f20565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611fbf602583611980565b9150611fca82611f63565b604082019050919050565b60006020820190508181036000830152611fee81611fb2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612051602983611980565b915061205c82611ff5565b604082019050919050565b6000602082019050818103600083015261208081612044565b9050919050565b600061209282611941565b915061209d83611941565b92508282019050808211156120b5576120b4611c98565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061212881611a2c565b92915050565b60006020828403121561214457612143611a27565b5b600061215284828501612119565b91505092915050565b6000819050919050565b600061218061217b6121768461215b565b611bde565b611941565b9050919050565b61219081612165565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121cb81611905565b82525050565b60006121dd83836121c2565b60208301905092915050565b6000602082019050919050565b600061220182612196565b61220b81856121a1565b9350612216836121b2565b8060005b8381101561224757815161222e88826121d1565b9750612239836121e9565b92505060018101905061221a565b5085935050505092915050565b600060a082019050612269600083018861194b565b6122766020830187612187565b818103604083015261228881866121f6565b90506122976060830185611917565b6122a4608083018461194b565b9695505050505050565b600081905092915050565b50565b60006122c96000836122ae565b91506122d4826122b9565b600082019050919050565b60006122ea826122bc565b9150819050919050565b60006122ff82611941565b915061230a83611941565b925082820261231881611941565b9150828204841483151761232f5761232e611c98565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061237082611941565b915061237b83611941565b92508261238b5761238a612336565b5b82820490509291505056fea26469706673582212204a9634e7acd59ebbad70345a2c18b9fa36a6e981ea22c93797bc9352cb81699e64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb14610427578063c31c9c0714610464578063dc9d75b01461048f578063dd62ed3e146104ba578063e9451f5f146104f7578063f2fde38b1461052257610140565b806370a0823114610352578063715018a61461038f578063893d20e8146103a65780638da5cb5b146103d157806395d89b41146103fc57610140565b806323b872dd116100fd57806323b872dd1461022e578063278898621461026b578063313ce567146102a85780633eaaf86b146102d3578063452ed4f1146102fe578063694e80c31461032957610140565b806303fd2a45146101455780630445b6671461017057806306fdde031461019b578063095ea7b3146101c657806318160ddd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61054b565b6040516101679190611926565b60405180910390f35b34801561017c57600080fd5b50610185610551565b604051610192919061195a565b60405180910390f35b3480156101a757600080fd5b506101b0610557565b6040516101bd9190611a05565b60405180910390f35b3480156101d257600080fd5b506101ed60048036038101906101e89190611a84565b610594565b6040516101fa9190611adf565b60405180910390f35b34801561020f57600080fd5b506102186105ab565b604051610225919061195a565b60405180910390f35b34801561023a57600080fd5b5061025560048036038101906102509190611afa565b6105d3565b6040516102629190611adf565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190611b4d565b610720565b60405161029f9190611adf565b60405180910390f35b3480156102b457600080fd5b506102bd610776565b6040516102ca9190611b96565b60405180910390f35b3480156102df57600080fd5b506102e8610795565b6040516102f5919061195a565b60405180910390f35b34801561030a57600080fd5b506103136107a3565b6040516103209190611926565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b9190611bb1565b6107c9565b005b34801561035e57600080fd5b5061037960048036038101906103749190611b4d565b6108cc565b604051610386919061195a565b60405180910390f35b34801561039b57600080fd5b506103a4610915565b005b3480156103b257600080fd5b506103bb61099d565b6040516103c89190611926565b60405180910390f35b3480156103dd57600080fd5b506103e66109ac565b6040516103f39190611926565b60405180910390f35b34801561040857600080fd5b506104116109d5565b60405161041e9190611a05565b60405180910390f35b34801561043357600080fd5b5061044e60048036038101906104499190611a84565b610a12565b60405161045b9190611adf565b60405180910390f35b34801561047057600080fd5b50610479610a2a565b6040516104869190611c3d565b60405180910390f35b34801561049b57600080fd5b506104a4610a50565b6040516104b1919061195a565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc9190611c58565b610a55565b6040516104ee919061195a565b60405180910390f35b34801561050357600080fd5b5061050c610adc565b604051610519919061195a565b60405180910390f35b34801561052e57600080fd5b5061054960048036038101906105449190611b4d565b610ae1565b005b61dead81565b60055481565b60606040518060400160405280600781526020017f4d656761626f7400000000000000000000000000000000000000000000000000815250905090565b60006105a1338484610bd8565b6001905092915050565b6000806969e10de76676d0800000036105c357600080fd5b6969e10de76676d0800000905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461070c5781600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107049190611cc7565b925050819055505b610717848484610d3c565b90509392505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806969e10de76676d08000000361078e57600080fd5b6012905090565b6969e10de76676d080000081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107d161109b565b73ffffffffffffffffffffffffffffffffffffffff166107ef6109ac565b73ffffffffffffffffffffffffffffffffffffffff1614610845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083c90611d47565b60405180910390fd5b6064811015610889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088090611db3565b60405180910390fd5b806005819055507f2b7ce9cd4278161eef9245955c9a851618488a07e830194c60a88f0224ad3cc06005546040516108c1919061195a565b60405180910390a150565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61091d61109b565b73ffffffffffffffffffffffffffffffffffffffff1661093b6109ac565b73ffffffffffffffffffffffffffffffffffffffff1614610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098890611d47565b60405180910390fd5b61099b60006110a3565b565b60006109a76109ac565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4d656761626f7400000000000000000000000000000000000000000000000000815250905090565b6000610a1f338484610d3c565b506001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600781565b610ae961109b565b73ffffffffffffffffffffffffffffffffffffffff16610b076109ac565b73ffffffffffffffffffffffffffffffffffffffff1614610b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5490611d47565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc390611e45565b60405180910390fd5b610bd5816110a3565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3e90611eb1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cad90611eb1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60008060019050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da990611f43565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1890611fd5565b60405180910390fd5b60008311610e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5b90612067565b60405180910390fd5b610e6e8585611167565b8015610e875750600860149054906101000a900460ff16155b15610eae576000610e97306108cc565b90506005548110610eac57610eab81611219565b5b505b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f4f5750600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f5957600090505b82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fa89190611cc7565b92505081905550600081610fbc5783610fd1565b610fd086610fca8888611167565b8661168c565b5b905080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110229190612087565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611086919061195a565b60405180910390a36001925050509392505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561120d5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90508091505092915050565b6001600860146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611251576112506120bb565b5b60405190808252806020026020018201604052801561127f5781602001602082028036833780820191505090505b5090503081600081518110611297576112966120ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611362919061212e565b81600181518110611376576113756120ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611539577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161159d959493929190612254565b600060405180830381600087803b1580156115b757600080fd5b505af19250505080156115c8575060015b6115d2575061166e565b60008047111561166b57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611622906122df565b60006040518083038185875af1925050503d806000811461165f576040519150601f19603f3d011682016040523d82523d6000602084013e611664565b606091505b5050809150505b50505b6000600860146101000a81548160ff02191690831515021790555050565b60008060009050831561169e57600790505b600081036116af57829150506118de565b6000606482856116bf91906122f4565b6116c99190612365565b905060008111156118cd57600060646001866116e591906122f4565b6116ef9190612365565b905081600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117409190612087565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117a4919061195a565b60405180910390a360008111156118cb5780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118049190611cc7565b92505081905550806004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461185c9190612087565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118c2919061195a565b60405180910390a35b505b80846118d99190611cc7565b925050505b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611910826118e5565b9050919050565b61192081611905565b82525050565b600060208201905061193b6000830184611917565b92915050565b6000819050919050565b61195481611941565b82525050565b600060208201905061196f600083018461194b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119af578082015181840152602081019050611994565b60008484015250505050565b6000601f19601f8301169050919050565b60006119d782611975565b6119e18185611980565b93506119f1818560208601611991565b6119fa816119bb565b840191505092915050565b60006020820190508181036000830152611a1f81846119cc565b905092915050565b600080fd5b611a3581611905565b8114611a4057600080fd5b50565b600081359050611a5281611a2c565b92915050565b611a6181611941565b8114611a6c57600080fd5b50565b600081359050611a7e81611a58565b92915050565b60008060408385031215611a9b57611a9a611a27565b5b6000611aa985828601611a43565b9250506020611aba85828601611a6f565b9150509250929050565b60008115159050919050565b611ad981611ac4565b82525050565b6000602082019050611af46000830184611ad0565b92915050565b600080600060608486031215611b1357611b12611a27565b5b6000611b2186828701611a43565b9350506020611b3286828701611a43565b9250506040611b4386828701611a6f565b9150509250925092565b600060208284031215611b6357611b62611a27565b5b6000611b7184828501611a43565b91505092915050565b600060ff82169050919050565b611b9081611b7a565b82525050565b6000602082019050611bab6000830184611b87565b92915050565b600060208284031215611bc757611bc6611a27565b5b6000611bd584828501611a6f565b91505092915050565b6000819050919050565b6000611c03611bfe611bf9846118e5565b611bde565b6118e5565b9050919050565b6000611c1582611be8565b9050919050565b6000611c2782611c0a565b9050919050565b611c3781611c1c565b82525050565b6000602082019050611c526000830184611c2e565b92915050565b60008060408385031215611c6f57611c6e611a27565b5b6000611c7d85828601611a43565b9250506020611c8e85828601611a43565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cd282611941565b9150611cdd83611941565b9250828203905081811115611cf557611cf4611c98565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d31602083611980565b9150611d3c82611cfb565b602082019050919050565b60006020820190508181036000830152611d6081611d24565b9050919050565b7f416d6f756e74206c6f776572206e6f742061636365707465642e000000000000600082015250565b6000611d9d601a83611980565b9150611da882611d67565b602082019050919050565b60006020820190508181036000830152611dcc81611d90565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611e2f602683611980565b9150611e3a82611dd3565b604082019050919050565b60006020820190508181036000830152611e5e81611e22565b9050919050565b7f45524332303a205a65726f204164647265737300000000000000000000000000600082015250565b6000611e9b601383611980565b9150611ea682611e65565b602082019050919050565b60006020820190508181036000830152611eca81611e8e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611f2d602383611980565b9150611f3882611ed1565b604082019050919050565b60006020820190508181036000830152611f5c81611f20565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611fbf602583611980565b9150611fca82611f63565b604082019050919050565b60006020820190508181036000830152611fee81611fb2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612051602983611980565b915061205c82611ff5565b604082019050919050565b6000602082019050818103600083015261208081612044565b9050919050565b600061209282611941565b915061209d83611941565b92508282019050808211156120b5576120b4611c98565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061212881611a2c565b92915050565b60006020828403121561214457612143611a27565b5b600061215284828501612119565b91505092915050565b6000819050919050565b600061218061217b6121768461215b565b611bde565b611941565b9050919050565b61219081612165565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121cb81611905565b82525050565b60006121dd83836121c2565b60208301905092915050565b6000602082019050919050565b600061220182612196565b61220b81856121a1565b9350612216836121b2565b8060005b8381101561224757815161222e88826121d1565b9750612239836121e9565b92505060018101905061221a565b5085935050505092915050565b600060a082019050612269600083018861194b565b6122766020830187612187565b818103604083015261228881866121f6565b90506122976060830185611917565b6122a4608083018461194b565b9695505050505050565b600081905092915050565b50565b60006122c96000836122ae565b91506122d4826122b9565b600082019050919050565b60006122ea826122bc565b9150819050919050565b60006122ff82611941565b915061230a83611941565b925082820261231881611941565b9150828204841483151761232f5761232e611c98565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061237082611941565b915061237b83611941565b92508261238b5761238a612336565b5b82820490509291505056fea26469706673582212204a9634e7acd59ebbad70345a2c18b9fa36a6e981ea22c93797bc9352cb81699e64736f6c63430008130033

Deployed Bytecode Sourcemap

4538:6466:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6194:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5659:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4936:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7256:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4592:125;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7692:306;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8006:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4723:117;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5597:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6274:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10793:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5247:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;806:94;;;;;;;;;;;;;:::i;:::-;;5022:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;583:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4846:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7083:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6018:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5744:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5108:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5702:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;908:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6194:73;6225:42;6194:73;:::o;5659:36::-;;;;:::o;4936:80::-;4984:13;5008:5;;;;;;;;;;;;;;;;;5001:12;;4936:80;:::o;7256:161::-;7333:4;7350:37;7359:10;7371:7;7380:6;7350:8;:37::i;:::-;7405:4;7398:11;;7256:161;;;;:::o;4592:125::-;4647:7;4678:1;5636:16;4662:17;4658:36;;4683:8;;;4658:36;5636:16;4695:19;;4592:125;:::o;7692:306::-;7792:4;7848:17;7813:11;:19;7825:6;7813:19;;;;;;;;;;;;;;;:31;7833:10;7813:31;;;;;;;;;;;;;;;;:52;7809:126;;7917:6;7882:11;:19;7894:6;7882:19;;;;;;;;;;;;;;;:31;7902:10;7882:31;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;7809:126;7954:36;7964:6;7972:9;7983:6;7954:9;:36::i;:::-;7947:43;;7692:306;;;;;:::o;8006:109::-;8068:4;8092:6;:15;8099:7;8092:15;;;;;;;;;;;;;;;;;;;;;;;;;8085:22;;8006:109;;;:::o;4723:117::-;4775:5;4804:1;5636:16;4788:17;4784:36;;4809:8;;;4784:36;6185:2;4821:16;;4723:117;:::o;5597:55::-;5636:16;5597:55;:::o;6274:21::-;;;;;;;;;;;;;:::o;10793:208::-;729:12;:10;:12::i;:::-;718:23;;:7;:5;:7::i;:::-;:23;;;710:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10882:3:::1;10872:6;:13;;10864:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;10942:6;10926:13;:22;;;;10964:29;10979:13;;10964:29;;;;;;:::i;:::-;;;;;;;;10793:208:::0;:::o;5247:117::-;5313:7;5340;:16;5348:7;5340:16;;;;;;;;;;;;;;;;5333:23;;5247:117;;;:::o;806:94::-;729:12;:10;:12::i;:::-;718:23;;:7;:5;:7::i;:::-;:23;;;710:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;871:21:::1;889:1;871:9;:21::i;:::-;806:94::o:0;5022:80::-;5074:7;5092;:5;:7::i;:::-;5085:14;;5022:80;:::o;583:87::-;629:7;656:6;;;;;;;;;;;649:13;;583:87;:::o;4846:84::-;4896:13;4920:7;;;;;;;;;;;;;;;;;4913:14;;4846:84;:::o;7083:165::-;7161:4;7178:40;7188:10;7200:9;7211:6;7178:9;:40::i;:::-;;7236:4;7229:11;;7083:165;;;;:::o;6018:27::-;;;;;;;;;;;;;:::o;5744:45::-;5786:3;5744:45;:::o;5108:133::-;5192:7;5210:11;:19;5222:6;5210:19;;;;;;;;;;;;;;;:28;5230:7;5210:28;;;;;;;;;;;;;;;;5203:35;;5108:133;;;;:::o;5702:35::-;5736:1;5702:35;:::o;908:192::-;729:12;:10;:12::i;:::-;718:23;;:7;:5;:7::i;:::-;:23;;;710:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1017:1:::1;997:22;;:8;:22;;::::0;989:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1073:19;1083:8;1073:9;:19::i;:::-;908:192:::0;:::o;7425:259::-;7538:1;7520:20;;:6;:20;;;7512:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;7602:1;7583:21;;:7;:21;;;7575:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;7670:6;7639:11;:19;7651:6;7639:19;;;;;;;;;;;;;;;:28;7659:7;7639:28;;;;;;;;;;;;;;;:37;;;;7425:259;;;:::o;8296:941::-;8376:4;8393:12;8408:4;8393:19;;8445:1;8431:16;;:2;:16;;;8423:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8522:1;8506:18;;:4;:18;;;8498:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8594:1;8585:6;:10;8577:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8657:17;8665:4;8671:2;8657:7;:17::i;:::-;:29;;;;;8680:6;;;;;;;;;;;8679:7;8657:29;8654:243;;;8703:28;8734:24;8752:4;8734:9;:24::i;:::-;8703:55;;8800:13;;8776:20;:37;8773:113;;8835:34;8848:20;8835:12;:34::i;:::-;8773:113;8688:209;8654:243;8913:6;:12;8920:4;8913:12;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;;8929:6;:10;8936:2;8929:10;;;;;;;;;;;;;;;;;;;;;;;;;8913:26;8909:73;;;8965:5;8955:15;;8909:73;9009:6;8992:7;:13;9000:4;8992:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;9026:22;9052:7;9051:63;;9108:6;9051:63;;;9063:42;9073:4;9079:17;9087:4;9093:2;9079:7;:17::i;:::-;9098:6;9063:9;:42::i;:::-;9051:63;9026:88;;9140:14;9125:7;:11;9133:2;9125:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;9186:2;9171:34;;9180:4;9171:34;;;9190:14;9171:34;;;;;;:::i;:::-;;;;;;;;9225:4;9218:11;;;;8296:941;;;;;:::o;124:107::-;169:15;212:10;197:26;;124:107;:::o;1108:173::-;1164:16;1183:6;;;;;;;;;;;1164:25;;1209:8;1200:6;;:17;;;;;;;;;;;;;;;;;;1264:8;1233:40;;1254:8;1233:40;;;;;;;;;;;;1153:128;1108:173;:::o;8123:165::-;8189:4;8207:13;8223:8;:13;8232:3;8223:13;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;;;8241:8;:13;8250:3;8241:13;;;;;;;;;;;;;;;;;;;;;;;;;8240:14;8223:31;8207:47;;8272:8;8265:15;;;8123:165;;;;:::o;9999:786::-;6374:4;6365:6;;:13;;;;;;;;;;;;;;;;;;10092:21:::1;10130:1;10116:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10092:40;;10161:4;10143;10148:1;10143:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10187:10;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10177:4;10182:1;10177:7;;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;::::0;::::1;10272:17;10221:11;:26;10241:4;10221:26;;;;;;;;;;;;;;;:47;10256:10;;;;;;;;;;;10221:47;;;;;;;;;;;;;;;;:68;10217:168;;10356:17;10306:11;:26;10326:4;10306:26;;;;;;;;;;;;;;;:47;10341:10;;;;;;;;;;;10306:47;;;;;;;;;;;;;;;:67;;;;10217:168;10401:10;;;;;;;;;;;:61;;;10477:20;10512:1;10528:4;10555;10575:15;10401:200;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;10397:247;;10626:7;;;10397:247;10654:12;10706:1:::0;10682:21:::1;:25;10679:98;;;10722:16;;;;;;;;;;;:21;;10751;10722:55;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10709:68;;;;;10679:98;10071:714;;6389:1;6410:5:::0;6401:6;;:14;;;;;;;;;;;;;;;;;;9999:786;:::o;9245:746::-;9325:7;9345:11;9359:1;9345:15;;9375:6;9371:26;;;5736:1;9384:13;;9371:26;9419:1;9412:3;:8;9408:28;;9430:6;9423:13;;;;;9408:28;9450:17;5786:3;9479;9470:6;:12;;;;:::i;:::-;:30;;;;:::i;:::-;9450:50;;9527:1;9515:9;:13;9511:437;;;9545:18;5888:3;5837:1;9566:6;:16;;;;:::i;:::-;:34;;;;:::i;:::-;9545:55;;9641:9;9615:7;:22;9631:4;9615:22;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;9693:4;9670:40;;9679:4;9670:40;;;9700:9;9670:40;;;;;;:::i;:::-;;;;;;;;9743:1;9730:10;:14;9727:210;;;9791:10;9765:7;:22;9781:4;9765:22;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;9846:10;9820:7;:22;6225:42;9820:22;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;6225:42;9880:41;;9897:4;9880:41;;;9910:10;9880:41;;;;;;:::i;:::-;;;;;;;;9727:210;9530:418;9511:437;9974:9;9965:6;:18;;;;:::i;:::-;9958:25;;;;9245:746;;;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:77::-;630:7;659:5;648:16;;593:77;;;:::o;676:118::-;763:24;781:5;763:24;:::i;:::-;758:3;751:37;676:118;;:::o;800:222::-;893:4;931:2;920:9;916:18;908:26;;944:71;1012:1;1001:9;997:17;988:6;944:71;:::i;:::-;800:222;;;;:::o;1028:99::-;1080:6;1114:5;1108:12;1098:22;;1028:99;;;:::o;1133:169::-;1217:11;1251:6;1246:3;1239:19;1291:4;1286:3;1282:14;1267:29;;1133:169;;;;:::o;1308:246::-;1389:1;1399:113;1413:6;1410:1;1407:13;1399:113;;;1498:1;1493:3;1489:11;1483:18;1479:1;1474:3;1470:11;1463:39;1435:2;1432:1;1428:10;1423:15;;1399:113;;;1546:1;1537:6;1532:3;1528:16;1521:27;1370:184;1308:246;;;:::o;1560:102::-;1601:6;1652:2;1648:7;1643:2;1636:5;1632:14;1628:28;1618:38;;1560:102;;;:::o;1668:377::-;1756:3;1784:39;1817:5;1784:39;:::i;:::-;1839:71;1903:6;1898:3;1839:71;:::i;:::-;1832:78;;1919:65;1977:6;1972:3;1965:4;1958:5;1954:16;1919:65;:::i;:::-;2009:29;2031:6;2009:29;:::i;:::-;2004:3;2000:39;1993:46;;1760:285;1668:377;;;;:::o;2051:313::-;2164:4;2202:2;2191:9;2187:18;2179:26;;2251:9;2245:4;2241:20;2237:1;2226:9;2222:17;2215:47;2279:78;2352:4;2343:6;2279:78;:::i;:::-;2271:86;;2051:313;;;;:::o;2451:117::-;2560:1;2557;2550:12;2697:122;2770:24;2788:5;2770:24;:::i;:::-;2763:5;2760:35;2750:63;;2809:1;2806;2799:12;2750:63;2697:122;:::o;2825:139::-;2871:5;2909:6;2896:20;2887:29;;2925:33;2952:5;2925:33;:::i;:::-;2825:139;;;;:::o;2970:122::-;3043:24;3061:5;3043:24;:::i;:::-;3036:5;3033:35;3023:63;;3082:1;3079;3072:12;3023:63;2970:122;:::o;3098:139::-;3144:5;3182:6;3169:20;3160:29;;3198:33;3225:5;3198:33;:::i;:::-;3098:139;;;;:::o;3243:474::-;3311:6;3319;3368:2;3356:9;3347:7;3343:23;3339:32;3336:119;;;3374:79;;:::i;:::-;3336:119;3494:1;3519:53;3564:7;3555:6;3544:9;3540:22;3519:53;:::i;:::-;3509:63;;3465:117;3621:2;3647:53;3692:7;3683:6;3672:9;3668:22;3647:53;:::i;:::-;3637:63;;3592:118;3243:474;;;;;:::o;3723:90::-;3757:7;3800:5;3793:13;3786:21;3775:32;;3723:90;;;:::o;3819:109::-;3900:21;3915:5;3900:21;:::i;:::-;3895:3;3888:34;3819:109;;:::o;3934:210::-;4021:4;4059:2;4048:9;4044:18;4036:26;;4072:65;4134:1;4123:9;4119:17;4110:6;4072:65;:::i;:::-;3934:210;;;;:::o;4150:619::-;4227:6;4235;4243;4292:2;4280:9;4271:7;4267:23;4263:32;4260:119;;;4298:79;;:::i;:::-;4260:119;4418:1;4443:53;4488:7;4479:6;4468:9;4464:22;4443:53;:::i;:::-;4433:63;;4389:117;4545:2;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4516:118;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4150:619;;;;;:::o;4775:329::-;4834:6;4883:2;4871:9;4862:7;4858:23;4854:32;4851:119;;;4889:79;;:::i;:::-;4851:119;5009:1;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4980:117;4775:329;;;;:::o;5110:86::-;5145:7;5185:4;5178:5;5174:16;5163:27;;5110:86;;;:::o;5202:112::-;5285:22;5301:5;5285:22;:::i;:::-;5280:3;5273:35;5202:112;;:::o;5320:214::-;5409:4;5447:2;5436:9;5432:18;5424:26;;5460:67;5524:1;5513:9;5509:17;5500:6;5460:67;:::i;:::-;5320:214;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:60::-;5903:3;5924:5;5917:12;;5875:60;;;:::o;5941:142::-;5991:9;6024:53;6042:34;6051:24;6069:5;6051:24;:::i;:::-;6042:34;:::i;:::-;6024:53;:::i;:::-;6011:66;;5941:142;;;:::o;6089:126::-;6139:9;6172:37;6203:5;6172:37;:::i;:::-;6159:50;;6089:126;;;:::o;6221:143::-;6288:9;6321:37;6352:5;6321:37;:::i;:::-;6308:50;;6221:143;;;:::o;6370:165::-;6474:54;6522:5;6474:54;:::i;:::-;6469:3;6462:67;6370:165;;:::o;6541:256::-;6651:4;6689:2;6678:9;6674:18;6666:26;;6702:88;6787:1;6776:9;6772:17;6763:6;6702:88;:::i;:::-;6541:256;;;;:::o;6803:474::-;6871:6;6879;6928:2;6916:9;6907:7;6903:23;6899:32;6896:119;;;6934:79;;:::i;:::-;6896:119;7054:1;7079:53;7124:7;7115:6;7104:9;7100:22;7079:53;:::i;:::-;7069:63;;7025:117;7181:2;7207:53;7252:7;7243:6;7232:9;7228:22;7207:53;:::i;:::-;7197:63;;7152:118;6803:474;;;;;:::o;7283:180::-;7331:77;7328:1;7321:88;7428:4;7425:1;7418:15;7452:4;7449:1;7442:15;7469:194;7509:4;7529:20;7547:1;7529:20;:::i;:::-;7524:25;;7563:20;7581:1;7563:20;:::i;:::-;7558:25;;7607:1;7604;7600:9;7592:17;;7631:1;7625:4;7622:11;7619:37;;;7636:18;;:::i;:::-;7619:37;7469:194;;;;:::o;7669:182::-;7809:34;7805:1;7797:6;7793:14;7786:58;7669:182;:::o;7857:366::-;7999:3;8020:67;8084:2;8079:3;8020:67;:::i;:::-;8013:74;;8096:93;8185:3;8096:93;:::i;:::-;8214:2;8209:3;8205:12;8198:19;;7857:366;;;:::o;8229:419::-;8395:4;8433:2;8422:9;8418:18;8410:26;;8482:9;8476:4;8472:20;8468:1;8457:9;8453:17;8446:47;8510:131;8636:4;8510:131;:::i;:::-;8502:139;;8229:419;;;:::o;8654:176::-;8794:28;8790:1;8782:6;8778:14;8771:52;8654:176;:::o;8836:366::-;8978:3;8999:67;9063:2;9058:3;8999:67;:::i;:::-;8992:74;;9075:93;9164:3;9075:93;:::i;:::-;9193:2;9188:3;9184:12;9177:19;;8836:366;;;:::o;9208:419::-;9374:4;9412:2;9401:9;9397:18;9389:26;;9461:9;9455:4;9451:20;9447:1;9436:9;9432:17;9425:47;9489:131;9615:4;9489:131;:::i;:::-;9481:139;;9208:419;;;:::o;9633:225::-;9773:34;9769:1;9761:6;9757:14;9750:58;9842:8;9837:2;9829:6;9825:15;9818:33;9633:225;:::o;9864:366::-;10006:3;10027:67;10091:2;10086:3;10027:67;:::i;:::-;10020:74;;10103:93;10192:3;10103:93;:::i;:::-;10221:2;10216:3;10212:12;10205:19;;9864:366;;;:::o;10236:419::-;10402:4;10440:2;10429:9;10425:18;10417:26;;10489:9;10483:4;10479:20;10475:1;10464:9;10460:17;10453:47;10517:131;10643:4;10517:131;:::i;:::-;10509:139;;10236:419;;;:::o;10661:169::-;10801:21;10797:1;10789:6;10785:14;10778:45;10661:169;:::o;10836:366::-;10978:3;10999:67;11063:2;11058:3;10999:67;:::i;:::-;10992:74;;11075:93;11164:3;11075:93;:::i;:::-;11193:2;11188:3;11184:12;11177:19;;10836:366;;;:::o;11208:419::-;11374:4;11412:2;11401:9;11397:18;11389:26;;11461:9;11455:4;11451:20;11447:1;11436:9;11432:17;11425:47;11489:131;11615:4;11489:131;:::i;:::-;11481:139;;11208:419;;;:::o;11633:222::-;11773:34;11769:1;11761:6;11757:14;11750:58;11842:5;11837:2;11829:6;11825:15;11818:30;11633:222;:::o;11861:366::-;12003:3;12024:67;12088:2;12083:3;12024:67;:::i;:::-;12017:74;;12100:93;12189:3;12100:93;:::i;:::-;12218:2;12213:3;12209:12;12202:19;;11861:366;;;:::o;12233:419::-;12399:4;12437:2;12426:9;12422:18;12414:26;;12486:9;12480:4;12476:20;12472:1;12461:9;12457:17;12450:47;12514:131;12640:4;12514:131;:::i;:::-;12506:139;;12233:419;;;:::o;12658:224::-;12798:34;12794:1;12786:6;12782:14;12775:58;12867:7;12862:2;12854:6;12850:15;12843:32;12658:224;:::o;12888:366::-;13030:3;13051:67;13115:2;13110:3;13051:67;:::i;:::-;13044:74;;13127:93;13216:3;13127:93;:::i;:::-;13245:2;13240:3;13236:12;13229:19;;12888:366;;;:::o;13260:419::-;13426:4;13464:2;13453:9;13449:18;13441:26;;13513:9;13507:4;13503:20;13499:1;13488:9;13484:17;13477:47;13541:131;13667:4;13541:131;:::i;:::-;13533:139;;13260:419;;;:::o;13685:228::-;13825:34;13821:1;13813:6;13809:14;13802:58;13894:11;13889:2;13881:6;13877:15;13870:36;13685:228;:::o;13919:366::-;14061:3;14082:67;14146:2;14141:3;14082:67;:::i;:::-;14075:74;;14158:93;14247:3;14158:93;:::i;:::-;14276:2;14271:3;14267:12;14260:19;;13919:366;;;:::o;14291:419::-;14457:4;14495:2;14484:9;14480:18;14472:26;;14544:9;14538:4;14534:20;14530:1;14519:9;14515:17;14508:47;14572:131;14698:4;14572:131;:::i;:::-;14564:139;;14291:419;;;:::o;14716:191::-;14756:3;14775:20;14793:1;14775:20;:::i;:::-;14770:25;;14809:20;14827:1;14809:20;:::i;:::-;14804:25;;14852:1;14849;14845:9;14838:16;;14873:3;14870:1;14867:10;14864:36;;;14880:18;;:::i;:::-;14864:36;14716:191;;;;:::o;14913:180::-;14961:77;14958:1;14951:88;15058:4;15055:1;15048:15;15082:4;15079:1;15072:15;15099:180;15147:77;15144:1;15137:88;15244:4;15241:1;15234:15;15268:4;15265:1;15258:15;15285:143;15342:5;15373:6;15367:13;15358:22;;15389:33;15416:5;15389:33;:::i;:::-;15285:143;;;;:::o;15434:351::-;15504:6;15553:2;15541:9;15532:7;15528:23;15524:32;15521:119;;;15559:79;;:::i;:::-;15521:119;15679:1;15704:64;15760:7;15751:6;15740:9;15736:22;15704:64;:::i;:::-;15694:74;;15650:128;15434:351;;;;:::o;15791:85::-;15836:7;15865:5;15854:16;;15791:85;;;:::o;15882:158::-;15940:9;15973:61;15991:42;16000:32;16026:5;16000:32;:::i;:::-;15991:42;:::i;:::-;15973:61;:::i;:::-;15960:74;;15882:158;;;:::o;16046:147::-;16141:45;16180:5;16141:45;:::i;:::-;16136:3;16129:58;16046:147;;:::o;16199:114::-;16266:6;16300:5;16294:12;16284:22;;16199:114;;;:::o;16319:184::-;16418:11;16452:6;16447:3;16440:19;16492:4;16487:3;16483:14;16468:29;;16319:184;;;;:::o;16509:132::-;16576:4;16599:3;16591:11;;16629:4;16624:3;16620:14;16612:22;;16509:132;;;:::o;16647:108::-;16724:24;16742:5;16724:24;:::i;:::-;16719:3;16712:37;16647:108;;:::o;16761:179::-;16830:10;16851:46;16893:3;16885:6;16851:46;:::i;:::-;16929:4;16924:3;16920:14;16906:28;;16761:179;;;;:::o;16946:113::-;17016:4;17048;17043:3;17039:14;17031:22;;16946:113;;;:::o;17095:732::-;17214:3;17243:54;17291:5;17243:54;:::i;:::-;17313:86;17392:6;17387:3;17313:86;:::i;:::-;17306:93;;17423:56;17473:5;17423:56;:::i;:::-;17502:7;17533:1;17518:284;17543:6;17540:1;17537:13;17518:284;;;17619:6;17613:13;17646:63;17705:3;17690:13;17646:63;:::i;:::-;17639:70;;17732:60;17785:6;17732:60;:::i;:::-;17722:70;;17578:224;17565:1;17562;17558:9;17553:14;;17518:284;;;17522:14;17818:3;17811:10;;17219:608;;;17095:732;;;;:::o;17833:831::-;18096:4;18134:3;18123:9;18119:19;18111:27;;18148:71;18216:1;18205:9;18201:17;18192:6;18148:71;:::i;:::-;18229:80;18305:2;18294:9;18290:18;18281:6;18229:80;:::i;:::-;18356:9;18350:4;18346:20;18341:2;18330:9;18326:18;18319:48;18384:108;18487:4;18478:6;18384:108;:::i;:::-;18376:116;;18502:72;18570:2;18559:9;18555:18;18546:6;18502:72;:::i;:::-;18584:73;18652:3;18641:9;18637:19;18628:6;18584:73;:::i;:::-;17833:831;;;;;;;;:::o;18670:147::-;18771:11;18808:3;18793:18;;18670:147;;;;:::o;18823:114::-;;:::o;18943:398::-;19102:3;19123:83;19204:1;19199:3;19123:83;:::i;:::-;19116:90;;19215:93;19304:3;19215:93;:::i;:::-;19333:1;19328:3;19324:11;19317:18;;18943:398;;;:::o;19347:379::-;19531:3;19553:147;19696:3;19553:147;:::i;:::-;19546:154;;19717:3;19710:10;;19347:379;;;:::o;19732:410::-;19772:7;19795:20;19813:1;19795:20;:::i;:::-;19790:25;;19829:20;19847:1;19829:20;:::i;:::-;19824:25;;19884:1;19881;19877:9;19906:30;19924:11;19906:30;:::i;:::-;19895:41;;20085:1;20076:7;20072:15;20069:1;20066:22;20046:1;20039:9;20019:83;19996:139;;20115:18;;:::i;:::-;19996:139;19780:362;19732:410;;;;:::o;20148:180::-;20196:77;20193:1;20186:88;20293:4;20290:1;20283:15;20317:4;20314:1;20307:15;20334:185;20374:1;20391:20;20409:1;20391:20;:::i;:::-;20386:25;;20425:20;20443:1;20425:20;:::i;:::-;20420:25;;20464:1;20454:35;;20469:18;;:::i;:::-;20454:35;20511:1;20508;20504:9;20499:14;;20334:185;;;;:::o

Swarm Source

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