ETH Price: $2,724.83 (-2.92%)

Token

XUSD.mint (XUSD)
 

Overview

Max Total Supply

11,003,000,000 XUSD

Holders

21

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
10,000,000,000 XUSD

Value
$0.00
0xeeb2b54e32d3bc9a3f2b5c8bea00a75eb3b4d763
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:
XUSD

Compiler Version
v0.5.13+commit.5b0b510c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-12-02
*/

pragma solidity 0.5.13;

// ----------------------------------------------------------------------------
// --- XUSD mint - token contract
// --- Symbol      : XUSD
// --- Name        : XUSD.mint
// --- Total supply: Generated from XUSD minter accounts
// --- @author EJS32 
// --- @title for 01101101 01111001 01101100 01101111 01110110 01100101
// --- (c) www.xusdmint.com - 2019. The MIT License.
// --- @dev pragma solidity version:0.5.13+commit.5b0b510c.Emscripten.clang
// ----------------------------------------------------------------------------

library SafeMath {

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

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

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

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

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

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// ----------------------------------------------------------------------------
// --- Contract Context 
// ----------------------------------------------------------------------------

contract Context {

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

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

// ----------------------------------------------------------------------------
// --- Contract ERC20 
// ----------------------------------------------------------------------------

contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private _totalSupply;
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, "ERC20: burn amount exceeds allowance"));
    }
}

