ETH Price: $3,275.06 (-3.97%)
Gas: 20 Gwei

Token

DegenerateDolphins (DOLPHIN)
 

Overview

Max Total Supply

95 DOLPHIN

Holders

37

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
Meta Aliens: Deployer
Balance
4 DOLPHIN
0x3a44081b0e6fd760157a7ac9e93ff0b88735c1c1
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
DegenerateDolphins

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-08-14
*/

pragma solidity 0.7.6;

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

interface IERC721 is IERC165 {
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    function balanceOf(address owner) external view returns (uint256 balance);
    function ownerOf(uint256 tokenId) external view returns (address owner);
    function safeTransferFrom(address from, address to, uint256 tokenId) external;
    function transferFrom(address from, address to, uint256 tokenId) external;
    function approve(address to, uint256 tokenId) external;
    function getApproved(uint256 tokenId) external view returns (address operator);
    function setApprovalForAll(address operator, bool _approved) external;
    function isApprovedForAll(address owner, address operator) external view returns (bool);
    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
}

interface ERC721TokenReceiver{
    function onERC721Received(address _operator, address _from, uint256 _tokenId, bytes calldata _data) external returns(bytes4);
}

library SafeMath {


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

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
	
        return a / b;
    }

    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 c) {
        c = a + b;
        require(c >= a);
        return c;
    }
}

