ETH Price: $3,414.60 (+1.23%)

Token

Eminence AAVE (eAAVE)
 

Overview

Max Total Supply

388,736.170558256893489442 eAAVE

Holders

143

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
41.011191952560016685 eAAVE

Value
$0.00
0xA46b08e0c5F841305FdCC02578C94BCCEE5951b1
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xd77c2Ab1...22a9eE175
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
EminenceCurrency

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-09-28
*/

pragma solidity ^0.5.17;

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

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

        return c;
    }
    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }
    function mul(uint a, uint b) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

contract ERC20 is IERC20 {
    using SafeMath for uint;

    mapping (address => uint) private _balances;

    mapping (address => mapping (address => uint)) private _allowances;

    uint private _totalSupply;
    function totalSupply() public view returns (uint) {
        return _totalSupply;
    }
    function balanceOf(address account) public view returns (uint) {
        return _balances[account];
    }
    function transfer(address recipient, uint amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view returns (uint) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function increaseAllowance(address spender, uint addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
    function _transfer(address sender, address recipient, uint 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, uint 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, uint 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, uint 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);
    }
}

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }
    function name() public view returns (string memory) {
        return _name;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

interface BondingCurve {
    function calculatePurchaseReturn(uint _supply,  uint _reserveBalance, uint32 _reserveRatio, uint _depositAmount) external view returns (uint);
    function calculateSaleReturn(uint _supply, uint _reserveBalance, uint32 _reserveRatio, uint _sellAmount) external view returns (uint);
}

contract ContinuousToken is ERC20 {
    using SafeMath for uint;

    uint public scale = 10**18;
    uint public reserveBalance = 1*10**15;
    uint32 public reserveRatio;
    
    BondingCurve constant public CURVE = BondingCurve(0x16F6664c16beDE5d70818654dEfef11769D40983);

    function _buy(uint _amount) internal returns (uint _bought) {
        _bought = _continuousMint(_amount);
    }

    function _sell(uint _amount) internal returns (uint _sold) {
        _sold = _continuousBurn(_amount);
    }

    function calculateContinuousMintReturn(uint _amount) public view returns (uint mintAmount) {
        return CURVE.calculatePurchaseReturn(totalSupply(), reserveBalance, uint32(reserveRatio), _amount);
    }

    function calculateContinuousBurnReturn(uint _amount) public view returns (uint burnAmount) {
        return CURVE.calculateSaleReturn(totalSupply(), reserveBalance, uint32(reserveRatio), _amount);
    }

    function _continuousMint(uint _deposit) internal returns (uint) {
        uint amount = calculateContinuousMintReturn(_deposit);
        reserveBalance = reserveBalance.add(_deposit);
        return amount;
    }

    function _continuousBurn(uint _amount) internal returns (uint) {
        uint reimburseAmount = calculateContinuousBurnReturn(_amount);
        reserveBalance = reserveBalance.sub(reimburseAmount);
        return reimburseAmount;
    }
}

contract EminenceCurrency is ContinuousToken, ERC20Detailed {
    mapping(address => bool) public gamemasters;
    mapping(address => bool) public npcs;
    
    event AddGM(address indexed newGM, address indexed gm);
    event RevokeGM(address indexed newGM, address indexed gm);
    event AddNPC(address indexed newNPC, address indexed gm);
    event RevokeNPC(address indexed newNPC, address indexed gm);
    event CashShopBuy(address _from, uint  _amount, uint _deposit);
    event CashShopSell(address _from, uint  _amount, uint _reimbursement);
    
    EminenceCurrency constant public EMN = EminenceCurrency(0x5ade7aE8660293F2ebfcEfaba91d141d72d221e8);
    
    constructor (string memory name, string memory symbol, uint32 _reserveRatio) public ERC20Detailed(name, symbol, 18) {
        gamemasters[msg.sender] = true;
        EMN.addGM(address(this));
        reserveRatio = _reserveRatio;
        _mint(msg.sender, 1*scale);
    }
    function addNPC(address _npc) external {
        require(gamemasters[msg.sender], "!gm");
        npcs[_npc] = true;
        emit AddNPC(_npc, msg.sender);
    }
    function revokeNPC(address _npc) external {
        require(gamemasters[msg.sender], "!gm");
        npcs[_npc] = false;
        emit RevokeNPC(_npc, msg.sender);
    }
    function addGM(address _gm) external {
        require(gamemasters[msg.sender]||gamemasters[tx.origin], "!gm");
        gamemasters[_gm] = true;
        emit AddGM(_gm, msg.sender);
    }
    function revokeGM(address _gm) external {
        require(gamemasters[msg.sender], "!gm");
        gamemasters[_gm] = false;
        emit RevokeGM(_gm, msg.sender);
    }
    function award(address _to, uint _amount) external {
        require(gamemasters[msg.sender], "!gm");
        _mint(_to, _amount);
    }
    function claim(address _from, uint _amount) external {
        require(gamemasters[msg.sender]||npcs[msg.sender], "!gm");
        _burn(_from, _amount);
    }
    function buy(uint _amount, uint _min) external returns (uint _bought) {
        _bought = _buy(_amount);
        require(_bought >= _min, "slippage");
        EMN.claim(msg.sender, _amount);
        _mint(msg.sender, _bought);
        emit CashShopBuy(msg.sender, _bought, _amount);
    }
    function sell(uint _amount, uint _min) external returns (uint _bought) {
        _bought = _sell(_amount);
        require(_bought >= _min, "slippage");
        _burn(msg.sender, _amount);
        EMN.award(msg.sender, _bought);
        emit CashShopSell(msg.sender, _amount, _bought);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint32","name":"_reserveRatio","type":"uint32"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGM","type":"address"},{"indexed":true,"internalType":"address","name":"gm","type":"address"}],"name":"AddGM","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newNPC","type":"address"},{"indexed":true,"internalType":"address","name":"gm","type":"address"}],"name":"AddNPC","type":"event"},{"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":false,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_deposit","type":"uint256"}],"name":"CashShopBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_reimbursement","type":"uint256"}],"name":"CashShopSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGM","type":"address"},{"indexed":true,"internalType":"address","name":"gm","type":"address"}],"name":"RevokeGM","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newNPC","type":"address"},{"indexed":true,"internalType":"address","name":"gm","type":"address"}],"name":"RevokeNPC","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"},{"constant":true,"inputs":[],"name":"CURVE","outputs":[{"internalType":"contract BondingCurve","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"EMN","outputs":[{"internalType":"contract EminenceCurrency","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_gm","type":"address"}],"name":"addGM","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_npc","type":"address"}],"name":"addNPC","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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"award","outputs":[],"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":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_min","type":"uint256"}],"name":"buy","outputs":[{"internalType":"uint256","name":"_bought","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"calculateContinuousBurnReturn","outputs":[{"internalType":"uint256","name":"burnAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"calculateContinuousMintReturn","outputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"gamemasters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"npcs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserveBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserveRatio","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_gm","type":"address"}],"name":"revokeGM","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_npc","type":"address"}],"name":"revokeNPC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"scale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_min","type":"uint256"}],"name":"sell","outputs":[{"internalType":"uint256","name":"_bought","type":"uint256"}],"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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6080604052670de0b6b3a764000060035566038d7ea4c680006004553480156200002857600080fd5b5060405162002f2838038062002f28833981810160405260608110156200004e57600080fd5b81019080805160405193929190846401000000008211156200006f57600080fd5b838201915060208201858111156200008657600080fd5b8251866001820283011164010000000082111715620000a457600080fd5b8083526020830192505050908051906020019080838360005b83811015620000da578082015181840152602081019050620000bd565b50505050905090810190601f168015620001085780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012c57600080fd5b838201915060208201858111156200014357600080fd5b82518660018202830111640100000000821117156200016157600080fd5b8083526020830192505050908051906020019080838360005b83811015620001975780820151818401526020810190506200017a565b50505050905090810190601f168015620001c55780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050828260128260069080519060200190620001f5929190620005c6565b5081600790805190602001906200020e929190620005c6565b5080600860006101000a81548160ff021916908360ff1602179055505050506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550735ade7ae8660293f2ebfcefaba91d141d72d221e873ffffffffffffffffffffffffffffffffffffffff166312d8d1a9306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200031957600080fd5b505af11580156200032e573d6000803e3d6000fd5b5050505080600560006101000a81548163ffffffff021916908363ffffffff1602179055506200036a336003546001026200037360201b60201c565b50505062000675565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b62000433816002546200053d60201b6200225d1790919060201c565b60028190555062000491816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200053d60201b6200225d1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080828401905083811015620005bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200060957805160ff19168380011785556200063a565b828001600101855582156200063a579182015b82811115620006395782518255916020019190600101906200061c565b5b5090506200064991906200064d565b5090565b6200067291905b808211156200066e57600081600090555060010162000654565b5090565b90565b6128a380620006856000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063872190a3116100f9578063aad3ec9611610097578063d6febde811610071578063d6febde81461094b578063d79875eb14610997578063dd62ed3e146109e3578063f51e181a14610a5b576101c4565b8063aad3ec961461086f578063b08dcc8d146108bd578063c86c9d5a14610907576101c4565b806395d89b41116100d357806395d89b4114610702578063a10954fe14610785578063a457c2d7146107a3578063a9059cbb14610809576101c4565b8063872190a31461062057806390f0c2ea1461067c57806394dcc240146106be576101c4565b8063313ce567116101665780635d8a776e116101405780635d8a776e146104da5780635e37f3ea1461052857806370a082311461056c5780637929f63a146105c4576101c4565b8063313ce56714610406578063395093511461042a5780633a3c3b8714610490576101c4565b806312d8d1a9116101a257806312d8d1a9146102dc57806318160ddd1461032057806323b872dd1461033e57806328c3d701146103c4576101c4565b806306fdde03146101c9578063095ea7b31461024c5780630c7d5cd8146102b2575b600080fd5b6101d1610a79565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102986004803603604081101561026257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b1b565b604051808215151515815260200191505060405180910390f35b6102ba610b32565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b61031e600480360360208110156102f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b48565b005b610328610d10565b6040518082815260200191505060405180910390f35b6103aa6004803603606081101561035457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d1a565b604051808215151515815260200191505060405180910390f35b6103f0600480360360208110156103da57600080fd5b8101908080359060200190929190505050610de5565b6040518082815260200191505060405180910390f35b61040e610ecd565b604051808260ff1660ff16815260200191505060405180910390f35b6104766004803603604081101561044057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee4565b604051808215151515815260200191505060405180910390f35b610498610f89565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610526600480360360408110156104f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fa1565b005b61056a6004803603602081101561053e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061106e565b005b6105ae6004803603602081101561058257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111e2565b6040518082815260200191505060405180910390f35b610606600480360360208110156105da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061122a565b604051808215151515815260200191505060405180910390f35b6106626004803603602081101561063657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061124a565b604051808215151515815260200191505060405180910390f35b6106a86004803603602081101561069257600080fd5b810190808035906020019092919050505061126a565b6040518082815260200191505060405180910390f35b610700600480360360208110156106d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611352565b005b61070a6114c6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074a57808201518184015260208101905061072f565b50505050905090810190601f1680156107775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61078d611568565b6040518082815260200191505060405180910390f35b6107ef600480360360408110156107b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061156e565b604051808215151515815260200191505060405180910390f35b6108556004803603604081101561081f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061162d565b604051808215151515815260200191505060405180910390f35b6108bb6004803603604081101561088557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611644565b005b6108c5611765565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109496004803603602081101561091d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061177d565b005b6109816004803603604081101561096157600080fd5b8101908080359060200190929190803590602001909291905050506118f1565b6040518082815260200191505060405180910390f35b6109cd600480360360408110156109ad57600080fd5b810190808035906020019092919080359060200190929190505050611aaa565b6040518082815260200191505060405180910390f35b610a45600480360360408110156109f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c63565b6040518082815260200191505060405180910390f35b610a63611cea565b6040518082815260200191505060405180910390f35b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b5050505050905090565b6000610b28338484611cf0565b6001905092915050565b600560009054906101000a900463ffffffff1681565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610be95750600960003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f42b306dfe8460246dbfcab2777e43789ac1b9e30ac4542927a5bb3ab2348295e60405160405180910390a350565b6000600254905090565b6000610d27848484611ee7565b610dda8433610dd5856040518060600160405280602881526020016127b860289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b611cf0565b600190509392505050565b60007316f6664c16bede5d70818654defef11769d4098373ffffffffffffffffffffffffffffffffffffffff166329a00e7c610e1f610d10565b600454600560009054906101000a900463ffffffff16866040518563ffffffff1660e01b8152600401808581526020018481526020018363ffffffff1663ffffffff16815260200182815260200194505050505060206040518083038186803b158015610e8b57600080fd5b505afa158015610e9f573d6000803e3d6000fd5b505050506040513d6020811015610eb557600080fd5b81019080805190602001909291905050509050919050565b6000600860009054906101000a900460ff16905090565b6000610f7f3384610f7a85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225d90919063ffffffff16565b611cf0565b6001905092915050565b7316f6664c16bede5d70818654defef11769d4098381565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611060576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61106a82826122e5565b5050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661112d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f9cc4e68910890d03f9b16e468c11e5670536dd9a90e559f78d0df1f84dff54f060405160405180910390a350565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b60007316f6664c16bede5d70818654defef11769d4098373ffffffffffffffffffffffffffffffffffffffff166349f9b0f76112a4610d10565b600454600560009054906101000a900463ffffffff16866040518563ffffffff1660e01b8152600401808581526020018481526020018363ffffffff1663ffffffff16815260200182815260200194505050505060206040518083038186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d602081101561133a57600080fd5b81019080805190602001909291905050509050919050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611411576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f338249dec2559f25b4c55904dda7067d7fab90077e7e305d52affe95f5906c3e60405160405180910390a350565b606060078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561155e5780601f106115335761010080835404028352916020019161155e565b820191906000526020600020905b81548152906001019060200180831161154157829003601f168201915b5050505050905090565b60045481565b6000611623338461161e8560405180606001604052806025815260200161284a60259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b611cf0565b6001905092915050565b600061163a338484611ee7565b6001905092915050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116e55750600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611757576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61176182826124a0565b5050565b735ade7ae8660293f2ebfcefaba91d141d72d221e881565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661183c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f65125efe0ba3c92516fd5a7e2eb69a5ed59e70c32955a59bd48bb733a361e9eb60405160405180910390a350565b60006118fc83612658565b905081811015611974576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f736c69707061676500000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b735ade7ae8660293f2ebfcefaba91d141d72d221e873ffffffffffffffffffffffffffffffffffffffff1663aad3ec9633856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611a0f57600080fd5b505af1158015611a23573d6000803e3d6000fd5b50505050611a3133826122e5565b7f787ff342b495627ef4bb309cac82202a5d41f8521d7e20511f5363d89266a0ce338285604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a192915050565b6000611ab58361266a565b905081811015611b2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f736c69707061676500000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b611b3733846124a0565b735ade7ae8660293f2ebfcefaba91d141d72d221e873ffffffffffffffffffffffffffffffffffffffff16635d8a776e33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611bd257600080fd5b505af1158015611be6573d6000803e3d6000fd5b505050507f85fb40c9589fe377347e3f2550de0e3479d51a82468fffb7e9eec5e3acd12f5f338483604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a192915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60035481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806128266024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611dfc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127706022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806128016025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ff3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061272b6023913960400191505060405180910390fd5b61205e81604051806060016040528060268152602001612792602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600083831115829061224a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561220f5780820151818401526020810190506121f4565b50505050905090810190601f16801561223c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156122db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61239d8160025461225d90919063ffffffff16565b6002819055506123f4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612526576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806127e06021913960400191505060405180910390fd5b6125918160405180606001604052806022815260200161274e602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125e88160025461267c90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000612663826126c6565b9050919050565b6000612675826126f8565b9050919050565b60006126be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061219d565b905092915050565b6000806126d283610de5565b90506126e98360045461225d90919063ffffffff16565b60048190555080915050919050565b6000806127048361126a565b905061271b8160045461267c90919063ffffffff16565b6004819055508091505091905056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158209ebdb1d39e8674724c8a6b16ea1a11c6909de3eb04ee6985c18b2de7087fd95164736f6c63430005110032000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000007a120000000000000000000000000000000000000000000000000000000000000000c456d696e656e636520534e580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000465534e5800000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063872190a3116100f9578063aad3ec9611610097578063d6febde811610071578063d6febde81461094b578063d79875eb14610997578063dd62ed3e146109e3578063f51e181a14610a5b576101c4565b8063aad3ec961461086f578063b08dcc8d146108bd578063c86c9d5a14610907576101c4565b806395d89b41116100d357806395d89b4114610702578063a10954fe14610785578063a457c2d7146107a3578063a9059cbb14610809576101c4565b8063872190a31461062057806390f0c2ea1461067c57806394dcc240146106be576101c4565b8063313ce567116101665780635d8a776e116101405780635d8a776e146104da5780635e37f3ea1461052857806370a082311461056c5780637929f63a146105c4576101c4565b8063313ce56714610406578063395093511461042a5780633a3c3b8714610490576101c4565b806312d8d1a9116101a257806312d8d1a9146102dc57806318160ddd1461032057806323b872dd1461033e57806328c3d701146103c4576101c4565b806306fdde03146101c9578063095ea7b31461024c5780630c7d5cd8146102b2575b600080fd5b6101d1610a79565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102986004803603604081101561026257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b1b565b604051808215151515815260200191505060405180910390f35b6102ba610b32565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b61031e600480360360208110156102f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b48565b005b610328610d10565b6040518082815260200191505060405180910390f35b6103aa6004803603606081101561035457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d1a565b604051808215151515815260200191505060405180910390f35b6103f0600480360360208110156103da57600080fd5b8101908080359060200190929190505050610de5565b6040518082815260200191505060405180910390f35b61040e610ecd565b604051808260ff1660ff16815260200191505060405180910390f35b6104766004803603604081101561044057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee4565b604051808215151515815260200191505060405180910390f35b610498610f89565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610526600480360360408110156104f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fa1565b005b61056a6004803603602081101561053e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061106e565b005b6105ae6004803603602081101561058257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111e2565b6040518082815260200191505060405180910390f35b610606600480360360208110156105da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061122a565b604051808215151515815260200191505060405180910390f35b6106626004803603602081101561063657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061124a565b604051808215151515815260200191505060405180910390f35b6106a86004803603602081101561069257600080fd5b810190808035906020019092919050505061126a565b6040518082815260200191505060405180910390f35b610700600480360360208110156106d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611352565b005b61070a6114c6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074a57808201518184015260208101905061072f565b50505050905090810190601f1680156107775780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61078d611568565b6040518082815260200191505060405180910390f35b6107ef600480360360408110156107b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061156e565b604051808215151515815260200191505060405180910390f35b6108556004803603604081101561081f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061162d565b604051808215151515815260200191505060405180910390f35b6108bb6004803603604081101561088557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611644565b005b6108c5611765565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109496004803603602081101561091d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061177d565b005b6109816004803603604081101561096157600080fd5b8101908080359060200190929190803590602001909291905050506118f1565b6040518082815260200191505060405180910390f35b6109cd600480360360408110156109ad57600080fd5b810190808035906020019092919080359060200190929190505050611aaa565b6040518082815260200191505060405180910390f35b610a45600480360360408110156109f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c63565b6040518082815260200191505060405180910390f35b610a63611cea565b6040518082815260200191505060405180910390f35b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b5050505050905090565b6000610b28338484611cf0565b6001905092915050565b600560009054906101000a900463ffffffff1681565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610be95750600960003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f42b306dfe8460246dbfcab2777e43789ac1b9e30ac4542927a5bb3ab2348295e60405160405180910390a350565b6000600254905090565b6000610d27848484611ee7565b610dda8433610dd5856040518060600160405280602881526020016127b860289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b611cf0565b600190509392505050565b60007316f6664c16bede5d70818654defef11769d4098373ffffffffffffffffffffffffffffffffffffffff166329a00e7c610e1f610d10565b600454600560009054906101000a900463ffffffff16866040518563ffffffff1660e01b8152600401808581526020018481526020018363ffffffff1663ffffffff16815260200182815260200194505050505060206040518083038186803b158015610e8b57600080fd5b505afa158015610e9f573d6000803e3d6000fd5b505050506040513d6020811015610eb557600080fd5b81019080805190602001909291905050509050919050565b6000600860009054906101000a900460ff16905090565b6000610f7f3384610f7a85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225d90919063ffffffff16565b611cf0565b6001905092915050565b7316f6664c16bede5d70818654defef11769d4098381565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611060576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61106a82826122e5565b5050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661112d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f9cc4e68910890d03f9b16e468c11e5670536dd9a90e559f78d0df1f84dff54f060405160405180910390a350565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b60007316f6664c16bede5d70818654defef11769d4098373ffffffffffffffffffffffffffffffffffffffff166349f9b0f76112a4610d10565b600454600560009054906101000a900463ffffffff16866040518563ffffffff1660e01b8152600401808581526020018481526020018363ffffffff1663ffffffff16815260200182815260200194505050505060206040518083038186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d602081101561133a57600080fd5b81019080805190602001909291905050509050919050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611411576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f338249dec2559f25b4c55904dda7067d7fab90077e7e305d52affe95f5906c3e60405160405180910390a350565b606060078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561155e5780601f106115335761010080835404028352916020019161155e565b820191906000526020600020905b81548152906001019060200180831161154157829003601f168201915b5050505050905090565b60045481565b6000611623338461161e8560405180606001604052806025815260200161284a60259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b611cf0565b6001905092915050565b600061163a338484611ee7565b6001905092915050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116e55750600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611757576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61176182826124a0565b5050565b735ade7ae8660293f2ebfcefaba91d141d72d221e881565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661183c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260038152602001807f21676d000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f65125efe0ba3c92516fd5a7e2eb69a5ed59e70c32955a59bd48bb733a361e9eb60405160405180910390a350565b60006118fc83612658565b905081811015611974576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f736c69707061676500000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b735ade7ae8660293f2ebfcefaba91d141d72d221e873ffffffffffffffffffffffffffffffffffffffff1663aad3ec9633856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611a0f57600080fd5b505af1158015611a23573d6000803e3d6000fd5b50505050611a3133826122e5565b7f787ff342b495627ef4bb309cac82202a5d41f8521d7e20511f5363d89266a0ce338285604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a192915050565b6000611ab58361266a565b905081811015611b2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f736c69707061676500000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b611b3733846124a0565b735ade7ae8660293f2ebfcefaba91d141d72d221e873ffffffffffffffffffffffffffffffffffffffff16635d8a776e33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611bd257600080fd5b505af1158015611be6573d6000803e3d6000fd5b505050507f85fb40c9589fe377347e3f2550de0e3479d51a82468fffb7e9eec5e3acd12f5f338483604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a192915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60035481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806128266024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611dfc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806127706022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806128016025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ff3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061272b6023913960400191505060405180910390fd5b61205e81604051806060016040528060268152602001612792602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600083831115829061224a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561220f5780820151818401526020810190506121f4565b50505050905090810190601f16801561223c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156122db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61239d8160025461225d90919063ffffffff16565b6002819055506123f4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612526576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806127e06021913960400191505060405180910390fd5b6125918160405180606001604052806022815260200161274e602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219d9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125e88160025461267c90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000612663826126c6565b9050919050565b6000612675826126f8565b9050919050565b60006126be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061219d565b905092915050565b6000806126d283610de5565b90506126e98360045461225d90919063ffffffff16565b60048190555080915050919050565b6000806127048361126a565b905061271b8160045461267c90919063ffffffff16565b6004819055508091505091905056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158209ebdb1d39e8674724c8a6b16ea1a11c6909de3eb04ee6985c18b2de7087fd95164736f6c63430005110032