// ----------------------------------------------------------------------------
// --- Contract Ownable 
// ----------------------------------------------------------------------------

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

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

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

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

    function isOwner() public view returns (bool) {
        return _msgSender() == _owner;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// ----------------------------------------------------------------------------
// --- Contract Blacklistable
// ----------------------------------------------------------------------------

contract Blacklistable is Ownable {

    address public blacklister;
    mapping(address => bool) internal blacklisted;
    event Blacklisted(address indexed _account);
    event UnBlacklisted(address indexed _account);
    event BlacklisterChanged(address indexed newBlacklister);

    modifier onlyBlacklister() {
        require(msg.sender == blacklister);
        _;
    }

    modifier notBlacklisted(address _account) {
        require(blacklisted[_account] == false);
        _;
    }

    function isBlacklisted(address _account) public view returns (bool) {
        return blacklisted[_account];
    }

    function blacklist(address _account) public onlyBlacklister {
        blacklisted[_account] = true;
        emit Blacklisted(_account);
    }

    function unBlacklist(address _account) public onlyBlacklister {
        blacklisted[_account] = false;
        emit UnBlacklisted(_account);
    }

    function updateBlacklister(address _newBlacklister) public onlyOwner {
        require(_newBlacklister != address(0));
        blacklister = _newBlacklister;
        emit BlacklisterChanged(blacklister);
    }
}

// ----------------------------------------------------------------------------
// --- library Roles
// ----------------------------------------------------------------------------

library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    function add(Role storage role, address account) internal {
        require(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }

    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        role.bearer[account] = false;
    }

    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

// ----------------------------------------------------------------------------
// --- Contract PauserRole
// ----------------------------------------------------------------------------

contract PauserRole is Context {
    using Roles for Roles.Role;
    event PauserAdded(address indexed account);
    event PauserRemoved(address indexed account);
    Roles.Role private _pausers;
    constructor () internal {
        _addPauser(_msgSender());
    }

    modifier onlyPauser() {
        require(isPauser(_msgSender()), "PauserRole: caller does not have the Pauser role");
        _;
    }

    function isPauser(address account) public view returns (bool) {
        return _pausers.has(account);
    }

    function addPauser(address account) public onlyPauser {
        _addPauser(account);
    }

    function renouncePauser() public {
        _removePauser(_msgSender());
    }

    function _addPauser(address account) internal {
        _pausers.add(account);
        emit PauserAdded(account);
    }

    function _removePauser(address account) internal {
        _pausers.remove(account);
        emit PauserRemoved(account);
    }
}

// ----------------------------------------------------------------------------
// --- Contract Pausable
// ----------------------------------------------------------------------------

contract Pausable is Context, PauserRole {

    event Paused(address account);
    event Unpaused(address account);
    bool private _paused;

    constructor () internal {
        _paused = false;
    }

    function paused() public view returns (bool) {
        return _paused;
    }

    modifier whenNotPaused() {
        require(!_paused, "Pausable: paused");
        _;
    }

    modifier whenPaused() {
        require(_paused, "Pausable: not paused");
        _;
    }

    function pause() public onlyPauser whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    function unpause() public onlyPauser whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

// ----------------------------------------------------------------------------
// --- Contract XUSD
// ----------------------------------------------------------------------------

contract XUSD is Ownable, ERC20, Pausable, Blacklistable {
    using SafeMath for uint256;
    string public name;
    string public symbol;
    uint8 public decimals;
    string public currency;
    address public masterMinter;
    address public pauser;
    bool internal initialized;
    mapping(address => uint256) internal balances;
    mapping(address => mapping(address => uint256)) internal allowed;
    uint256 internal totalSupply_ = 0;
    mapping(address => bool) internal minters;
    mapping(address => uint256) internal minterAllowed;
    event Mint(address indexed minter, address indexed to, uint256 amount);
    event Burn(address indexed burner, uint256 amount);
    event MinterConfigured(address indexed minter, uint256 minterAllowedAmount);
    event MinterRemoved(address indexed oldMinter);
    event MasterMinterChanged(address indexed newMasterMinter);
    
    function initialize(
        string memory _name,
        string memory _symbol,
        string memory _currency,
        uint8 _decimals,
        address _masterMinter,
        address _pauser,
        address _blacklister,
        address _owner
    ) public {
        require(!initialized);
        require(_masterMinter != address(0));
        require(_pauser != address(0));
        require(_blacklister != address(0));
        require(_owner != address(0));
        name = _name;
        symbol = _symbol;
        currency = _currency;
        decimals = _decimals;
        masterMinter = _masterMinter;
        pauser = _pauser;
        blacklister = _blacklister;
        initialized = true;
    }

    modifier onlyMinters() {
        require(minters[msg.sender] == true);
        _;
    }

    function mint(address _to, uint256 _amount) whenNotPaused onlyMinters notBlacklisted(msg.sender) notBlacklisted(_to) public returns (bool) {
        require(_to != address(0));
        require(_amount > 0);
        uint256 mintingAllowedAmount = minterAllowed[msg.sender];
        require(_amount <= mintingAllowedAmount);
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        minterAllowed[msg.sender] = mintingAllowedAmount.sub(_amount);
        emit Mint(msg.sender, _to, _amount);
        emit Transfer(address(0), _to, _amount);
        return true;
    }

    modifier onlyMasterMinter() {
        require(msg.sender == masterMinter);
        _;
    }

    function minterAllowance(address minter) public view returns (uint256) {
        return minterAllowed[minter];
    }

    function isMinter(address account) public view returns (bool) {
        return minters[account];
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return allowed[owner][spender];
    }

    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    function balanceOf(address account) public view returns (uint256) {
        return balances[account];
    }

    function approve(address _spender, uint256 _value) whenNotPaused notBlacklisted(msg.sender) notBlacklisted(_spender) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) whenNotPaused notBlacklisted(_to) notBlacklisted(msg.sender) notBlacklisted(_from) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    function transfer(address _to, uint256 _value) whenNotPaused notBlacklisted(msg.sender) notBlacklisted(_to) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function configureMinter(address minter, uint256 minterAllowedAmount) whenNotPaused onlyMasterMinter public returns (bool) {
        minters[minter] = true;
        minterAllowed[minter] = minterAllowedAmount;
        emit MinterConfigured(minter, minterAllowedAmount);
        return true;
    }

    function removeMinter(address minter) onlyMasterMinter public returns (bool) {
        minters[minter] = false;
        minterAllowed[minter] = 0;
        emit MinterRemoved(minter);
        return true;
    }

    function burn(uint256 _amount) whenNotPaused onlyMinters notBlacklisted(msg.sender) public {
        uint256 balance = balances[msg.sender];
        require(_amount > 0);
        require(balance >= _amount);
        totalSupply_ = totalSupply_.sub(_amount);
        balances[msg.sender] = balance.sub(_amount);
        emit Burn(msg.sender, _amount);
        emit Transfer(msg.sender, address(0), _amount);
    }

    function updateMasterMinter(address _newMasterMinter) onlyOwner public {
        require(_newMasterMinter != address(0));
        masterMinter = _newMasterMinter;
        emit MasterMinterChanged(masterMinter);
    }
}

Contract Security Audit

Contract ABI

[{"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":"_account","type":"address"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newBlacklister","type":"address"}],"name":"BlacklisterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newMasterMinter","type":"address"}],"name":"MasterMinterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"uint256","name":"minterAllowedAmount","type":"uint256"}],"name":"MinterConfigured","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldMinter","type":"address"}],"name":"MinterRemoved","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":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"PauserRemoved","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":true,"internalType":"address","name":"_account","type":"address"}],"name":"UnBlacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"blacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"blacklister","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"minter","type":"address"},{"internalType":"uint256","name":"minterAllowedAmount","type":"uint256"}],"name":"configureMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currency","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_currency","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"address","name":"_masterMinter","type":"address"},{"internalType":"address","name":"_pauser","type":"address"},{"internalType":"address","name":"_blacklister","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isPauser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"masterMinter","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"minter","type":"address"}],"name":"minterAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pauser","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"minter","type":"address"}],"name":"removeMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"unBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newBlacklister","type":"address"}],"name":"updateBlacklister","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newMasterMinter","type":"address"}],"name":"updateMasterMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526000600f5560006200001b620000fa60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620000d9620000cd620000fa60201b60201c565b6200010260201b60201c565b6000600560006101000a81548160ff02191690831515021790555062000327565b600033905090565b6200011d8160046200016360201b62003dcb1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b6200017582826200024760201b60201c565b15620001e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620043bb6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61408480620003376000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c8063715018a611610130578063a9059cbb116100b8578063dd62ed3e1161007c578063dd62ed3e14610d6b578063e5a6b10f14610de3578063f2fde38b14610e66578063f9f92be414610eaa578063fe575a8714610eee57610227565b8063a9059cbb14610bd7578063aa20e1e414610c3d578063aa271e1a14610c81578063ad38bf2214610cdd578063bd10243014610d2157610227565b80638da5cb5b116100ff5780638da5cb5b14610a385780638f32d59b14610a8257806395d89b4114610aa45780639fd0506d14610b27578063a457c2d714610b7157610227565b8063715018a61461098857806382dc1ec4146109925780638456cb59146109d65780638a6db9c3146109e057610227565b806339509351116101b357806346fbf68e1161018257806346fbf68e146108425780634e44d9561461089e5780635c975abb146109045780636ef8d66d1461092657806370a082311461093057610227565b8063395093511461073e5780633f4ba83a146107a457806340c10f19146107ae57806342966c681461081457610227565b806323b872dd116101fa57806323b872dd146103775780633092afd5146103fd578063313ce567146104595780633357162b1461047d57806335d99f35146106f457610227565b806306fdde031461022c578063095ea7b3146102af57806318160ddd146103155780631a89526614610333575b600080fd5b610234610f4a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610274578082015181840152602081019050610259565b50505050905090810190601f1680156102a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102fb600480360360408110156102c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fe8565b604051808215151515815260200191505060405180910390f35b61031d61121b565b6040518082815260200191505060405180910390f35b6103756004803603602081101561034957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611225565b005b6103e36004803603606081101561038d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061131d565b604051808215151515815260200191505060405180910390f35b61043f6004803603602081101561041357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611877565b604051808215151515815260200191505060405180910390f35b6104616119bc565b604051808260ff1660ff16815260200191505060405180910390f35b6106f2600480360361010081101561049457600080fd5b81019080803590602001906401000000008111156104b157600080fd5b8201836020820111156104c357600080fd5b803590602001918460018302840111640100000000831117156104e557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561054857600080fd5b82018360208201111561055a57600080fd5b8035906020019184600183028401116401000000008311171561057c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105df57600080fd5b8201836020820111156105f157600080fd5b8035906020019184600183028401116401000000008311171561061357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119cf565b005b6106fc611c19565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61078a6004803603604081101561075457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c3f565b604051808215151515815260200191505060405180910390f35b6107ac611cf2565b005b6107fa600480360360408110156107c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e60565b604051808215151515815260200191505060405180910390f35b6108406004803603602081101561082a57600080fd5b8101908080359060200190929190505050612274565b005b6108846004803603602081101561085857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061253a565b604051808215151515815260200191505060405180910390f35b6108ea600480360360408110156108b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612557565b604051808215151515815260200191505060405180910390f35b61090c61272a565b604051808215151515815260200191505060405180910390f35b61092e612741565b005b6109726004803603602081101561094657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612753565b6040518082815260200191505060405180910390f35b61099061279c565b005b6109d4600480360360208110156109a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128d5565b005b6109de612946565b005b610a22600480360360208110156109f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ab5565b6040518082815260200191505060405180910390f35b610a40612afe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a8a612b27565b604051808215151515815260200191505060405180910390f35b610aac612b85565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aec578082015181840152602081019050610ad1565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610b2f612c23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610bbd60048036036040811015610b8757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c49565b604051808215151515815260200191505060405180910390f35b610c2360048036036040811015610bed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d16565b604051808215151515815260200191505060405180910390f35b610c7f60048036036020811015610c5357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613078565b005b610cc360048036036020811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506131d5565b604051808215151515815260200191505060405180910390f35b610d1f60048036036020811015610cf357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061322b565b005b610d29613388565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610dcd60048036036040811015610d8157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133ae565b6040518082815260200191505060405180910390f35b610deb613435565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e2b578082015181840152602081019050610e10565b50505050905090810190601f168015610e585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610ea860048036036020811015610e7c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506134d3565b005b610eec60048036036020811015610ec057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613559565b005b610f3060048036036020811015610f0457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613651565b604051808215151515815260200191505060405180910390f35b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fe05780601f10610fb557610100808354040283529160200191610fe0565b820191906000526020600020905b815481529060010190602001808311610fc357829003601f168201915b505050505081565b6000600560009054906101000a900460ff161561106d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146110cb57600080fd5b8360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461112957600080fd5b83600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040518082815260200191505060405180910390a360019250505092915050565b6000600f54905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461127f57600080fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e60405160405180910390a250565b6000600560009054906101000a900460ff16156113a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b8260001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461140057600080fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461145e57600080fd5b8560001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146114bc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156114f657600080fd5b600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485111561154257600080fd5b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511156115cb57600080fd5b61161d85600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136a790919063ffffffff16565b600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116b285600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136f190919063ffffffff16565b600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061178485600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136a790919063ffffffff16565b600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3600193505050509392505050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118d357600080fd5b6000601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a260019050919050565b600960009054906101000a900460ff1681565b600c60149054906101000a900460ff16156119e957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611a2357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a5d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a9757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ad157600080fd5b8760079080519060200190611ae7929190613ea6565b508660089080519060200190611afe929190613ea6565b5085600a9080519060200190611b15929190613ea6565b5084600960006101000a81548160ff021916908360ff16021790555083600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff0219169083151502179055505050505050505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ce8611c4c613779565b84611ce38560026000611c5d613779565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136f190919063ffffffff16565b613781565b6001905092915050565b611d02611cfd613779565b61253a565b611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613f4c6030913960400191505060405180910390fd5b600560009054906101000a900460ff16611dd9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611e1d613779565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600560009054906101000a900460ff1615611ee5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60011515601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611f4257600080fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611fa057600080fd5b8360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611ffe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561203857600080fd5b6000841161204557600080fd5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508085111561209657600080fd5b6120ab85600f546136f190919063ffffffff16565b600f8190555061210385600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136f190919063ffffffff16565b600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061215985826136a790919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8876040518082815260200191505060405180910390a38573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36001935050505092915050565b600560009054906101000a900460ff16156122f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60011515601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461235457600080fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146123b257600080fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000831161240357600080fd5b8281101561241057600080fd5b61242583600f546136a790919063ffffffff16565b600f8190555061243e83826136a790919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5846040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050565b600061255082600461397890919063ffffffff16565b9050919050565b6000600560009054906101000a900460ff16156125dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461263657600080fd5b6001601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d20836040518082815260200191505060405180910390a26001905092915050565b6000600560009054906101000a900460ff16905090565b61275161274c613779565b613a56565b565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6127a4612b27565b612816576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6128e56128e0613779565b61253a565b61293a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613f4c6030913960400191505060405180910390fd5b61294381613ab0565b50565b612956612951613779565b61253a565b6129ab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613f4c6030913960400191505060405180910390fd5b600560009054906101000a900460ff1615612a2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a72613779565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612b69613779565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612c1b5780601f10612bf057610100808354040283529160200191612c1b565b820191906000526020600020905b815481529060010190602001808311612bfe57829003601f168201915b505050505081565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612d0c612c56613779565b84612d078560405180606001604052806025815260200161402b6025913960026000612c80613779565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b0a9092919063ffffffff16565b613781565b6001905092915050565b6000600560009054906101000a900460ff1615612d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612df957600080fd5b8360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612e5757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612e9157600080fd5b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841115612edd57600080fd5b612f2f84600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136a790919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fc484600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136f190919063ffffffff16565b600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b613080612b27565b6130f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561312c57600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e660405160405180910390a250565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b613233612b27565b6132a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156132df57600080fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e60405160405180910390a250565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156134cb5780601f106134a0576101008083540402835291602001916134cb565b820191906000526020600020905b8154815290600101906020018083116134ae57829003601f168201915b505050505081565b6134db612b27565b61354d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61355681613bca565b50565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146135b357600080fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006136e983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613b0a565b905092915050565b60008082840190508381101561376f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140076024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561388d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613fa26022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156139ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613fe56022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b613a6a816004613d0e90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b613ac4816004613dcb90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b6000838311158290613bb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613b7c578082015181840152602081019050613b61565b50505050905090810190601f168015613ba95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613f7c6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b613d188282613978565b613d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613fc46021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b613dd58282613978565b15613e48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ee757805160ff1916838001178555613f15565b82800160010185558215613f15579182015b82811115613f14578251825591602001919060010190613ef9565b5b509050613f229190613f26565b5090565b613f4891905b80821115613f44576000816000905550600101613f2c565b5090565b9056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582071f7acc79cd2b7fb64455b7b6b27e66df8bae30c9552740a0f88165912da777164736f6c634300050d0032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102275760003560e01c8063715018a611610130578063a9059cbb116100b8578063dd62ed3e1161007c578063dd62ed3e14610d6b578063e5a6b10f14610de3578063f2fde38b14610e66578063f9f92be414610eaa578063fe575a8714610eee57610227565b8063a9059cbb14610bd7578063aa20e1e414610c3d578063aa271e1a14610c81578063ad38bf2214610cdd578063bd10243014610d2157610227565b80638da5cb5b116100ff5780638da5cb5b14610a385780638f32d59b14610a8257806395d89b4114610aa45780639fd0506d14610b27578063a457c2d714610b7157610227565b8063715018a61461098857806382dc1ec4146109925780638456cb59146109d65780638a6db9c3146109e057610227565b806339509351116101b357806346fbf68e1161018257806346fbf68e146108425780634e44d9561461089e5780635c975abb146109045780636ef8d66d1461092657806370a082311461093057610227565b8063395093511461073e5780633f4ba83a146107a457806340c10f19146107ae57806342966c681461081457610227565b806323b872dd116101fa57806323b872dd146103775780633092afd5146103fd578063313ce567146104595780633357162b1461047d57806335d99f35146106f457610227565b806306fdde031461022c578063095ea7b3146102af57806318160ddd146103155780631a89526614610333575b600080fd5b610234610f4a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610274578082015181840152602081019050610259565b50505050905090810190601f1680156102a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102fb600480360360408110156102c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fe8565b604051808215151515815260200191505060405180910390f35b61031d61121b565b6040518082815260200191505060405180910390f35b6103756004803603602081101561034957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611225565b005b6103e36004803603606081101561038d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061131d565b604051808215151515815260200191505060405180910390f35b61043f6004803603602081101561041357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611877565b604051808215151515815260200191505060405180910390f35b6104616119bc565b604051808260ff1660ff16815260200191505060405180910390f35b6106f2600480360361010081101561049457600080fd5b81019080803590602001906401000000008111156104b157600080fd5b8201836020820111156104c357600080fd5b803590602001918460018302840111640100000000831117156104e557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561054857600080fd5b82018360208201111561055a57600080fd5b8035906020019184600183028401116401000000008311171561057c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105df57600080fd5b8201836020820111156105f157600080fd5b8035906020019184600183028401116401000000008311171561061357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119cf565b005b6106fc611c19565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61078a6004803603604081101561075457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c3f565b604051808215151515815260200191505060405180910390f35b6107ac611cf2565b005b6107fa600480360360408110156107c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e60565b604051808215151515815260200191505060405180910390f35b6108406004803603602081101561082a57600080fd5b8101908080359060200190929190505050612274565b005b6108846004803603602081101561085857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061253a565b604051808215151515815260200191505060405180910390f35b6108ea600480360360408110156108b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612557565b604051808215151515815260200191505060405180910390f35b61090c61272a565b604051808215151515815260200191505060405180910390f35b61092e612741565b005b6109726004803603602081101561094657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612753565b6040518082815260200191505060405180910390f35b61099061279c565b005b6109d4600480360360208110156109a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128d5565b005b6109de612946565b005b610a22600480360360208110156109f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ab5565b6040518082815260200191505060405180910390f35b610a40612afe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a8a612b27565b604051808215151515815260200191505060405180910390f35b610aac612b85565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aec578082015181840152602081019050610ad1565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610b2f612c23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610bbd60048036036040811015610b8757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c49565b604051808215151515815260200191505060405180910390f35b610c2360048036036040811015610bed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d16565b604051808215151515815260200191505060405180910390f35b610c7f60048036036020811015610c5357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613078565b005b610cc360048036036020811015610c9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506131d5565b604051808215151515815260200191505060405180910390f35b610d1f60048036036020811015610cf357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061322b565b005b610d29613388565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610dcd60048036036040811015610d8157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133ae565b6040518082815260200191505060405180910390f35b610deb613435565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e2b578082015181840152602081019050610e10565b50505050905090810190601f168015610e585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610ea860048036036020811015610e7c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506134d3565b005b610eec60048036036020811015610ec057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613559565b005b610f3060048036036020811015610f0457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613651565b604051808215151515815260200191505060405180910390f35b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fe05780601f10610fb557610100808354040283529160200191610fe0565b820191906000526020600020905b815481529060010190602001808311610fc357829003601f168201915b505050505081565b6000600560009054906101000a900460ff161561106d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146110cb57600080fd5b8360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461112957600080fd5b83600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040518082815260200191505060405180910390a360019250505092915050565b6000600f54905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461127f57600080fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e60405160405180910390a250565b6000600560009054906101000a900460ff16156113a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b8260001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461140057600080fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461145e57600080fd5b8560001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146114bc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156114f657600080fd5b600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485111561154257600080fd5b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511156115cb57600080fd5b61161d85600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136a790919063ffffffff16565b600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116b285600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136f190919063ffffffff16565b600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061178485600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136a790919063ffffffff16565b600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3600193505050509392505050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118d357600080fd5b6000601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a260019050919050565b600960009054906101000a900460ff1681565b600c60149054906101000a900460ff16156119e957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611a2357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a5d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a9757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ad157600080fd5b8760079080519060200190611ae7929190613ea6565b508660089080519060200190611afe929190613ea6565b5085600a9080519060200190611b15929190613ea6565b5084600960006101000a81548160ff021916908360ff16021790555083600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff0219169083151502179055505050505050505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ce8611c4c613779565b84611ce38560026000611c5d613779565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136f190919063ffffffff16565b613781565b6001905092915050565b611d02611cfd613779565b61253a565b611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613f4c6030913960400191505060405180910390fd5b600560009054906101000a900460ff16611dd9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611e1d613779565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600560009054906101000a900460ff1615611ee5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60011515601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611f4257600080fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611fa057600080fd5b8360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611ffe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561203857600080fd5b6000841161204557600080fd5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508085111561209657600080fd5b6120ab85600f546136f190919063ffffffff16565b600f8190555061210385600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136f190919063ffffffff16565b600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061215985826136a790919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8876040518082815260200191505060405180910390a38573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36001935050505092915050565b600560009054906101000a900460ff16156122f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60011515601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461235457600080fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146123b257600080fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000831161240357600080fd5b8281101561241057600080fd5b61242583600f546136a790919063ffffffff16565b600f8190555061243e83826136a790919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5846040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050565b600061255082600461397890919063ffffffff16565b9050919050565b6000600560009054906101000a900460ff16156125dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461263657600080fd5b6001601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d20836040518082815260200191505060405180910390a26001905092915050565b6000600560009054906101000a900460ff16905090565b61275161274c613779565b613a56565b565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6127a4612b27565b612816576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6128e56128e0613779565b61253a565b61293a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613f4c6030913960400191505060405180910390fd5b61294381613ab0565b50565b612956612951613779565b61253a565b6129ab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613f4c6030913960400191505060405180910390fd5b600560009054906101000a900460ff1615612a2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a72613779565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612b69613779565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612c1b5780601f10612bf057610100808354040283529160200191612c1b565b820191906000526020600020905b815481529060010190602001808311612bfe57829003601f168201915b505050505081565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612d0c612c56613779565b84612d078560405180606001604052806025815260200161402b6025913960026000612c80613779565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b0a9092919063ffffffff16565b613781565b6001905092915050565b6000600560009054906101000a900460ff1615612d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b3360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612df957600080fd5b8360001515600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612e5757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612e9157600080fd5b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841115612edd57600080fd5b612f2f84600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136a790919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fc484600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136f190919063ffffffff16565b600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b613080612b27565b6130f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561312c57600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e660405160405180910390a250565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b613233612b27565b6132a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156132df57600080fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e60405160405180910390a250565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156134cb5780601f106134a0576101008083540402835291602001916134cb565b820191906000526020600020905b8154815290600101906020018083116134ae57829003601f168201915b505050505081565b6134db612b27565b61354d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61355681613bca565b50565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146135b357600080fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006136e983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613b0a565b905092915050565b60008082840190508381101561376f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140076024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561388d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613fa26022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156139ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613fe56022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b613a6a816004613d0e90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b613ac4816004613dcb90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b6000838311158290613bb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613b7c578082015181840152602081019050613b61565b50505050905090810190601f168015613ba95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613f7c6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b613d188282613978565b613d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613fc46021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b613dd58282613978565b15613e48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ee757805160ff1916838001178555613f15565b82800160010185558215613f15579182015b82811115613f14578251825591602001919060010190613ef9565b5b509050613f229190613f26565b5090565b613f4891905b80821115613f44576000816000905550600101613f2c565b5090565b9056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582071f7acc79cd2b7fb64455b7b6b27e66df8bae30c9552740a0f88165912da777164736f6c634300050d0032