contract DegenerateDolphins is IERC721 {

    using SafeMath for uint256;

    event Mint(uint indexed index, address indexed minter);

    bytes4 internal constant MAGIC_ON_ERC721_RECEIVED = 0x150b7a02;

    
    string public contentHash = "QmSoshmjbmM47fE5VsskKBFsMjpVhz1j33PfDentSVqbdN";


	uint public constant TOKEN_LIMIT = 3333;

    mapping(bytes4 => bool) internal supportedInterfaces;

    mapping (uint256 => address) internal idToOwner;

    mapping (uint256 => address) internal idToApproval;

    mapping (address => mapping (address => bool)) internal ownerToOperators;

    mapping(address => uint256[]) internal ownerToIds;

    mapping(uint256 => uint256) internal idToOwnerIndex;

    string internal nftName = "DegenerateDolphins";
    string internal nftSymbol = "DOLPHIN";

    uint internal numTokens = 0;

    address payable internal deployer;
    address payable internal beneficiary1;
    address payable internal beneficiary2;
	uint private price     = 20000000000000000;
	uint private pricehalf = 10000000000000000;
	uint public constant MAX_PURCHASE = 20;

    //// Random index assignment
    uint internal nonce = 0;
    uint[TOKEN_LIMIT] internal indices;

    modifier onlyDeployer() {
        require(msg.sender == deployer, "Only deployer.");
        _;
    }

    bool private reentrancyLock = false;

    modifier reentrancyGuard {
        if (reentrancyLock) {
            revert();
        }
        reentrancyLock = true;
        _;
        reentrancyLock = false;
    }

    modifier canOperate(uint256 _tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == msg.sender || ownerToOperators[tokenOwner][msg.sender], "Cannot operate.");
        _;
    }

    modifier canTransfer(uint256 _tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(
            tokenOwner == msg.sender
            || idToApproval[_tokenId] == msg.sender
            || ownerToOperators[tokenOwner][msg.sender], "Cannot transfer."
        );
        _;
    }

    modifier validNFToken(uint256 _tokenId) {
        require(idToOwner[_tokenId] != address(0), "Invalid token.");
        _;
    }

    constructor(address payable _beneficiary1, address payable _beneficiary2 ) { 
        supportedInterfaces[0x01ffc9a7] = true; // ERC165
        supportedInterfaces[0x80ac58cd] = true; // ERC721
        supportedInterfaces[0x780e9d63] = true; // ERC721 Enumerable
        supportedInterfaces[0x5b5e139f] = true; // ERC721 Metadata
        deployer = msg.sender;
        beneficiary1 = _beneficiary1;
		beneficiary2 = _beneficiary2;
    }


    //ERC 721 and 165

    function isContract(address _addr) internal view returns (bool addressCheck) {
        uint256 size;
        assembly { size := extcodesize(_addr) } // solhint-disable-line
        addressCheck = size > 0;
    }

    function supportsInterface(bytes4 _interfaceID) external view override returns (bool) {
        return supportedInterfaces[_interfaceID];
    }

    function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes calldata _data) external override {
        _safeTransferFrom(_from, _to, _tokenId, _data);
    }

    function safeTransferFrom(address _from, address _to, uint256 _tokenId) external override {
        _safeTransferFrom(_from, _to, _tokenId, "");
    }

    function transferFrom(address _from, address _to, uint256 _tokenId) external override canTransfer(_tokenId) validNFToken(_tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == _from, "Wrong from address.");
        require(_to != address(0), "Cannot send to 0x0.");
        _transfer(_to, _tokenId);
    }

    function approve(address _approved, uint256 _tokenId) external override canOperate(_tokenId) validNFToken(_tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(_approved != tokenOwner);
        idToApproval[_tokenId] = _approved;
        emit Approval(tokenOwner, _approved, _tokenId);
    }

    function setApprovalForAll(address _operator, bool _approved) external override {
        ownerToOperators[msg.sender][_operator] = _approved;
        emit ApprovalForAll(msg.sender, _operator, _approved);
    }

    function balanceOf(address _owner) external view override returns (uint256) {
        require(_owner != address(0));
        return _getOwnerNFTCount(_owner);
    }

    function ownerOf(uint256 _tokenId) external view override returns (address _owner) {
        require(idToOwner[_tokenId] != address(0));
        _owner = idToOwner[_tokenId];
    }

    function getApproved(uint256 _tokenId) external view override validNFToken(_tokenId) returns (address) {
        return idToApproval[_tokenId];
    }

    function isApprovedForAll(address _owner, address _operator) external override view returns (bool) {
        return ownerToOperators[_owner][_operator];
    }

    function _transfer(address _to, uint256 _tokenId) internal {
        address from = idToOwner[_tokenId];
        _clearApproval(_tokenId);

        _removeNFToken(from, _tokenId);
        _addNFToken(_to, _tokenId);

        emit Transfer(from, _to, _tokenId);
    }

    function randomIndex() internal returns (uint) {
        uint totalSize = TOKEN_LIMIT - numTokens;
        uint index = uint(keccak256(abi.encodePacked(nonce, msg.sender, block.difficulty, block.timestamp))) % totalSize;
        uint value = 0;
        if (indices[index] != 0) {
            value = indices[index];
        } else {
            value = index;
        }

        if (indices[totalSize - 1] == 0) {
            indices[index] = totalSize - 1;
        } else {
            indices[index] = indices[totalSize - 1];
        }
        nonce++;        
        return value.add(1);
    }

    function getPrice() public view returns (uint) {
		return price;
    }


    function devMint(uint quantity, address recipient) external onlyDeployer {
        for (uint i = 0; i < quantity; i++) {
            _mint(recipient);
        }
    }
	
    function withdraw() public onlyDeployer {
        uint256 balance = address(this).balance;		
        msg.sender.transfer(balance);		
		}	

    function RemainingtoMint() external view returns (uint) {
        return TOKEN_LIMIT.sub(numTokens);
    }


	
	
    function mintDolphin(uint quantity) external payable reentrancyGuard {
        require(quantity > 0 && quantity <= MAX_PURCHASE, "Exceed max per Tx");
        require(numTokens.add(quantity) <= TOKEN_LIMIT, "Exceed supply");
        require(msg.value >= price.mul(quantity), "Insufficient funds.");

        beneficiary1.transfer( pricehalf.mul(quantity) );
		beneficiary2.transfer( pricehalf.mul(quantity) );
		for(uint i = 0; i < quantity; i++) {			
			_mint(msg.sender);			
        }
    }	
	
    function _mint(address _to ) internal returns (uint) {
        require(_to != address(0), "Cannot mint to 0x0.");
        require(numTokens < TOKEN_LIMIT, "Sold out.");
        uint id = randomIndex();
        numTokens = numTokens + 1;
        _addNFToken(_to, id);
        emit Mint(id, _to);
        emit Transfer(address(0), _to, id);
        return id;
    }
	


    function _addNFToken(address _to, uint256 _tokenId) internal {
        require(idToOwner[_tokenId] == address(0), "Cannot add, already owned.");
        idToOwner[_tokenId] = _to;

        ownerToIds[_to].push(_tokenId);
        idToOwnerIndex[_tokenId] = ownerToIds[_to].length.sub(1);
    }

    function _removeNFToken(address _from, uint256 _tokenId) internal {
        require(idToOwner[_tokenId] == _from, "Incorrect owner.");
        delete idToOwner[_tokenId];

        uint256 tokenToRemoveIndex = idToOwnerIndex[_tokenId];
        uint256 lastTokenIndex = ownerToIds[_from].length.sub(1);

        if (lastTokenIndex != tokenToRemoveIndex) {
            uint256 lastToken = ownerToIds[_from][lastTokenIndex];
            ownerToIds[_from][tokenToRemoveIndex] = lastToken;
            idToOwnerIndex[lastToken] = tokenToRemoveIndex;
        }

        ownerToIds[_from].pop();
    }

    function _getOwnerNFTCount(address _owner) internal view returns (uint256) {
        return ownerToIds[_owner].length;
    }

    function _safeTransferFrom(address _from,  address _to,  uint256 _tokenId,  bytes memory _data) private canTransfer(_tokenId) validNFToken(_tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == _from, "Incorrect owner.");
        require(_to != address(0));

        _transfer(_to, _tokenId);

        if (isContract(_to)) {
            bytes4 retval = ERC721TokenReceiver(_to).onERC721Received(msg.sender, _from, _tokenId, _data);
            require(retval == MAGIC_ON_ERC721_RECEIVED);
        }
    }

    function _clearApproval(uint256 _tokenId) private {
        if (idToApproval[_tokenId] != address(0)) {
            delete idToApproval[_tokenId];
        }
    }

    //// Enumerable

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

    function tokenByIndex(uint256 index) public pure returns (uint256) {
        require(index >= 0 && index < TOKEN_LIMIT);
        return index + 1;
    }

    function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256) {
        require(_index < ownerToIds[_owner].length);
        return ownerToIds[_owner][_index];
    }

    
	
	//// Metadata
	
    function toString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        uint256 index = digits - 1;
        temp = value;
        while (temp != 0) {
            buffer[index--] = bytes1(uint8(48 + temp % 10));
            temp /= 10;
        }
        return string(buffer);
    }

    function name() external view returns (string memory _name) {
        _name = nftName;
    }

    function symbol() external view returns (string memory _symbol) {
        _symbol = nftSymbol;
    }

    function tokenURI(uint256 _tokenId) external view validNFToken(_tokenId) returns (string memory) {
        return string(abi.encodePacked("https://ipfs.io/ipfs/QmWPfvAbmXJmCrAYevy9ABPc7d7XbY3sxe9fuMZHjerVD4/", toString(_tokenId)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_beneficiary1","type":"address"},{"internalType":"address payable","name":"_beneficiary2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAX_PURCHASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RemainingtoMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_approved","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contentHash","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"devMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"mintDolphin","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenURI","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":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060600160405280602e81526020016200354f602e913960009080519060200190620000359291906200036b565b506040518060400160405280601281526020017f446567656e6572617465446f6c7068696e73000000000000000000000000000081525060079080519060200190620000839291906200036b565b506040518060400160405280600781526020017f444f4c5048494e0000000000000000000000000000000000000000000000000081525060089080519060200190620000d19291906200036b565b50600060095566470de4df820000600d55662386f26fc10000600e556000600f556000610d1560006101000a81548160ff0219169083151502179055503480156200011b57600080fd5b506040516200357d3803806200357d833981810160405260408110156200014157600080fd5b81019080805190602001909291908051906020019092919050505060018060006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060006380ac58cd60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600063780e9d6360e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000635b5e139f60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000421565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620003a35760008555620003ef565b82601f10620003be57805160ff1916838001178555620003ef565b82800160010185558215620003ef579182015b82811115620003ee578251825591602001919060010190620003d1565b5b509050620003fe919062000402565b5090565b5b808211156200041d57600081600090555060010162000403565b5090565b61311e80620004316000396000f3fe60806040526004361061014b5760003560e01c80636352211e116100b657806398d5fdca1161006f57806398d5fdca146107cc578063a22cb465146107f7578063b88d4fde14610854578063bdba443c14610924578063c87b56dd14610952578063e985e9c514610a065761014b565b80636352211e1461058c578063646c2e33146105f157806370a08231146106815780637146bd08146106e6578063759e21d01461071157806395d89b411461073c5761014b565b806323b872dd1161010857806323b872dd146103665780632d1a12f6146103e15780632f745c591461043c5780633ccfd60b146104ab57806342842e0e146104c25780634f6ccce71461053d5761014b565b806301ffc9a714610150578063031bd4c4146101c057806306fdde03146101eb578063081812fc1461027b578063095ea7b3146102e057806318160ddd1461033b575b600080fd5b34801561015c57600080fd5b506101a86004803603602081101561017357600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610a8d565b60405180821515815260200191505060405180910390f35b3480156101cc57600080fd5b506101d5610af5565b6040518082815260200191505060405180910390f35b3480156101f757600080fd5b50610200610afb565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610240578082015181840152602081019050610225565b50505050905090810190601f16801561026d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028757600080fd5b506102b46004803603602081101561029e57600080fd5b8101908080359060200190929190505050610b9d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ec57600080fd5b506103396004803603604081101561030357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cb2565b005b34801561034757600080fd5b5061035061101a565b6040518082815260200191505060405180910390f35b34801561037257600080fd5b506103df6004803603606081101561038957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611024565b005b3480156103ed57600080fd5b5061043a6004803603604081101561040457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061145e565b005b34801561044857600080fd5b506104956004803603604081101561045f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611548565b6040518082815260200191505060405180910390f35b3480156104b757600080fd5b506104c06115f5565b005b3480156104ce57600080fd5b5061053b600480360360608110156104e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611707565b005b34801561054957600080fd5b506105766004803603602081101561056057600080fd5b8101908080359060200190929190505050611727565b6040518082815260200191505060405180910390f35b34801561059857600080fd5b506105c5600480360360208110156105af57600080fd5b810190808035906020019092919050505061174e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105fd57600080fd5b506106066117f7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064657808201518184015260208101905061062b565b50505050905090810190601f1680156106735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561068d57600080fd5b506106d0600480360360208110156106a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611895565b6040518082815260200191505060405180910390f35b3480156106f257600080fd5b506106fb6118e0565b6040518082815260200191505060405180910390f35b34801561071d57600080fd5b506107266118e5565b6040518082815260200191505060405180910390f35b34801561074857600080fd5b50610751611903565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610791578082015181840152602081019050610776565b50505050905090810190601f1680156107be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107d857600080fd5b506107e16119a5565b6040518082815260200191505060405180910390f35b34801561080357600080fd5b506108526004803603604081101561081a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506119af565b005b34801561086057600080fd5b506109226004803603608081101561087757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108de57600080fd5b8201836020820111156108f057600080fd5b8035906020019184600183028401116401000000008311171561091257600080fd5b9091929391929390505050611aae565b005b6109506004803603602081101561093a57600080fd5b8101908080359060200190929190505050611b05565b005b34801561095e57600080fd5b5061098b6004803603602081101561097557600080fd5b8101908080359060200190929190505050611e11565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109cb5780820151818401526020810190506109b0565b50505050905090810190601f1680156109f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a1257600080fd5b50610a7560048036036040811015610a2957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f70565b60405180821515815260200191505060405180910390f35b600060016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b610d0581565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b935780601f10610b6857610100808354040283529160200191610b93565b820191906000526020600020905b815481529060010190602001808311610b7657829003601f168201915b5050505050905090565b600081600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b6003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b8060006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610dab5750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610e1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f43616e6e6f74206f7065726174652e000000000000000000000000000000000081525060200191505060405180910390fd5b82600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ef4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b60006002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415610f6557600080fd5b856003600087815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050505050565b6000600954905090565b8060006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806110f557503373ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b806111865750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6111f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f43616e6e6f74207472616e736665722e0000000000000000000000000000000081525060200191505060405180910390fd5b82600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b60006002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f57726f6e672066726f6d20616464726573732e0000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141561144b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f43616e6e6f742073656e6420746f203078302e0000000000000000000000000081525060200191505060405180910390fd5b6114558686612004565b50505050505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b60005b8281101561154357611535826120b9565b508080600101915050611524565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050821061159857600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106115e257fe5b9060005260206000200154905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611703573d6000803e3d6000fd5b5050565b611722838383604051806020016040528060008152506122a1565b505050565b600080821015801561173a5750610d0582105b61174357600080fd5b600182019050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156117bc57600080fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561188d5780601f106118625761010080835404028352916020019161188d565b820191906000526020600020905b81548152906001019060200180831161187057829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118d057600080fd5b6118d98261280f565b9050919050565b601481565b60006118fe600954610d0561285b90919063ffffffff16565b905090565b606060088054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561199b5780601f106119705761010080835404028352916020019161199b565b820191906000526020600020905b81548152906001019060200180831161197e57829003601f168201915b5050505050905090565b6000600d54905090565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b611afe85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506122a1565b5050505050565b610d1560009054906101000a900460ff1615611b2057600080fd5b6001610d1560006101000a81548160ff021916908315150217905550600081118015611b4d575060148111155b611bbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f457863656564206d61782070657220547800000000000000000000000000000081525060200191505060405180910390fd5b610d05611bd78260095461287590919063ffffffff16565b1115611c4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f45786365656420737570706c790000000000000000000000000000000000000081525060200191505060405180910390fd5b611c6081600d5461288f90919063ffffffff16565b341015611cd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496e73756666696369656e742066756e64732e0000000000000000000000000081525060200191505060405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611d2683600e5461288f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611d51573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611da383600e5461288f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611dce573d6000803e3d6000fd5b5060005b81811015611df157611de3336120b9565b508080600101915050611dd2565b506000610d1560006101000a81548160ff02191690831515021790555050565b606081600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b611ef3836128c3565b60405160200180806130a56044913960440182805190602001908083835b60208310611f345780518252602082019150602081019050602083039250611f11565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052915050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061204582612a0a565b61204f8183612aab565b6120598383612d5e565b818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561215d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f43616e6e6f74206d696e7420746f203078302e0000000000000000000000000081525060200191505060405180910390fd5b610d05600954106121d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f536f6c64206f75742e000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006121e0612f5c565b90506001600954016009819055506121f88382612d5e565b8273ffffffffffffffffffffffffffffffffffffffff16817ff3cea5493d790af0133817606f7350a91d7f154ea52eaa79d179d4d231e5010260405160405180910390a3808373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480915050919050565b8160006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061237257503373ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b806124035750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f43616e6e6f74207472616e736665722e0000000000000000000000000000000081525060200191505060405180910390fd5b83600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561254c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b60006002600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612625576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e636f7272656374206f776e65722e0000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561265f57600080fd5b6126698787612004565b61267287613091565b156128055760008773ffffffffffffffffffffffffffffffffffffffff1663150b7a02338b8a8a6040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561272657808201518184015260208101905061270b565b50505050905090810190601f1680156127535780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561277557600080fd5b505af1158015612789573d6000803e3d6000fd5b505050506040513d602081101561279f57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461280357600080fd5b505b5050505050505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008282111561286a57600080fd5b818303905092915050565b600081830190508281101561288957600080fd5b92915050565b6000808314156128a257600090506128bd565b8183029050818382816128b157fe5b04146128bc57600080fd5b5b92915050565b6060600082141561290b576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612a05565b600082905060005b60008214612935578080600101915050600a828161292d57fe5b049150612913565b60008167ffffffffffffffff8111801561294e57600080fd5b506040519080825280601f01601f1916602001820160405280156129815781602001600182028036833780820191505090505b50905060006001830390508593505b600084146129fd57600a84816129a257fe5b0660300160f81b828280600190039350815181106129bc57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816129f557fe5b049350612990565b819450505050505b919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612aa8576003600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b50565b8173ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e636f7272656374206f776e65722e0000000000000000000000000000000081525060200191505060405180910390fd5b6002600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000600660008381526020019081526020016000205490506000612c256001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061285b90919063ffffffff16565b9050818114612cfa576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612c7a57fe5b9060005260206000200154905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110612cd257fe5b9060005260206000200181905550826006600083815260200190815260200160002081905550505b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480612d4257fe5b6001900381819060005260206000200160009055905550505050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612e33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f43616e6e6f74206164642c20616c7265616479206f776e65642e00000000000081525060200191505060405180910390fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055612f416001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061285b90919063ffffffff16565b60066000838152602001908152602001600020819055505050565b600080600954610d05039050600081600f54334442604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012060001c81612fcf57fe5b069050600080601083610d058110612fe357fe5b01541461300157601082610d058110612ff857fe5b01549050613005565b8190505b6000601060018503610d05811061301857fe5b0154141561303c5760018303601083610d05811061303257fe5b0181905550613063565b601060018403610d05811061304d57fe5b0154601083610d05811061305d57fe5b01819055505b600f6000815480929190600101919050555061308960018261287590919063ffffffff16565b935050505090565b600080823b90506000811191505091905056fe68747470733a2f2f697066732e696f2f697066732f516d5750667641626d584a6d437241596576793941425063376437586259337378653966754d5a486a65725644342fa26469706673582212200b39aaf7664f72bffdcc09bdbd4c4332d172e25f74faf17276b33e3877eb67ea64736f6c63430007060033516d536f73686d6a626d4d34376645355673736b4b4246734d6a7056687a316a3333506644656e7453567162644e000000000000000000000000a8f5c98486f49a638cfa45657b6e55c9aafd8260000000000000000000000000e807f92558f930f51ec089098107bcad5ab8d5a6

Deployed Bytecode

0x60806040526004361061014b5760003560e01c80636352211e116100b657806398d5fdca1161006f57806398d5fdca146107cc578063a22cb465146107f7578063b88d4fde14610854578063bdba443c14610924578063c87b56dd14610952578063e985e9c514610a065761014b565b80636352211e1461058c578063646c2e33146105f157806370a08231146106815780637146bd08146106e6578063759e21d01461071157806395d89b411461073c5761014b565b806323b872dd1161010857806323b872dd146103665780632d1a12f6146103e15780632f745c591461043c5780633ccfd60b146104ab57806342842e0e146104c25780634f6ccce71461053d5761014b565b806301ffc9a714610150578063031bd4c4146101c057806306fdde03146101eb578063081812fc1461027b578063095ea7b3146102e057806318160ddd1461033b575b600080fd5b34801561015c57600080fd5b506101a86004803603602081101561017357600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610a8d565b60405180821515815260200191505060405180910390f35b3480156101cc57600080fd5b506101d5610af5565b6040518082815260200191505060405180910390f35b3480156101f757600080fd5b50610200610afb565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610240578082015181840152602081019050610225565b50505050905090810190601f16801561026d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028757600080fd5b506102b46004803603602081101561029e57600080fd5b8101908080359060200190929190505050610b9d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ec57600080fd5b506103396004803603604081101561030357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cb2565b005b34801561034757600080fd5b5061035061101a565b6040518082815260200191505060405180910390f35b34801561037257600080fd5b506103df6004803603606081101561038957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611024565b005b3480156103ed57600080fd5b5061043a6004803603604081101561040457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061145e565b005b34801561044857600080fd5b506104956004803603604081101561045f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611548565b6040518082815260200191505060405180910390f35b3480156104b757600080fd5b506104c06115f5565b005b3480156104ce57600080fd5b5061053b600480360360608110156104e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611707565b005b34801561054957600080fd5b506105766004803603602081101561056057600080fd5b8101908080359060200190929190505050611727565b6040518082815260200191505060405180910390f35b34801561059857600080fd5b506105c5600480360360208110156105af57600080fd5b810190808035906020019092919050505061174e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105fd57600080fd5b506106066117f7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064657808201518184015260208101905061062b565b50505050905090810190601f1680156106735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561068d57600080fd5b506106d0600480360360208110156106a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611895565b6040518082815260200191505060405180910390f35b3480156106f257600080fd5b506106fb6118e0565b6040518082815260200191505060405180910390f35b34801561071d57600080fd5b506107266118e5565b6040518082815260200191505060405180910390f35b34801561074857600080fd5b50610751611903565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610791578082015181840152602081019050610776565b50505050905090810190601f1680156107be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107d857600080fd5b506107e16119a5565b6040518082815260200191505060405180910390f35b34801561080357600080fd5b506108526004803603604081101561081a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506119af565b005b34801561086057600080fd5b506109226004803603608081101561087757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108de57600080fd5b8201836020820111156108f057600080fd5b8035906020019184600183028401116401000000008311171561091257600080fd5b9091929391929390505050611aae565b005b6109506004803603602081101561093a57600080fd5b8101908080359060200190929190505050611b05565b005b34801561095e57600080fd5b5061098b6004803603602081101561097557600080fd5b8101908080359060200190929190505050611e11565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109cb5780820151818401526020810190506109b0565b50505050905090810190601f1680156109f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a1257600080fd5b50610a7560048036036040811015610a2957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f70565b60405180821515815260200191505060405180910390f35b600060016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b610d0581565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b935780601f10610b6857610100808354040283529160200191610b93565b820191906000526020600020905b815481529060010190602001808311610b7657829003601f168201915b5050505050905090565b600081600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b6003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b8060006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610dab5750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610e1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f43616e6e6f74206f7065726174652e000000000000000000000000000000000081525060200191505060405180910390fd5b82600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ef4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b60006002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415610f6557600080fd5b856003600087815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050505050565b6000600954905090565b8060006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806110f557503373ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b806111865750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6111f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f43616e6e6f74207472616e736665722e0000000000000000000000000000000081525060200191505060405180910390fd5b82600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b60006002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f57726f6e672066726f6d20616464726573732e0000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141561144b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f43616e6e6f742073656e6420746f203078302e0000000000000000000000000081525060200191505060405180910390fd5b6114558686612004565b50505050505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b60005b8281101561154357611535826120b9565b508080600101915050611524565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050821061159857600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106115e257fe5b9060005260206000200154905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c79206465706c6f7965722e00000000000000000000000000000000000081525060200191505060405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611703573d6000803e3d6000fd5b5050565b611722838383604051806020016040528060008152506122a1565b505050565b600080821015801561173a5750610d0582105b61174357600080fd5b600182019050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156117bc57600080fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561188d5780601f106118625761010080835404028352916020019161188d565b820191906000526020600020905b81548152906001019060200180831161187057829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118d057600080fd5b6118d98261280f565b9050919050565b601481565b60006118fe600954610d0561285b90919063ffffffff16565b905090565b606060088054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561199b5780601f106119705761010080835404028352916020019161199b565b820191906000526020600020905b81548152906001019060200180831161197e57829003601f168201915b5050505050905090565b6000600d54905090565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b611afe85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506122a1565b5050505050565b610d1560009054906101000a900460ff1615611b2057600080fd5b6001610d1560006101000a81548160ff021916908315150217905550600081118015611b4d575060148111155b611bbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f457863656564206d61782070657220547800000000000000000000000000000081525060200191505060405180910390fd5b610d05611bd78260095461287590919063ffffffff16565b1115611c4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f45786365656420737570706c790000000000000000000000000000000000000081525060200191505060405180910390fd5b611c6081600d5461288f90919063ffffffff16565b341015611cd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496e73756666696369656e742066756e64732e0000000000000000000000000081525060200191505060405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611d2683600e5461288f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611d51573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611da383600e5461288f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611dce573d6000803e3d6000fd5b5060005b81811015611df157611de3336120b9565b508080600101915050611dd2565b506000610d1560006101000a81548160ff02191690831515021790555050565b606081600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b611ef3836128c3565b60405160200180806130a56044913960440182805190602001908083835b60208310611f345780518252602082019150602081019050602083039250611f11565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052915050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061204582612a0a565b61204f8183612aab565b6120598383612d5e565b818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561215d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f43616e6e6f74206d696e7420746f203078302e0000000000000000000000000081525060200191505060405180910390fd5b610d05600954106121d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f536f6c64206f75742e000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006121e0612f5c565b90506001600954016009819055506121f88382612d5e565b8273ffffffffffffffffffffffffffffffffffffffff16817ff3cea5493d790af0133817606f7350a91d7f154ea52eaa79d179d4d231e5010260405160405180910390a3808373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480915050919050565b8160006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061237257503373ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b806124035750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f43616e6e6f74207472616e736665722e0000000000000000000000000000000081525060200191505060405180910390fd5b83600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561254c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f496e76616c696420746f6b656e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b60006002600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612625576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e636f7272656374206f776e65722e0000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561265f57600080fd5b6126698787612004565b61267287613091565b156128055760008773ffffffffffffffffffffffffffffffffffffffff1663150b7a02338b8a8a6040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561272657808201518184015260208101905061270b565b50505050905090810190601f1680156127535780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561277557600080fd5b505af1158015612789573d6000803e3d6000fd5b505050506040513d602081101561279f57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461280357600080fd5b505b5050505050505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008282111561286a57600080fd5b818303905092915050565b600081830190508281101561288957600080fd5b92915050565b6000808314156128a257600090506128bd565b8183029050818382816128b157fe5b04146128bc57600080fd5b5b92915050565b6060600082141561290b576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612a05565b600082905060005b60008214612935578080600101915050600a828161292d57fe5b049150612913565b60008167ffffffffffffffff8111801561294e57600080fd5b506040519080825280601f01601f1916602001820160405280156129815781602001600182028036833780820191505090505b50905060006001830390508593505b600084146129fd57600a84816129a257fe5b0660300160f81b828280600190039350815181106129bc57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816129f557fe5b049350612990565b819450505050505b919050565b600073ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612aa8576003600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b50565b8173ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e636f7272656374206f776e65722e0000000000000000000000000000000081525060200191505060405180910390fd5b6002600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000600660008381526020019081526020016000205490506000612c256001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061285b90919063ffffffff16565b9050818114612cfa576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612c7a57fe5b9060005260206000200154905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110612cd257fe5b9060005260206000200181905550826006600083815260200190815260200160002081905550505b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480612d4257fe5b6001900381819060005260206000200160009055905550505050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612e33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f43616e6e6f74206164642c20616c7265616479206f776e65642e00000000000081525060200191505060405180910390fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190915055612f416001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061285b90919063ffffffff16565b60066000838152602001908152602001600020819055505050565b600080600954610d05039050600081600f54334442604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012060001c81612fcf57fe5b069050600080601083610d058110612fe357fe5b01541461300157601082610d058110612ff857fe5b01549050613005565b8190505b6000601060018503610d05811061301857fe5b0154141561303c5760018303601083610d05811061303257fe5b0181905550613063565b601060018403610d05811061304d57fe5b0154601083610d05811061305d57fe5b01819055505b600f6000815480929190600101919050555061308960018261287590919063ffffffff16565b935050505090565b600080823b90506000811191505091905056fe68747470733a2f2f697066732e696f2f697066732f516d5750667641626d584a6d437241596576793941425063376437586259337378653966754d5a486a65725644342fa26469706673582212200b39aaf7664f72bffdcc09bdbd4c4332d172e25f74faf17276b33e3877eb67ea64736f6c63430007060033

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

000000000000000000000000a8f5c98486f49a638cfa45657b6e55c9aafd8260000000000000000000000000e807f92558f930f51ec089098107bcad5ab8d5a6

-----Decoded View---------------
Arg [0] : _beneficiary1 (address): 0xa8f5c98486f49A638Cfa45657b6E55c9aaFd8260
Arg [1] : _beneficiary2 (address): 0xe807f92558f930f51EC089098107bCaD5AB8d5a6

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a8f5c98486f49a638cfa45657b6e55c9aafd8260
Arg [1] : 000000000000000000000000e807f92558f930f51ec089098107bcad5ab8d5a6


Deployed Bytecode Sourcemap

1985:10709:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4941:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2292:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12240:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6710:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5794:320;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11183:88;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5439:347;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8023:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11442:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8202:139;;;;;;;;;;;;;:::i;:::-;;5279:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11279:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6519:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2208:76;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6344:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3067:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8350:108;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12342:102;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:72;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6122:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5094:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8474:502;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12452:239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6869:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4941:145;5021:4;5045:19;:33;5065:12;5045:33;;;;;;;;;;;;;;;;;;;;;;;;;;;5038:40;;4941:145;;;:::o;2292:39::-;2327:4;2292:39;:::o;12240:94::-;12279:19;12319:7;12311:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12240:94;:::o;6710:151::-;6804:7;6785:8;4190:1;4159:33;;:9;:19;4169:8;4159:19;;;;;;;;;;;;;;;;;;;;;:33;;;;4151:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6831:12:::1;:22;6844:8;6831:22;;;;;;;;;;;;;;;;;;;;;6824:29;;6710:151:::0;;;;:::o;5794:320::-;5877:8;3609:18;3630:9;:19;3640:8;3630:19;;;;;;;;;;;;;;;;;;;;;3609:40;;3682:10;3668:24;;:10;:24;;;:68;;;;3696:16;:28;3713:10;3696:28;;;;;;;;;;;;;;;:40;3725:10;3696:40;;;;;;;;;;;;;;;;;;;;;;;;;3668:68;3660:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5900:8:::1;4190:1;4159:33;;:9;:19;4169:8;4159:19;;;;;;;;;;;;;;;;;;;;;:33;;;;4151:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5921:18:::2;5942:9;:19;5952:8;5942:19;;;;;;;;;;;;;;;;;;;;;5921:40;;5993:10;5980:23;;:9;:23;;;;5972:32;;;::::0;::::2;;6040:9;6015:12;:22;6028:8;6015:22;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;6097:8;6086:9;6065:41;;6074:10;6065:41;;;;;;;;;;;;4222:1;3767::::1;5794:320:::0;;;;:::o;11183:88::-;11227:7;11254:9;;11247:16;;11183:88;:::o;5439:347::-;5537:8;3834:18;3855:9;:19;3865:8;3855:19;;;;;;;;;;;;;;;;;;;;;3834:40;;3921:10;3907:24;;:10;:24;;;:77;;;;3974:10;3948:36;;:12;:22;3961:8;3948:22;;;;;;;;;;;;;;;;;;;;;:36;;;3907:77;:134;;;;4001:16;:28;4018:10;4001:28;;;;;;;;;;;;;;;:40;4030:10;4001:40;;;;;;;;;;;;;;;;;;;;;;;;;3907:134;3885:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5560:8:::1;4190:1;4159:33;;:9;:19;4169:8;4159:19;;;;;;;;;;;;;;;;;;;;;:33;;;;4151:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5581:18:::2;5602:9;:19;5612:8;5602:19;;;;;;;;;;;;;;;;;;;;;5581:40;;5654:5;5640:19;;:10;:19;;;5632:51;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;5717:1;5702:17;;:3;:17;;;;5694:49;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;5754:24;5764:3;5769:8;5754:9;:24::i;:::-;4222:1;4083::::1;5439:347:::0;;;;;:::o;8023:170::-;3278:8;;;;;;;;;;;3264:22;;:10;:22;;;3256:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8112:6:::1;8107:79;8128:8;8124:1;:12;8107:79;;;8158:16;8164:9;8158:5;:16::i;:::-;;8138:3;;;;;;;8107:79;;;;8023:170:::0;;:::o;11442:199::-;11526:7;11563:10;:18;11574:6;11563:18;;;;;;;;;;;;;;;:25;;;;11554:6;:34;11546:43;;;;;;11607:10;:18;11618:6;11607:18;;;;;;;;;;;;;;;11626:6;11607:26;;;;;;;;;;;;;;;;11600:33;;11442:199;;;;:::o;8202:139::-;3278:8;;;;;;;;;;;3264:22;;:10;:22;;;3256:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8253:15:::1;8271:21;8253:39;;8305:10;:19;;:28;8325:7;8305:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;3316:1;8202:139::o:0;5279:152::-;5380:43;5398:5;5405:3;5410:8;5380:43;;;;;;;;;;;;:17;:43::i;:::-;5279:152;;;:::o;11279:155::-;11337:7;11374:1;11365:5;:10;;:33;;;;;2327:4;11379:5;:19;11365:33;11357:42;;;;;;11425:1;11417:5;:9;11410:16;;11279:155;;;:::o;6519:183::-;6586:14;6652:1;6621:33;;:9;:19;6631:8;6621:19;;;;;;;;;;;;;;;;;;;;;:33;;;;6613:42;;;;;;6675:9;:19;6685:8;6675:19;;;;;;;;;;;;;;;;;;;;;6666:28;;6519:183;;;:::o;2208:76::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6344:167::-;6411:7;6457:1;6439:20;;:6;:20;;;;6431:29;;;;;;6478:25;6496:6;6478:17;:25::i;:::-;6471:32;;6344:167;;;:::o;3067:38::-;3103:2;3067:38;:::o;8350:108::-;8400:4;8424:26;8440:9;;2327:4;8424:15;;:26;;;;:::i;:::-;8417:33;;8350:108;:::o;12342:102::-;12383:21;12427:9;12417:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12342:102;:::o;7941:72::-;7982:4;8000:5;;7993:12;;7941:72;:::o;6122:214::-;6255:9;6213:16;:28;6230:10;6213:28;;;;;;;;;;;;;;;:39;6242:9;6213:39;;;;;;;;;;;;;;;;:51;;;;;;;;;;;;;;;;;;6307:9;6280:48;;6295:10;6280:48;;;6318:9;6280:48;;;;;;;;;;;;;;;;;;;;6122:214;;:::o;5094:177::-;5217:46;5235:5;5242:3;5247:8;5257:5;;5217:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:46::i;:::-;5094:177;;;;;:::o;8474:502::-;3417:14;;;;;;;;;;;3413:55;;;3448:8;;;3413:55;3495:4;3478:14;;:21;;;;;;;;;;;;;;;;;;8573:1:::1;8562:8;:12;:40;;;;;3103:2;8578:8;:24;;8562:40;8554:70;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;2327:4;8643:23;8657:8;8643:9;;:13;;:23;;;;:::i;:::-;:38;;8635:64;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8731:19;8741:8;8731:5;;:9;;:19;;;;:::i;:::-;8718:9;:32;;8710:64;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8787:12;;;;;;;;;;;:21;;:48;8810:23;8824:8;8810:9;;:13;;:23;;;;:::i;:::-;8787:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;8840:12;;;;;;;;;;;:21;;:48;8863:23;8877:8;8863:9;;:13;;:23;;;;:::i;:::-;8840:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;8897:6;8893:76;8913:8;8909:1;:12;8893:76;;;8937:17;8943:10;8937:5;:17::i;:::-;;8923:3;;;;;;;8893:76;;;;3539:5:::0;3522:14;;:22;;;;;;;;;;;;;;;;;;8474:502;:::o;12452:239::-;12534:13;12515:8;4190:1;4159:33;;:9;:19;4169:8;4159:19;;;;;;;;;;;;;;;;;;;;;:33;;;;4151:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12663:18:::1;12672:8;12663;:18::i;:::-;12574:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12560:123;;12452:239:::0;;;;:::o;6869:160::-;6962:4;6986:16;:24;7003:6;6986:24;;;;;;;;;;;;;;;:35;7011:9;6986:35;;;;;;;;;;;;;;;;;;;;;;;;;6979:42;;6869:160;;;;:::o;7037:274::-;7107:12;7122:9;:19;7132:8;7122:19;;;;;;;;;;;;;;;;;;;;;7107:34;;7152:24;7167:8;7152:14;:24::i;:::-;7189:30;7204:4;7210:8;7189:14;:30::i;:::-;7230:26;7242:3;7247:8;7230:11;:26::i;:::-;7294:8;7289:3;7274:29;;7283:4;7274:29;;;;;;;;;;;;7037:274;;;:::o;8986:372::-;9033:4;9073:1;9058:17;;:3;:17;;;;9050:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2327:4;9118:9;;:23;9110:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9166:7;9176:13;:11;:13::i;:::-;9166:23;;9224:1;9212:9;;:13;9200:9;:25;;;;9236:20;9248:3;9253:2;9236:11;:20::i;:::-;9281:3;9272:13;;9277:2;9272:13;;;;;;;;;;9327:2;9322:3;9301:29;;9318:1;9301:29;;;;;;;;;;;;9348:2;9341:9;;;8986:372;;;:::o;10426:552::-;10542:8;3834:18;3855:9;:19;3865:8;3855:19;;;;;;;;;;;;;;;;;;;;;3834:40;;3921:10;3907:24;;:10;:24;;;:77;;;;3974:10;3948:36;;:12;:22;3961:8;3948:22;;;;;;;;;;;;;;;;;;;;;:36;;;3907:77;:134;;;;4001:16;:28;4018:10;4001:28;;;;;;;;;;;;;;;:40;4030:10;4001:40;;;;;;;;;;;;;;;;;;;;;;;;;3907:134;3885:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10565:8:::1;4190:1;4159:33;;:9;:19;4169:8;4159:19;;;;;;;;;;;;;;;;;;;;;:33;;;;4151:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;10586:18:::2;10607:9;:19;10617:8;10607:19;;;;;;;;;;;;;;;;;;;;;10586:40;;10659:5;10645:19;;:10;:19;;;10637:48;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;10719:1;10704:17;;:3;:17;;;;10696:26;;;::::0;::::2;;10735:24;10745:3;10750:8;10735:9;:24::i;:::-;10776:15;10787:3;10776:10;:15::i;:::-;10772:199;;;10808:13;10844:3;10824:41;;;10866:10;10878:5;10885:8;10895:5;10824:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;10808:93;;2183:10;10934:24;;10924:34;;;:6;:34;;;;10916:43;;;::::0;::::2;;10772:199;;4222:1;4083::::1;10426:552:::0;;;;;;:::o;10292:126::-;10358:7;10385:10;:18;10396:6;10385:18;;;;;;;;;;;;;;;:25;;;;10378:32;;10292:126;;;:::o;1704:124::-;1762:7;1795:1;1790;:6;;1782:15;;;;;;1819:1;1815;:5;1808:12;;1704:124;;;;:::o;1836:142::-;1894:9;1924:1;1920;:5;1916:9;;1949:1;1944;:6;;1936:15;;;;;;1836:142;;;;:::o;1384:203::-;1442:9;1473:1;1468;:6;1464:47;;;1498:1;1491:8;;;;1464:47;1529:1;1525;:5;1521:9;;1558:1;1553;1549;:5;;;;;;:10;1541:19;;;;;;1384:203;;;;;:::o;11677:555::-;11733:13;11772:1;11763:5;:10;11759:53;;;11790:10;;;;;;;;;;;;;;;;;;;;;11759:53;11822:12;11837:5;11822:20;;11853:14;11878:78;11893:1;11885:4;:9;11878:78;;11911:8;;;;;;;11942:2;11934:10;;;;;;;;;11878:78;;;11966:19;11998:6;11988:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11966:39;;12016:13;12041:1;12032:6;:10;12016:26;;12060:5;12053:12;;12076:117;12091:1;12083:4;:9;12076:117;;12152:2;12145:4;:9;;;;;;12140:2;:14;12127:29;;12109:6;12116:7;;;;;;;12109:15;;;;;;;;;;;:47;;;;;;;;;;;12179:2;12171:10;;;;;;;;;12076:117;;;12217:6;12203:21;;;;;;11677:555;;;;:::o;10986:166::-;11085:1;11051:36;;:12;:22;11064:8;11051:22;;;;;;;;;;;;;;;;;;;;;:36;;;11047:98;;11111:12;:22;11124:8;11111:22;;;;;;;;;;;;11104:29;;;;;;;;;;;11047:98;10986:166;:::o;9677:607::-;9785:5;9762:28;;:9;:19;9772:8;9762:19;;;;;;;;;;;;;;;;;;;;;:28;;;9754:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9829:9;:19;9839:8;9829:19;;;;;;;;;;;;9822:26;;;;;;;;;;;9861;9890:14;:24;9905:8;9890:24;;;;;;;;;;;;9861:53;;9925:22;9950:31;9979:1;9950:10;:17;9961:5;9950:17;;;;;;;;;;;;;;;:24;;;;:28;;:31;;;;:::i;:::-;9925:56;;10016:18;9998:14;:36;9994:247;;10051:17;10071:10;:17;10082:5;10071:17;;;;;;;;;;;;;;;10089:14;10071:33;;;;;;;;;;;;;;;;10051:53;;10159:9;10119:10;:17;10130:5;10119:17;;;;;;;;;;;;;;;10137:18;10119:37;;;;;;;;;;;;;;;:49;;;;10211:18;10183:14;:25;10198:9;10183:25;;;;;;;;;;;:46;;;;9994:247;;10253:10;:17;10264:5;10253:17;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;;;;;;;9677:607;;;;:::o;9371:298::-;9482:1;9451:33;;:9;:19;9461:8;9451:19;;;;;;;;;;;;;;;;;;;;;:33;;;9443:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9548:3;9526:9;:19;9536:8;9526:19;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;9564:10;:15;9575:3;9564:15;;;;;;;;;;;;;;;9585:8;9564:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9632:29;9659:1;9632:10;:15;9643:3;9632:15;;;;;;;;;;;;;;;:22;;;;:26;;:29;;;;:::i;:::-;9605:14;:24;9620:8;9605:24;;;;;;;;;;;:56;;;;9371:298;;:::o;7319:614::-;7360:4;7377:14;7408:9;;2327:4;7394:23;7377:40;;7428:10;7531:9;7473:5;;7480:10;7492:16;7510:15;7456:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7446:81;;;;;;7441:87;;:99;;;;;;7428:112;;7551:10;7598:1;7580:7;7588:5;7580:14;;;;;;;;;:19;7576:120;;7624:7;7632:5;7624:14;;;;;;;;;7616:22;;7576:120;;;7679:5;7671:13;;7576:120;7738:1;7712:7;7732:1;7720:9;:13;7712:22;;;;;;;;;:27;7708:162;;;7785:1;7773:9;:13;7756:7;7764:5;7756:14;;;;;;;;:30;;;;7708:162;;;7836:7;7856:1;7844:9;:13;7836:22;;;;;;;;;7819:7;7827:5;7819:14;;;;;;;;:39;;;;7708:162;7880:5;;:7;;;;;;;;;;;;;7913:12;7923:1;7913:5;:9;;:12;;;;:::i;:::-;7906:19;;;;;7319:614;:::o;4718:215::-;4776:17;4806:12;4860:5;4848:18;4840:26;;4924:1;4917:4;:8;4902:23;;4718:215;;;;:::o

Swarm Source

ipfs://0b39aaf7664f72bffdcc09bdbd4c4332d172e25f74faf17276b33e3877eb67ea
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.