Deployed Bytecode Sourcemap

7274:2603:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7274:2603:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5255:83;;;:::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;5255:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2551:147;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2551:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5996:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8588:191;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8588:191:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2048:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2704:297;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2704:297:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6376:208;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6376:208:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5437:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3007:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3007:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6035:93;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8965:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8965:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8410:172;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8410:172:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2142:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2142:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7391:36;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7391:36:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7341:43;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7341:43:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6592:204;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6592:204:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8239:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8239:165:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5344:87;;;:::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;5344:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3216:254;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3216:254:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2255:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2255:153:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9110:161;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9110:161:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7845:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8785:174;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8785:174:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9277:294;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9277:294:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9577:297;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9577:297:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2414:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2414:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5919:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5255:83;5292:13;5325:5;5318:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5255:83;:::o;2551:147::-;2614:4;2631:37;2640:10;2652:7;2661:6;2631:8;:37::i;:::-;2686:4;2679:11;;2551:147;;;;:::o;5996:26::-;;;;;;;;;;;;;:::o;8588:191::-;8644:11;:23;8656:10;8644:23;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;8669:11;:22;8681:9;8669:22;;;;;;;;;;;;;;;;;;;;;;;;;8644:47;8636:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8729:4;8710:11;:16;8722:3;8710:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;8760:10;8749:22;;8755:3;8749:22;;;;;;;;;;;;8588:191;:::o;2048:88::-;2092:4;2116:12;;2109:19;;2048:88;:::o;2704:297::-;2790:4;2807:36;2817:6;2825:9;2836:6;2807:9;:36::i;:::-;2854:117;2863:6;2871:10;2883:87;2919:6;2883:87;;;;;;;;;;;;;;;;;:11;:19;2895:6;2883:19;;;;;;;;;;;;;;;:31;2903:10;2883:31;;;;;;;;;;;;;;;;:35;;:87;;;;;:::i;:::-;2854:8;:117::i;:::-;2989:4;2982:11;;2704:297;;;;;:::o;6376:208::-;6450:15;6085:42;6485:29;;;6515:13;:11;:13::i;:::-;6530:14;;6553:12;;;;;;;;;;;6568:7;6485:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6485:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6485:91:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6485:91:0;;;;;;;;;;;;;;;;6478:98;;6376:208;;;:::o;5437:83::-;5478:5;5503:9;;;;;;;;;;;5496:16;;5437:83;:::o;3007:203::-;3084:4;3101:79;3110:10;3122:7;3131:48;3168:10;3131:11;:23;3143:10;3131:23;;;;;;;;;;;;;;;:32;3155:7;3131:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;3101:8;:79::i;:::-;3198:4;3191:11;;3007:203;;;;:::o;6035:93::-;6085:42;6035:93;:::o;8965:139::-;9035:11;:23;9047:10;9035:23;;;;;;;;;;;;;;;;;;;;;;;;;9027:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9077:19;9083:3;9088:7;9077:5;:19::i;:::-;8965:139;;:::o;8410:172::-;8471:11;:23;8483:10;8471:23;;;;;;;;;;;;;;;;;;;;;;;;;8463:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8526:5;8513:4;:10;8518:4;8513:10;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;8563:10;8547:27;;8557:4;8547:27;;;;;;;;;;;;8410:172;:::o;2142:107::-;2199:4;2223:9;:18;2233:7;2223:18;;;;;;;;;;;;;;;;2216:25;;2142:107;;;:::o;7391:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;7341:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;6592:204::-;6666:15;6085:42;6701:25;;;6727:13;:11;:13::i;:::-;6742:14;;6765:12;;;;;;;;;;;6780:7;6701:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6701:87:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6701:87:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6701:87:0;;;;;;;;;;;;;;;;6694:94;;6592:204;;;:::o;8239:165::-;8297:11;:23;8309:10;8297:23;;;;;;;;;;;;;;;;;;;;;;;;;8289:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8352:4;8339;:10;8344:4;8339:10;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;8385:10;8372:24;;8379:4;8372:24;;;;;;;;;;;;8239:165;:::o;5344:87::-;5383:13;5416:7;5409:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5344:87;:::o;5952:37::-;;;;:::o;3216:254::-;3298:4;3315:125;3324:10;3336:7;3345:94;3382:15;3345:94;;;;;;;;;;;;;;;;;:11;:23;3357:10;3345:23;;;;;;;;;;;;;;;:32;3369:7;3345:32;;;;;;;;;;;;;;;;:36;;:94;;;;;:::i;:::-;3315:8;:125::i;:::-;3458:4;3451:11;;3216:254;;;;:::o;2255:153::-;2321:4;2338:40;2348:10;2360:9;2371:6;2338:9;:40::i;:::-;2396:4;2389:11;;2255:153;;;;:::o;9110:161::-;9182:11;:23;9194:10;9182:23;;;;;;;;;;;;;;;;;;;;;;;;;:41;;;;9207:4;:16;9212:10;9207:16;;;;;;;;;;;;;;;;;;;;;;;;;9182:41;9174:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9242:21;9248:5;9255:7;9242:5;:21::i;:::-;9110:161;;:::o;7845:99::-;7901:42;7845:99;:::o;8785:174::-;8844:11;:23;8856:10;8844:23;;;;;;;;;;;;;;;;;;;;;;;;;8836:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8905:5;8886:11;:16;8898:3;8886:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;8940:10;8926:25;;8935:3;8926:25;;;;;;;;;;;;8785:174;:::o;9277:294::-;9333:12;9368:13;9373:7;9368:4;:13::i;:::-;9358:23;;9411:4;9400:7;:15;;9392:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7901:42;9439:9;;;9449:10;9461:7;9439:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9439:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9439:30:0;;;;9480:26;9486:10;9498:7;9480:5;:26::i;:::-;9522:41;9534:10;9546:7;9555;9522:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9277:294;;;;:::o;9577:297::-;9634:12;9669:14;9675:7;9669:5;:14::i;:::-;9659:24;;9713:4;9702:7;:15;;9694:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9741:26;9747:10;9759:7;9741:5;:26::i;:::-;7901:42;9778:9;;;9788:10;9800:7;9778:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9778:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9778:30:0;;;;9824:42;9837:10;9849:7;9858;9824:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9577:297;;;;:::o;2414:131::-;2486:4;2510:11;:18;2522:5;2510:18;;;;;;;;;;;;;;;:27;2529:7;2510:27;;;;;;;;;;;;;;;;2503:34;;2414:131;;;;:::o;5919:26::-;;;;:::o;4612:335::-;4720:1;4703:19;;:5;:19;;;;4695:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4801:1;4782:21;;:7;:21;;;;4774:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4885:6;4855:11;:18;4867:5;4855:18;;;;;;;;;;;;;;;:27;4874:7;4855:27;;;;;;;;;;;;;;;:36;;;;4923:7;4907:32;;4916:5;4907:32;;;4932:6;4907:32;;;;;;;;;;;;;;;;;;4612:335;;;:::o;3476:468::-;3589:1;3571:20;;:6;:20;;;;3563:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3673:1;3652:23;;:9;:23;;;;3644:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3748;3770:6;3748:71;;;;;;;;;;;;;;;;;:9;:17;3758:6;3748:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;3728:9;:17;3738:6;3728:17;;;;;;;;;;;;;;;:91;;;;3853:32;3878:6;3853:9;:20;3863:9;3853:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3830:9;:20;3840:9;3830:20;;;;;;;;;;;;;;;:55;;;;3918:9;3901:35;;3910:6;3901:35;;;3929:6;3901:35;;;;;;;;;;;;;;;;;;3476:468;;;:::o;1013:180::-;1093:4;1123:1;1118;:6;;1126:12;1110: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;1110:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1150:6;1163:1;1159;:5;1150:14;;1184:1;1177:8;;;1013:180;;;;;:::o;705:169::-;757:4;774:6;787:1;783;:5;774:14;;812:1;807;:6;;799:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;865:1;858:8;;;705:169;;;;:::o;3950:305::-;4042:1;4023:21;;:7;:21;;;;4015:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:24;4125:6;4108:12;;:16;;:24;;;;:::i;:::-;4093:12;:39;;;;4164:30;4187:6;4164:9;:18;4174:7;4164:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;4143:9;:18;4153:7;4143:18;;;;;;;;;;;;;;;:51;;;;4231:7;4210:37;;4227:1;4210:37;;;4240:6;4210:37;;;;;;;;;;;;;;;;;;3950:305;;:::o;4261:345::-;4353:1;4334:21;;:7;:21;;;;4326:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4427:68;4450:6;4427:68;;;;;;;;;;;;;;;;;:9;:18;4437:7;4427:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;4406:9;:18;4416:7;4406:18;;;;;;;;;;;;;;;:89;;;;4521:24;4538:6;4521:12;;:16;;:24;;;;:::i;:::-;4506:12;:39;;;;4587:1;4561:37;;4570:7;4561:37;;;4591:6;4561:37;;;;;;;;;;;;;;;;;;4261:345;;:::o;6137:113::-;6183:12;6218:24;6234:7;6218:15;:24::i;:::-;6208:34;;6137:113;;;:::o;6258:110::-;6305:10;6336:24;6352:7;6336:15;:24::i;:::-;6328:32;;6258:110;;;:::o;880:127::-;932:4;956:43;960:1;963;956:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;949:50;;880:127;;;;:::o;6804:216::-;6862:4;6879:11;6893:39;6923:8;6893:29;:39::i;:::-;6879:53;;6960:28;6979:8;6960:14;;:18;;:28;;;;:::i;:::-;6943:14;:45;;;;7006:6;6999:13;;;6804:216;;;:::o;7028:239::-;7085:4;7102:20;7125:38;7155:7;7125:29;:38::i;:::-;7102:61;;7191:35;7210:15;7191:14;;:18;;:35;;;;:::i;:::-;7174:14;:52;;;;7244:15;7237:22;;;7028:239;;;:::o

Swarm Source

bzzr://9ebdb1d39e8674724c8a6b16ea1a11c6909de3eb04ee6985c18b2de7087fd951
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.