Deployed Bytecode Sourcemap

12704:5532:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12704:5532:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12801:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12801:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15775:272;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15775:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15559:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9139:149;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9139:149:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;16055:569;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16055:569:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17363:214;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17363:214:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12853:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13612:728;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;13612:728:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;13612:728:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13612:728:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13612:728:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;13612:728:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;13612:728:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13612:728:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13612:728:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;13612:728:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;13612:728:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13612:728:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13612:728:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;13612:728:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12910:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4610:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4610:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12391:120;;;:::i;:::-;;14446:627;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14446:627:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17585:420;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17585:420:0;;;;;;;;;;;;;;;;;:::i;:::-;;10997:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10997:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17054:301;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17054:301:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11977:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11214:79;;;:::i;:::-;;15658:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15658:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7653:140;;;:::i;:::-;;11114:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11114:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12265:118;;;:::i;:::-;;15183;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15183:118:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7350:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7551:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12826:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12826:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12944:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4828:261;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4828:261:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16632:414;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16632:414:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18013:220;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18013:220:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;15309:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15309:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9296:213;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9296:213:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8392:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15421:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15421:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12881:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12881:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7801:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7801:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8987:144;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8987:144:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8864:115;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8864:115:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12801:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15775:272::-;15908:4;12108:7;;;;;;;;;;;12107:8;12099:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15855:10;8830:5;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;15882:8;8830:5;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;15957:6;15925:7;:19;15933:10;15925:19;;;;;;;;;;;;;;;:29;15945:8;15925:29;;;;;;;;;;;;;;;:38;;;;16000:8;15979:38;;15988:10;15979:38;;;16010:6;15979:38;;;;;;;;;;;;;;;;;;16035:4;16028:11;;8847:1;12147;15775:272;;;;:::o;15559:91::-;15603:7;15630:12;;15623:19;;15559:91;:::o;9139:149::-;8704:11;;;;;;;;;;;8690:25;;:10;:25;;;8682:34;;;;;;9236:5;9212:11;:21;9224:8;9212:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;9271:8;9257:23;;;;;;;;;;;;9139:149;:::o;16055:569::-;16220:4;12108:7;;;;;;;;;;;12107:8;12099:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16150:3;8830:5;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;16170:10;8830:5;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;16197:5;8830;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;16260:1;16245:17;;:3;:17;;;;16237:26;;;;;;16292:8;:15;16301:5;16292:15;;;;;;;;;;;;;;;;16282:6;:25;;16274:34;;;;;;16337:7;:14;16345:5;16337:14;;;;;;;;;;;;;;;:26;16352:10;16337:26;;;;;;;;;;;;;;;;16327:6;:36;;16319:45;;;;;;16393:27;16413:6;16393:8;:15;16402:5;16393:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;16375:8;:15;16384:5;16375:15;;;;;;;;;;;;;;;:45;;;;16447:25;16465:6;16447:8;:13;16456:3;16447:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;16431:8;:13;16440:3;16431:13;;;;;;;;;;;;;;;:41;;;;16512:38;16543:6;16512:7;:14;16520:5;16512:14;;;;;;;;;;;;;;;:26;16527:10;16512:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;16483:7;:14;16491:5;16483:14;;;;;;;;;;;;;;;:26;16498:10;16483:26;;;;;;;;;;;;;;;:67;;;;16582:3;16566:28;;16575:5;16566:28;;;16587:6;16566:28;;;;;;;;;;;;;;;;;;16612:4;16605:11;;8847:1;;12147;16055:569;;;;;:::o;17363:214::-;17434:4;15142:12;;;;;;;;;;;15128:26;;:10;:26;;;15120:35;;;;;;17469:5;17451:7;:15;17459:6;17451:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;17509:1;17485:13;:21;17499:6;17485:21;;;;;;;;;;;;;;;:25;;;;17540:6;17526:21;;;;;;;;;;;;17565:4;17558:11;;17363:214;;;:::o;12853:21::-;;;;;;;;;;;;;:::o;13612:728::-;13902:11;;;;;;;;;;;13901:12;13893:21;;;;;;13958:1;13933:27;;:13;:27;;;;13925:36;;;;;;13999:1;13980:21;;:7;:21;;;;13972:30;;;;;;14045:1;14021:26;;:12;:26;;;;14013:35;;;;;;14085:1;14067:20;;:6;:20;;;;14059:29;;;;;;14106:5;14099:4;:12;;;;;;;;;;;;:::i;:::-;;14131:7;14122:6;:16;;;;;;;;;;;;:::i;:::-;;14160:9;14149:8;:20;;;;;;;;;;;;:::i;:::-;;14191:9;14180:8;;:20;;;;;;;;;;;;;;;;;;14226:13;14211:12;;:28;;;;;;;;;;;;;;;;;;14259:7;14250:6;;:16;;;;;;;;;;;;;;;;;;14291:12;14277:11;;:26;;;;;;;;;;;;;;;;;;14328:4;14314:11;;:18;;;;;;;;;;;;;;;;;;13612:728;;;;;;;;:::o;12910:27::-;;;;;;;;;;;;;:::o;4610:210::-;4690:4;4707:83;4716:12;:10;:12::i;:::-;4730:7;4739:50;4778:10;4739:11;:25;4751:12;:10;:12::i;:::-;4739:25;;;;;;;;;;;;;;;:34;4765:7;4739:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;4707:8;:83::i;:::-;4808:4;4801:11;;4610:210;;;;:::o;12391:120::-;10894:22;10903:12;:10;:12::i;:::-;10894:8;:22::i;:::-;10886:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12205:7;;;;;;;;;;;12197:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12460:5;12450:7;;:15;;;;;;;;;;;;;;;;;;12481:22;12490:12;:10;:12::i;:::-;12481:22;;;;;;;;;;;;;;;;;;;;;;12391:120::o;14446:627::-;14579:4;12108:7;;;;;;;;;;;12107:8;12099:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14413:4;14390:27;;:7;:19;14398:10;14390:19;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;14382:36;;;;;;14531:10;8830:5;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;14558:3;8830:5;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;14619:1;14604:17;;:3;:17;;;;14596:26;;;;;;14651:1;14641:7;:11;14633:20;;;;;;14664:28;14695:13;:25;14709:10;14695:25;;;;;;;;;;;;;;;;14664:56;;14750:20;14739:7;:31;;14731:40;;;;;;14797:25;14814:7;14797:12;;:16;;:25;;;;:::i;:::-;14782:12;:40;;;;14849:26;14867:7;14849:8;:13;14858:3;14849:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;14833:8;:13;14842:3;14833:13;;;;;;;;;;;;;;;:42;;;;14914:33;14939:7;14914:20;:24;;:33;;;;:::i;:::-;14886:13;:25;14900:10;14886:25;;;;;;;;;;;;;;;:61;;;;14980:3;14963:30;;14968:10;14963:30;;;14985:7;14963:30;;;;;;;;;;;;;;;;;;15030:3;15009:34;;15026:1;15009:34;;;15035:7;15009:34;;;;;;;;;;;;;;;;;;15061:4;15054:11;;;8847:1;14429;14446:627;;;;:::o;17585:420::-;12108:7;;;;;;;;;;;12107:8;12099:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14413:4;14390:27;;:7;:19;14398:10;14390:19;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;14382:36;;;;;;17657:10;8830:5;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;17687:15;17705:8;:20;17714:10;17705:20;;;;;;;;;;;;;;;;17687:38;;17754:1;17744:7;:11;17736:20;;;;;;17786:7;17775;:18;;17767:27;;;;;;17820:25;17837:7;17820:12;;:16;;:25;;;;:::i;:::-;17805:12;:40;;;;17879:20;17891:7;17879;:11;;:20;;;;:::i;:::-;17856:8;:20;17865:10;17856:20;;;;;;;;;;;;;;;:43;;;;17920:10;17915:25;;;17932:7;17915:25;;;;;;;;;;;;;;;;;;17985:1;17956:41;;17965:10;17956:41;;;17989:7;17956:41;;;;;;;;;;;;;;;;;;8847:1;14429;17585:420;:::o;10997:109::-;11053:4;11077:21;11090:7;11077:8;:12;;:21;;;;:::i;:::-;11070:28;;10997:109;;;:::o;17054:301::-;17171:4;12108:7;;;;;;;;;;;12107:8;12099:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15142:12;;;;;;;;;;;15128:26;;:10;:26;;;15120:35;;;;;;17206:4;17188:7;:15;17196:6;17188:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;17245:19;17221:13;:21;17235:6;17221:21;;;;;;;;;;;;;;;:43;;;;17297:6;17280:45;;;17305:19;17280:45;;;;;;;;;;;;;;;;;;17343:4;17336:11;;17054:301;;;;:::o;11977:78::-;12016:4;12040:7;;;;;;;;;;;12033:14;;11977:78;:::o;11214:79::-;11258:27;11272:12;:10;:12::i;:::-;11258:13;:27::i;:::-;11214:79::o;15658:109::-;15715:7;15742:8;:17;15751:7;15742:17;;;;;;;;;;;;;;;;15735:24;;15658:109;;;:::o;7653:140::-;7477:9;:7;:9::i;:::-;7469:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7752:1;7715:40;;7736:6;;;;;;;;;;;7715:40;;;;;;;;;;;;7783:1;7766:6;;:19;;;;;;;;;;;;;;;;;;7653:140::o;11114:92::-;10894:22;10903:12;:10;:12::i;:::-;10894:8;:22::i;:::-;10886:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11179:19;11190:7;11179:10;:19::i;:::-;11114:92;:::o;12265:118::-;10894:22;10903:12;:10;:12::i;:::-;10894:8;:22::i;:::-;10886:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12108:7;;;;;;;;;;;12107:8;12099:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12335:4;12325:7;;:14;;;;;;;;;;;;;;;;;;12355:20;12362:12;:10;:12::i;:::-;12355:20;;;;;;;;;;;;;;;;;;;;;;12265:118::o;15183:::-;15245:7;15272:13;:21;15286:6;15272:21;;;;;;;;;;;;;;;;15265:28;;15183:118;;;:::o;7350:79::-;7388:7;7415:6;;;;;;;;;;;7408:13;;7350:79;:::o;7551:94::-;7591:4;7631:6;;;;;;;;;;;7615:22;;:12;:10;:12::i;:::-;:22;;;7608:29;;7551:94;:::o;12826:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12944:21::-;;;;;;;;;;;;;:::o;4828:261::-;4913:4;4930:129;4939:12;:10;:12::i;:::-;4953:7;4962:96;5001:15;4962:96;;;;;;;;;;;;;;;;;:11;:25;4974:12;:10;:12::i;:::-;4962:25;;;;;;;;;;;;;;;:34;4988:7;4962:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4930:8;:129::i;:::-;5077:4;5070:11;;4828:261;;;;:::o;16632:414::-;16756:4;12108:7;;;;;;;;;;;12107:8;12099:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16708:10;8830:5;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;16735:3;8830:5;8805:30;;:11;:21;8817:8;8805:21;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;8797:39;;;;;;16796:1;16781:17;;:3;:17;;;;16773:26;;;;;;16828:8;:20;16837:10;16828:20;;;;;;;;;;;;;;;;16818:6;:30;;16810:39;;;;;;16883:32;16908:6;16883:8;:20;16892:10;16883:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;16860:8;:20;16869:10;16860:20;;;;;;;;;;;;;;;:55;;;;16942:25;16960:6;16942:8;:13;16951:3;16942:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;16926:8;:13;16935:3;16926:13;;;;;;;;;;;;;;;:41;;;;17004:3;16983:33;;16992:10;16983:33;;;17009:6;16983:33;;;;;;;;;;;;;;;;;;17034:4;17027:11;;8847:1;12147;16632:414;;;;:::o;18013:220::-;7477:9;:7;:9::i;:::-;7469:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18131:1;18103:30;;:16;:30;;;;18095:39;;;;;;18160:16;18145:12;;:31;;;;;;;;;;;;;;;;;;18212:12;;;;;;;;;;;18192:33;;;;;;;;;;;;18013:220;:::o;15309:104::-;15365:4;15389:7;:16;15397:7;15389:16;;;;;;;;;;;;;;;;;;;;;;;;;15382:23;;15309:104;;;:::o;9296:213::-;7477:9;:7;:9::i;:::-;7469:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9411:1;9384:29;;:15;:29;;;;9376:38;;;;;;9439:15;9425:11;;:29;;;;;;;;;;;;;;;;;;9489:11;;;;;;;;;;;9470:31;;;;;;;;;;;;9296:213;:::o;8392:26::-;;;;;;;;;;;;;:::o;15421:130::-;15493:7;15520;:14;15528:5;15520:14;;;;;;;;;;;;;;;:23;15535:7;15520:23;;;;;;;;;;;;;;;;15513:30;;15421:130;;;;:::o;12881:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7801:109::-;7477:9;:7;:9::i;:::-;7469:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7874:28;7893:8;7874:18;:28::i;:::-;7801:109;:::o;8987:144::-;8704:11;;;;;;;;;;;8690:25;;:10;:25;;;8682:34;;;;;;9082:4;9058:11;:21;9070:8;9058:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;9114:8;9102:21;;;;;;;;;;;;8987:144;:::o;8864:115::-;8926:4;8950:11;:21;8962:8;8950:21;;;;;;;;;;;;;;;;;;;;;;;;;8943:28;;8864:115;;;:::o;783:136::-;841:7;868:43;872:1;875;868:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;861:50;;783:136;;;;:::o;596:179::-;654:7;674:9;690:1;686;:5;674:17;;715:1;710;:6;;702:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:1;759:8;;;596:179;;;;:::o;2965:98::-;3010:15;3045:10;3038:17;;2965:98;:::o;6248:338::-;6359:1;6342:19;;:5;:19;;;;6334:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6440:1;6421:21;;:7;:21;;;;6413:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6524:6;6494:11;:18;6506:5;6494:18;;;;;;;;;;;;;;;:27;6513:7;6494:27;;;;;;;;;;;;;;;:36;;;;6562:7;6546:32;;6555:5;6546:32;;;6571:6;6546:32;;;;;;;;;;;;;;;;;;6248:338;;;:::o;10171:203::-;10243:4;10287:1;10268:21;;:7;:21;;;;10260:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10346:4;:11;;:20;10358:7;10346:20;;;;;;;;;;;;;;;;;;;;;;;;;10339:27;;10171:203;;;;:::o;11431:130::-;11491:24;11507:7;11491:8;:15;;:24;;;;:::i;:::-;11545:7;11531:22;;;;;;;;;;;;11431:130;:::o;11301:122::-;11358:21;11371:7;11358:8;:12;;:21;;;;:::i;:::-;11407:7;11395:20;;;;;;;;;;;;11301:122;:::o;927:190::-;1013:7;1046:1;1041;:6;;1049:12;1033:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1033:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1073:9;1089:1;1085;:5;1073:17;;1108:1;1101:8;;;927:190;;;;;:::o;7918:229::-;8012:1;7992:22;;:8;:22;;;;7984:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8102:8;8073:38;;8094:6;;;;;;;;;;;8073:38;;;;;;;;;;;;8131:8;8122:6;;:17;;;;;;;;;;;;;;;;;;7918:229;:::o;9980:183::-;10060:18;10064:4;10070:7;10060:3;:18::i;:::-;10052:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10150:5;10127:4;:11;;:20;10139:7;10127:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;9980:183;;:::o;9794:178::-;9872:18;9876:4;9882:7;9872:3;:18::i;:::-;9871:19;9863:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9960:4;9937;:11;;:20;9949:7;9937:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;9794:178;;:::o;12704:5532::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://71f7acc79cd2b7fb64455b7b6b27e66df8bae30c9552740a0f88165912da7771
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.