Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Options Trading
Overview
Max Total Supply
100,000,000 SI
Holders
2,084 ( 0.096%)
Market
Price
$0.04 @ 0.000016 ETH (+0.07%)
Onchain Market Cap
$4,045,053.00
Circulating Supply Market Cap
$908,641.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
201.750968009953209873 SIValue
$8.16 ( ~0.00323015303016775 Eth) [0.0002%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SirenToken
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-14 */ /** *Submitted for verification at Etherscan.io on 2020-11-14 */ // From the dark depths below, rise up all Merfolks and sound your Sirens... // File: contracts/governance/SirenToken.sol pragma solidity 0.6.12; contract SirenToken { /// @notice EIP-20 token name for this token string public constant name = "SIREN"; /// @notice EIP-20 token symbol for this token string public constant symbol = "SI"; /// @notice EIP-20 token decimals for this token uint8 public constant decimals = 18; /// @notice Total number of tokens in circulation uint256 public constant totalSupply = 100_000_000e18; // 100 million SRN /// @dev Allowance amounts on behalf of others mapping(address => mapping(address => uint96)) internal allowances; /// @dev Official record of token balances for each account mapping(address => uint96) internal balances; /// @notice A record of each accounts delegate mapping(address => address) public delegates; /// @notice A checkpoint for marking number of votes from a given block struct Checkpoint { uint32 fromBlock; uint96 votes; } /// @notice A record of votes checkpoints for each account, by index mapping(address => mapping(uint32 => Checkpoint)) public checkpoints; /// @notice The number of checkpoints for each account mapping(address => uint32) public numCheckpoints; /// @notice The EIP-712 typehash for the contract's domain bytes32 public constant DOMAIN_TYPEHASH = keccak256( "EIP712Domain(string name,uint256 chainId,address verifyingContract)" ); /// @notice The EIP-712 typehash for the delegation struct used by the contract bytes32 public constant DELEGATION_TYPEHASH = keccak256( "Delegation(address delegatee,uint256 nonce,uint256 expiry)" ); /// @notice A record of states for signing / validating signatures mapping(address => uint256) public nonces; /// @notice An event thats emitted when an account changes its delegate event DelegateChanged( address indexed delegator, address indexed fromDelegate, address indexed toDelegate ); /// @notice An event thats emitted when a delegate account's vote balance changes event DelegateVotesChanged( address indexed delegate, uint256 previousBalance, uint256 newBalance ); /// @notice The standard EIP-20 transfer event event Transfer(address indexed from, address indexed to, uint256 amount); /// @notice The standard EIP-20 approval event event Approval( address indexed owner, address indexed spender, uint256 amount ); /** * @notice Construct a new SRN token * @param account The initial account to grant all the tokens */ constructor(address account) public { balances[account] = uint96(totalSupply); emit Transfer(address(0), account, totalSupply); } /** * @notice Get the number of tokens `spender` is approved to spend on behalf of `account` * @param account The address of the account holding the funds * @param spender The address of the account spending the funds * @return The number of tokens approved */ function allowance(address account, address spender) external view returns (uint256) { return allowances[account][spender]; } /** * @notice Approve `spender` to transfer up to `amount` from `src` * @dev This will overwrite the approval amount for `spender` * and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve) * @param spender The address of the account which may transfer tokens * @param rawAmount The number of tokens that are approved (2^256-1 means infinite) * @return Whether or not the approval succeeded */ function approve(address spender, uint256 rawAmount) external returns (bool) { uint96 amount; if (rawAmount == uint256(-1)) { amount = uint96(-1); } else { amount = safe96( rawAmount, "Siren::approve: amount exceeds 96 bits" ); } allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } /** * @notice Get the number of tokens held by the `account` * @param account The address of the account to get the balance of * @return The number of tokens held */ function balanceOf(address account) external view returns (uint256) { return balances[account]; } /** * @notice Transfer `amount` tokens from `msg.sender` to `dst` * @param dst The address of the destination account * @param rawAmount The number of tokens to transfer * @return Whether or not the transfer succeeded */ function transfer(address dst, uint256 rawAmount) external returns (bool) { uint96 amount = safe96( rawAmount, "Siren::transfer: amount exceeds 96 bits" ); _transferTokens(msg.sender, dst, amount); return true; } /** * @notice Transfer `amount` tokens from `src` to `dst` * @param src The address of the source account * @param dst The address of the destination account * @param rawAmount The number of tokens to transfer * @return Whether or not the transfer succeeded */ function transferFrom( address src, address dst, uint256 rawAmount ) external returns (bool) { address spender = msg.sender; uint96 spenderAllowance = allowances[src][spender]; uint96 amount = safe96( rawAmount, "Siren::approve: amount exceeds 96 bits" ); if (spender != src && spenderAllowance != uint96(-1)) { uint96 newAllowance = sub96( spenderAllowance, amount, "Siren::transferFrom: transfer amount exceeds spender allowance" ); allowances[src][spender] = newAllowance; emit Approval(src, spender, newAllowance); } _transferTokens(src, dst, amount); return true; } /** * @notice Delegate votes from `msg.sender` to `delegatee` * @param delegatee The address to delegate votes to */ function delegate(address delegatee) public { return _delegate(msg.sender, delegatee); } /** * @notice Delegates votes from signatory to `delegatee` * @param delegatee The address to delegate votes to * @param nonce The contract state required to match the signature * @param expiry The time at which to expire the signature * @param v The recovery byte of the signature * @param r Half of the ECDSA signature pair * @param s Half of the ECDSA signature pair */ function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public { bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this))); bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry)); bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines // the valid range for s in (281): 0 < s < secp256k1n ÷ 2 + 1, and for v in (282): v ∈ {27, 28}. Most // signatures from current libraries generate a unique signature with an s-value in the lower half order. // // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept // these malleable signatures as well. require(uint256(s) <= 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0, "ECDSA: invalid signature 's' value"); require(v == 27 || v == 28, "ECDSA: invalid signature 'v' value"); address signatory = ecrecover(digest, v, r, s); require( signatory != address(0), "Siren::delegateBySig: invalid signature" ); require( nonce == nonces[signatory]++, "Siren::delegateBySig: invalid nonce" ); require(now <= expiry, "Siren::delegateBySig: signature expired"); return _delegate(signatory, delegatee); } /** * @notice Gets the current votes balance for `account` * @param account The address to get votes balance * @return The number of current votes for `account` */ function getCurrentVotes(address account) external view returns (uint96) { uint32 nCheckpoints = numCheckpoints[account]; return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0; } /** * @notice Determine the prior number of votes for an account as of a block number * @dev Block number must be a finalized block or else this function will revert to prevent misinformation. * @param account The address of the account to check * @param blockNumber The block number to get the vote balance at * @return The number of votes the account had as of the given block */ function getPriorVotes(address account, uint256 blockNumber) public view returns (uint96) { require( blockNumber < block.number, "Siren::getPriorVotes: not yet determined" ); uint32 nCheckpoints = numCheckpoints[account]; if (nCheckpoints == 0) { return 0; } // First check most recent balance if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) { return checkpoints[account][nCheckpoints - 1].votes; } // Next check implicit zero balance if (checkpoints[account][0].fromBlock > blockNumber) { return 0; } uint32 lower = 0; uint32 upper = nCheckpoints - 1; while (upper > lower) { uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow Checkpoint memory cp = checkpoints[account][center]; if (cp.fromBlock == blockNumber) { return cp.votes; } else if (cp.fromBlock < blockNumber) { lower = center; } else { upper = center - 1; } } return checkpoints[account][lower].votes; } function _delegate(address delegator, address delegatee) internal { address currentDelegate = delegates[delegator]; uint96 delegatorBalance = balances[delegator]; delegates[delegator] = delegatee; emit DelegateChanged(delegator, currentDelegate, delegatee); _moveDelegates(currentDelegate, delegatee, delegatorBalance); } function _transferTokens( address src, address dst, uint96 amount ) internal { require( src != address(0), "Siren::_transferTokens: cannot transfer from the zero address" ); require( dst != address(0), "Siren::_transferTokens: cannot transfer to the zero address" ); balances[src] = sub96( balances[src], amount, "Siren::_transferTokens: transfer amount exceeds balance" ); balances[dst] = add96( balances[dst], amount, "Siren::_transferTokens: transfer amount overflows" ); emit Transfer(src, dst, amount); _moveDelegates(delegates[src], delegates[dst], amount); } function _moveDelegates( address srcRep, address dstRep, uint96 amount ) internal { if (srcRep != dstRep && amount > 0) { if (srcRep != address(0)) { uint32 srcRepNum = numCheckpoints[srcRep]; uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0; uint96 srcRepNew = sub96( srcRepOld, amount, "Siren::_moveVotes: vote amount underflows" ); _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew); } if (dstRep != address(0)) { uint32 dstRepNum = numCheckpoints[dstRep]; uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0; uint96 dstRepNew = add96( dstRepOld, amount, "Siren::_moveVotes: vote amount overflows" ); _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew); } } } function _writeCheckpoint( address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes ) internal { uint32 blockNumber = safe32( block.number, "Siren::_writeCheckpoint: block number exceeds 32 bits" ); if ( nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber ) { checkpoints[delegatee][nCheckpoints - 1].votes = newVotes; } else { checkpoints[delegatee][nCheckpoints] = Checkpoint( blockNumber, newVotes ); numCheckpoints[delegatee] = nCheckpoints + 1; } emit DelegateVotesChanged(delegatee, oldVotes, newVotes); } function safe32(uint256 n, string memory errorMessage) internal pure returns (uint32) { require(n < 2**32, errorMessage); return uint32(n); } function safe96(uint256 n, string memory errorMessage) internal pure returns (uint96) { require(n < 2**96, errorMessage); return uint96(n); } function add96( uint96 a, uint96 b, string memory errorMessage ) internal pure returns (uint96) { uint96 c = a + b; require(c >= a, errorMessage); return c; } function sub96( uint96 a, uint96 b, string memory errorMessage ) internal pure returns (uint96) { require(b <= a, errorMessage); return a - b; } function getChainId() internal pure returns (uint256) { uint256 chainId; assembly { chainId := chainid() } return chainId; } } // File: contracts/governance/Factory.sol pragma solidity 0.6.12; contract Factory { event TokenCreated(address token); bool run = false; fallback() external { require(run == false); run = true; SirenToken token = new SirenToken(address(0x28929B64D1E263B756Ce3CE87522Fc38778e231A)); emit TokenCreated(address(token)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"account","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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"votes","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051612c59380380612c598339818101604052602081101561003357600080fd5b81019080805190602001909291905050506a52b7d2dcc80cd2e4000000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e40000006040518082815260200191505060405180910390a350612b1b8061013e6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b4b5ea5711610071578063b4b5ea5714610605578063c3cda5201461066b578063dd62ed3e146106e4578063e7a324dc1461075c578063f1127ed81461077a57610121565b806370a08231146103fe578063782d6fe1146104565780637ecebe00146104c657806395d89b411461051e578063a9059cbb146105a157610121565b806323b872dd116100f457806323b872dd14610249578063313ce567146102cd578063587cde1e146102ee5780635c19a95c1461035c5780636fcfff45146103a057610121565b806306fdde0314610126578063095ea7b3146101a957806318160ddd1461020d57806320606b701461022b575b600080fd5b61012e6107fd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016e578082015181840152602081019050610153565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f5600480360360408110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610836565b60405180821515815260200191505060405180910390f35b6102156109d6565b6040518082815260200191505060405180910390f35b6102336109e5565b6040518082815260200191505060405180910390f35b6102b56004803603606081101561025f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a09565b60405180821515815260200191505060405180910390f35b6102d5610ca9565b604051808260ff16815260200191505060405180910390f35b6103306004803603602081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cae565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61039e6004803603602081101561037257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ce1565b005b6103e2600480360360208110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cee565b604051808263ffffffff16815260200191505060405180910390f35b6104406004803603602081101561041457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d11565b6040518082815260200191505060405180910390f35b6104a26004803603604081101561046c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d80565b60405180826bffffffffffffffffffffffff16815260200191505060405180910390f35b610508600480360360208110156104dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a5565b6040518082815260200191505060405180910390f35b6105266111bd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561056657808201518184015260208101905061054b565b50505050905090810190601f1680156105935780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105ed600480360360408110156105b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f6565b60405180821515815260200191505060405180910390f35b6106476004803603602081101561061b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611233565b60405180826bffffffffffffffffffffffff16815260200191505060405180910390f35b6106e2600480360360c081101561068157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611321565b005b610746600480360360408110156106fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611799565b6040518082815260200191505060405180910390f35b610764611845565b6040518082815260200191505060405180910390f35b6107cc6004803603604081101561079057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050611869565b604051808363ffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390f35b6040518060400160405280600581526020017f534952454e00000000000000000000000000000000000000000000000000000081525081565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831415610889577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506108ae565b6108ab8360405180606001604052806026815260200161296c602691396118c2565b90505b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3600191505092915050565b6a52b7d2dcc80cd2e400000081565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b60008033905060008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1690506000610acb8560405180606001604052806026815260200161296c602691396118c2565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610b4557507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b15610c90576000610b6f83836040518060600160405280603e81526020016128c2603e9139611985565b9050806000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3505b610c9b878783611a5b565b600193505050509392505050565b601281565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ceb3382611e76565b50565b60046020528060005260406000206000915054906101000a900463ffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b6000438210610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612a896028913960400191505060405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415610e4757600091505061119f565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff1611610f4957600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1691505061119f565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161115610fca57600091505061119f565b6000806001830390505b8163ffffffff168163ffffffff161115611121576000600283830363ffffffff1681610ffc57fe5b04820390506110096127e9565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff1614156110f95780602001519550505050505061119f565b86816000015163ffffffff1610156111135781935061111a565b6001820392505b5050610fd4565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60056020528060005260406000206000915090505481565b6040518060400160405280600281526020017f534900000000000000000000000000000000000000000000000000000000000081525081565b60008061121b83604051806060016040528060278152602001612a3b602791396118c2565b9050611228338583611a5b565b600191505092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161161129d576000611319565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b60007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8666040518060400160405280600581526020017f534952454e00000000000000000000000000000000000000000000000000000081525080519060200120611389612036565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060007fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f1901000000000000000000000000000000000000000000000000000000000000815250600201838152602001828152602001925050506040516020818303038152906040528051906020012090507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c111561152d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806129926022913960400191505060405180910390fd5b601b8660ff1614806115425750601c8660ff16145b611597576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612a196022913960400191505060405180910390fd5b600060018288888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156115f3573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611685576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612a626027913960400191505060405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055891461172a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806128186023913960400191505060405180910390fd5b87421115611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061289b6027913960400191505060405180910390fd5b61178d818b611e76565b50505050505050505050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b6003602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b60006c010000000000000000000000008310829061197b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611940578082015181840152602081019050611925565b50505050905090810190601f16801561196d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290611a4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a135780820151818401526020810190506119f8565b50505050905090810190601f168015611a405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ae1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001806129b4603d913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180612900603b913960400191505060405180910390fd5b611be1600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff168260405180606001604052806037815260200161286460379139611985565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611cc8600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff168260405180606001604052806031815260200161293b60319139612043565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3611e71600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361211e565b505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461203082848361211e565b50505050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff1610158390612112576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120d75780820151818401526020810190506120bc565b50505050905090810190601f1680156121045780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561216857506000816bffffffffffffffffffffffff16115b1561241457600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146122c0576000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff161161220b576000612287565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006122ae828560405180606001604052806029815260200161283b60299139611985565b90506122bc86848484612419565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612413576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff161161235e5760006123da565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050600061240182856040518060600160405280602881526020016129f160289139612043565b905061240f85848484612419565b5050505b5b505050565b600061243d43604051806060016040528060358152602001612ab16035913961272e565b905060008463ffffffff161180156124d257508063ffffffff16600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b1561256d5781600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506126b5565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405180836bffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b6000640100000000831082906127df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127a4578082015181840152602081019050612789565b50505050905090810190601f1680156127d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff168152509056fe536972656e3a3a64656c656761746542795369673a20696e76616c6964206e6f6e6365536972656e3a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773536972656e3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536972656e3a3a64656c656761746542795369673a207369676e61747572652065787069726564536972656e3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365536972656e3a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373536972656e3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773536972656e3a3a617070726f76653a20616d6f756e742065786365656473203936206269747345434453413a20696e76616c6964207369676e6174757265202773272076616c7565536972656e3a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f2061646472657373536972656e3a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777345434453413a20696e76616c6964207369676e6174757265202776272076616c7565536972656e3a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473536972656e3a3a64656c656761746542795369673a20696e76616c6964207369676e6174757265536972656e3a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e6564536972656e3a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473a26469706673582212200c1f7790b31a9e00562e01d9829e4c3f4f980d48f72964894d3cd27f2c218d7364736f6c634300060c003300000000000000000000000028929b64d1e263b756ce3ce87522fc38778e231a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b4b5ea5711610071578063b4b5ea5714610605578063c3cda5201461066b578063dd62ed3e146106e4578063e7a324dc1461075c578063f1127ed81461077a57610121565b806370a08231146103fe578063782d6fe1146104565780637ecebe00146104c657806395d89b411461051e578063a9059cbb146105a157610121565b806323b872dd116100f457806323b872dd14610249578063313ce567146102cd578063587cde1e146102ee5780635c19a95c1461035c5780636fcfff45146103a057610121565b806306fdde0314610126578063095ea7b3146101a957806318160ddd1461020d57806320606b701461022b575b600080fd5b61012e6107fd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016e578082015181840152602081019050610153565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f5600480360360408110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610836565b60405180821515815260200191505060405180910390f35b6102156109d6565b6040518082815260200191505060405180910390f35b6102336109e5565b6040518082815260200191505060405180910390f35b6102b56004803603606081101561025f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a09565b60405180821515815260200191505060405180910390f35b6102d5610ca9565b604051808260ff16815260200191505060405180910390f35b6103306004803603602081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cae565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61039e6004803603602081101561037257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ce1565b005b6103e2600480360360208110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cee565b604051808263ffffffff16815260200191505060405180910390f35b6104406004803603602081101561041457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d11565b6040518082815260200191505060405180910390f35b6104a26004803603604081101561046c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d80565b60405180826bffffffffffffffffffffffff16815260200191505060405180910390f35b610508600480360360208110156104dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a5565b6040518082815260200191505060405180910390f35b6105266111bd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561056657808201518184015260208101905061054b565b50505050905090810190601f1680156105935780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105ed600480360360408110156105b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f6565b60405180821515815260200191505060405180910390f35b6106476004803603602081101561061b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611233565b60405180826bffffffffffffffffffffffff16815260200191505060405180910390f35b6106e2600480360360c081101561068157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611321565b005b610746600480360360408110156106fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611799565b6040518082815260200191505060405180910390f35b610764611845565b6040518082815260200191505060405180910390f35b6107cc6004803603604081101561079057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050611869565b604051808363ffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390f35b6040518060400160405280600581526020017f534952454e00000000000000000000000000000000000000000000000000000081525081565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831415610889577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506108ae565b6108ab8360405180606001604052806026815260200161296c602691396118c2565b90505b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3600191505092915050565b6a52b7d2dcc80cd2e400000081565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b60008033905060008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1690506000610acb8560405180606001604052806026815260200161296c602691396118c2565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610b4557507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b15610c90576000610b6f83836040518060600160405280603e81526020016128c2603e9139611985565b9050806000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3505b610c9b878783611a5b565b600193505050509392505050565b601281565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ceb3382611e76565b50565b60046020528060005260406000206000915054906101000a900463ffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b6000438210610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612a896028913960400191505060405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415610e4757600091505061119f565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff1611610f4957600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1691505061119f565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161115610fca57600091505061119f565b6000806001830390505b8163ffffffff168163ffffffff161115611121576000600283830363ffffffff1681610ffc57fe5b04820390506110096127e9565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff1614156110f95780602001519550505050505061119f565b86816000015163ffffffff1610156111135781935061111a565b6001820392505b5050610fd4565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60056020528060005260406000206000915090505481565b6040518060400160405280600281526020017f534900000000000000000000000000000000000000000000000000000000000081525081565b60008061121b83604051806060016040528060278152602001612a3b602791396118c2565b9050611228338583611a5b565b600191505092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161161129d576000611319565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b60007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8666040518060400160405280600581526020017f534952454e00000000000000000000000000000000000000000000000000000081525080519060200120611389612036565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060007fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f1901000000000000000000000000000000000000000000000000000000000000815250600201838152602001828152602001925050506040516020818303038152906040528051906020012090507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c111561152d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806129926022913960400191505060405180910390fd5b601b8660ff1614806115425750601c8660ff16145b611597576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612a196022913960400191505060405180910390fd5b600060018288888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156115f3573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611685576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612a626027913960400191505060405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055891461172a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806128186023913960400191505060405180910390fd5b87421115611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061289b6027913960400191505060405180910390fd5b61178d818b611e76565b50505050505050505050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b6003602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b60006c010000000000000000000000008310829061197b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611940578082015181840152602081019050611925565b50505050905090810190601f16801561196d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290611a4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a135780820151818401526020810190506119f8565b50505050905090810190601f168015611a405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ae1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001806129b4603d913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180612900603b913960400191505060405180910390fd5b611be1600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff168260405180606001604052806037815260200161286460379139611985565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611cc8600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff168260405180606001604052806031815260200161293b60319139612043565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3611e71600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361211e565b505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461203082848361211e565b50505050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff1610158390612112576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120d75780820151818401526020810190506120bc565b50505050905090810190601f1680156121045780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561216857506000816bffffffffffffffffffffffff16115b1561241457600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146122c0576000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff161161220b576000612287565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006122ae828560405180606001604052806029815260200161283b60299139611985565b90506122bc86848484612419565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612413576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff161161235e5760006123da565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050600061240182856040518060600160405280602881526020016129f160289139612043565b905061240f85848484612419565b5050505b5b505050565b600061243d43604051806060016040528060358152602001612ab16035913961272e565b905060008463ffffffff161180156124d257508063ffffffff16600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b1561256d5781600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506126b5565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405180836bffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b6000640100000000831082906127df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127a4578082015181840152602081019050612789565b50505050905090810190601f1680156127d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff168152509056fe536972656e3a3a64656c656761746542795369673a20696e76616c6964206e6f6e6365536972656e3a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773536972656e3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536972656e3a3a64656c656761746542795369673a207369676e61747572652065787069726564536972656e3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365536972656e3a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373536972656e3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773536972656e3a3a617070726f76653a20616d6f756e742065786365656473203936206269747345434453413a20696e76616c6964207369676e6174757265202773272076616c7565536972656e3a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f2061646472657373536972656e3a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777345434453413a20696e76616c6964207369676e6174757265202776272076616c7565536972656e3a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473536972656e3a3a64656c656761746542795369673a20696e76616c6964207369676e6174757265536972656e3a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e6564536972656e3a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473a26469706673582212200c1f7790b31a9e00562e01d9829e4c3f4f980d48f72964894d3cd27f2c218d7364736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000028929b64d1e263b756ce3ce87522fc38778e231a
-----Decoded View---------------
Arg [0] : account (address): 0x28929B64D1E263B756Ce3CE87522Fc38778e231A
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000028929b64d1e263b756ce3ce87522fc38778e231a
Deployed Bytecode Sourcemap
226:15373:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;303:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4009:498;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;599:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1522:138;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5674:814;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;500:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;976:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6636:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1401:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4710:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10006:1291;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1968:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;401:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5085:279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9340:235;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7172:1967;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3360:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1754:133;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1264:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;303:37;;;;;;;;;;;;;;;;;;;:::o;4009:498::-;4098:4;4120:13;4169:2;4148:9;:24;4144:226;;;4205:2;4189:19;;4144:226;;;4250:108;4275:9;4250:108;;;;;;;;;;;;;;;;;:6;:108::i;:::-;4241:117;;4144:226;4416:6;4382:10;:22;4393:10;4382:22;;;;;;;;;;;;;;;:31;4405:7;4382:31;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;4461:7;4440:37;;4449:10;4440:37;;;4470:6;4440:37;;;;;;;;;;;;;;;;;;;;4495:4;4488:11;;;4009:498;;;;:::o;599:52::-;637:14;599:52;:::o;1522:138::-;1564:96;1522:138;:::o;5674:814::-;5793:4;5810:15;5828:10;5810:28;;5849:23;5875:10;:15;5886:3;5875:15;;;;;;;;;;;;;;;:24;5891:7;5875:24;;;;;;;;;;;;;;;;;;;;;;;;;5849:50;;5910:13;5926:96;5947:9;5926:96;;;;;;;;;;;;;;;;;:6;:96::i;:::-;5910:112;;6050:3;6039:14;;:7;:14;;;;:48;;;;;6084:2;6057:30;;:16;:30;;;;6039:48;6035:378;;;6104:19;6126:163;6150:16;6185:6;6126:163;;;;;;;;;;;;;;;;;:5;:163::i;:::-;6104:185;;6331:12;6304:10;:15;6315:3;6304:15;;;;;;;;;;;;;;;:24;6320:7;6304:24;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6379:7;6365:36;;6374:3;6365:36;;;6388:12;6365:36;;;;;;;;;;;;;;;;;;;;6035:378;;6425:33;6441:3;6446;6451:6;6425:15;:33::i;:::-;6476:4;6469:11;;;;;5674:814;;;;;:::o;500:35::-;533:2;500:35;:::o;976:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;6636:102::-;6698:32;6708:10;6720:9;6698;:32::i;:::-;6636:102;:::o;1401:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;4710:111::-;4769:7;4796:8;:17;4805:7;4796:17;;;;;;;;;;;;;;;;;;;;;;;;;4789:24;;;;4710:111;;;:::o;10006:1291::-;10115:6;10175:12;10161:11;:26;10139:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10268:19;10290:14;:23;10305:7;10290:23;;;;;;;;;;;;;;;;;;;;;;;;;10268:45;;10344:1;10328:12;:17;;;10324:58;;;10369:1;10362:8;;;;;10324:58;10494:11;10442;:20;10454:7;10442:20;;;;;;;;;;;;;;;:38;10478:1;10463:12;:16;10442:38;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:63;;;10438:147;;10529:11;:20;10541:7;10529:20;;;;;;;;;;;;;;;:38;10565:1;10550:12;:16;10529:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;10522:51;;;;;10438:147;10682:11;10646;:20;10658:7;10646:20;;;;;;;;;;;;;;;:23;10667:1;10646:23;;;;;;;;;;;;;:33;;;;;;;;;;;;:47;;;10642:88;;;10717:1;10710:8;;;;;10642:88;10742:12;10769;10799:1;10784:12;:16;10769:31;;10811:428;10826:5;10818:13;;:5;:13;;;10811:428;;;10848:13;10890:1;10881:5;10873;:13;10872:19;;;;;;;;10864:5;:27;10848:43;;10933:20;;:::i;:::-;10956:11;:20;10968:7;10956:20;;;;;;;;;;;;;;;:28;10977:6;10956:28;;;;;;;;;;;;;;;10933:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11019:11;11003:2;:12;;;:27;;;10999:229;;;11058:2;:8;;;11051:15;;;;;;;;;10999:229;11107:11;11092:2;:12;;;:26;;;11088:140;;;11147:6;11139:14;;11088:140;;;11211:1;11202:6;:10;11194:18;;11088:140;10811:428;;;;;11256:11;:20;11268:7;11256:20;;;;;;;;;;;;;;;:27;11277:5;11256:27;;;;;;;;;;;;;;;:33;;;;;;;;;;;;11249:40;;;;;10006:1291;;;;;:::o;1968:41::-;;;;;;;;;;;;;;;;;:::o;401:36::-;;;;;;;;;;;;;;;;;;;:::o;5085:279::-;5153:4;5170:13;5186:97;5207:9;5186:97;;;;;;;;;;;;;;;;;:6;:97::i;:::-;5170:113;;5294:40;5310:10;5322:3;5327:6;5294:15;:40::i;:::-;5352:4;5345:11;;;5085:279;;;;:::o;9340:235::-;9405:6;9424:19;9446:14;:23;9461:7;9446:23;;;;;;;;;;;;;;;;;;;;;;;;;9424:45;;9515:1;9500:12;:16;;;:67;;9566:1;9500:67;;;9519:11;:20;9531:7;9519:20;;;;;;;;;;;;;;;:38;9555:1;9540:12;:16;9519:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;9500:67;9480:87;;;9340:235;;;:::o;7172:1967::-;7288:23;1564:96;7368:4;;;;;;;;;;;;;;;;;7352:22;;;;;;7376:12;:10;:12::i;:::-;7398:4;7324:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7314:91;;;;;;7288:117;;7416:18;1800:87;7479:9;7490:5;7497:6;7447:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7437:68;;;;;;7416:89;;7516:14;7572:15;7589:10;7543:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:68;;;;;;7516:85;;8519:66;8513:1;8505:10;;:80;;8497:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8648:2;8643:1;:7;;;:18;;;;8659:2;8654:1;:7;;;8643:18;8635:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8713:17;8733:26;8743:6;8751:1;8754;8757;8733:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8713:46;;8813:1;8792:23;;:9;:23;;;;8770:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8924:6;:17;8931:9;8924:17;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;8915:5;:28;8893:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9032:6;9025:3;:13;;9017:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9100:31;9110:9;9121;9100;:31::i;:::-;9093:38;;;;7172:1967;;;;;;:::o;3360:171::-;3463:7;3495:10;:19;3506:7;3495:19;;;;;;;;;;;;;;;:28;3515:7;3495:28;;;;;;;;;;;;;;;;;;;;;;;;;3488:35;;;;3360:171;;;;:::o;1754:133::-;1800:87;1754:133;:::o;1264:68::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14777:196::-;14882:6;14918:5;14914:1;:9;14925:12;14906:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14963:1;14949:16;;14777:196;;;;:::o;15211:199::-;15331:6;15363:1;15358:6;;:1;:6;;;;15366:12;15350:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15401:1;15397;:5;15390:12;;15211:199;;;;;:::o;11688:826::-;11845:1;11830:17;;:3;:17;;;;11808:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11984:1;11969:17;;:3;:17;;;;11947:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12102:137;12122:8;:13;12131:3;12122:13;;;;;;;;;;;;;;;;;;;;;;;;;12150:6;12102:137;;;;;;;;;;;;;;;;;:5;:137::i;:::-;12086:8;:13;12095:3;12086:13;;;;;;;;;;;;;;;;:153;;;;;;;;;;;;;;;;;;12266:131;12286:8;:13;12295:3;12286:13;;;;;;;;;;;;;;;;;;;;;;;;;12314:6;12266:131;;;;;;;;;;;;;;;;;:5;:131::i;:::-;12250:8;:13;12259:3;12250:13;;;;;;;;;;;;;;;;:147;;;;;;;;;;;;;;;;;;12427:3;12413:26;;12422:3;12413:26;;;12432:6;12413:26;;;;;;;;;;;;;;;;;;;;12452:54;12467:9;:14;12477:3;12467:14;;;;;;;;;;;;;;;;;;;;;;;;;12483:9;:14;12493:3;12483:14;;;;;;;;;;;;;;;;;;;;;;;;;12499:6;12452:14;:54::i;:::-;11688:826;;;:::o;11305:375::-;11382:23;11408:9;:20;11418:9;11408:20;;;;;;;;;;;;;;;;;;;;;;;;;11382:46;;11439:23;11465:8;:19;11474:9;11465:19;;;;;;;;;;;;;;;;;;;;;;;;;11439:45;;11518:9;11495;:20;11505:9;11495:20;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;11589:9;11545:54;;11572:15;11545:54;;11561:9;11545:54;;;;;;;;;;;;11612:60;11627:15;11644:9;11655:16;11612:14;:60::i;:::-;11305:375;;;;:::o;15418:178::-;15463:7;15483:15;15544:9;15533:20;;15581:7;15574:14;;;15418:178;:::o;14981:222::-;15101:6;15120:8;15135:1;15131;:5;15120:16;;15160:1;15155:6;;:1;:6;;;;15163:12;15147:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15194:1;15187:8;;;14981:222;;;;;:::o;12522:1223::-;12661:6;12651:16;;:6;:16;;;;:30;;;;;12680:1;12671:6;:10;;;12651:30;12647:1091;;;12720:1;12702:20;;:6;:20;;;12698:507;;12743:16;12762:14;:22;12777:6;12762:22;;;;;;;;;;;;;;;;;;;;;;;;;12743:41;;12803:16;12834:1;12822:9;:13;;;:102;;12923:1;12822:102;;;12859:11;:19;12871:6;12859:19;;;;;;;;;;;;;;;:34;12891:1;12879:9;:13;12859:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;12822:102;12803:121;;12943:16;12962:151;12990:9;13022:6;12962:151;;;;;;;;;;;;;;;;;:5;:151::i;:::-;12943:170;;13132:57;13149:6;13157:9;13168;13179;13132:16;:57::i;:::-;12698:507;;;;13243:1;13225:20;;:6;:20;;;13221:506;;13266:16;13285:14;:22;13300:6;13285:22;;;;;;;;;;;;;;;;;;;;;;;;;13266:41;;13326:16;13357:1;13345:9;:13;;;:102;;13446:1;13345:102;;;13382:11;:19;13394:6;13382:19;;;;;;;;;;;;;;;:34;13414:1;13402:9;:13;13382:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;13345:102;13326:121;;13466:16;13485:150;13513:9;13545:6;13485:150;;;;;;;;;;;;;;;;;:5;:150::i;:::-;13466:169;;13654:57;13671:6;13679:9;13690;13701;13654:16;:57::i;:::-;13221:506;;;;12647:1091;12522:1223;;;:::o;13753:812::-;13916:18;13937:114;13958:12;13937:114;;;;;;;;;;;;;;;;;:6;:114::i;:::-;13916:135;;14097:1;14082:12;:16;;;:98;;;;;14169:11;14115:65;;:11;:22;14127:9;14115:22;;;;;;;;;;;;;;;:40;14153:1;14138:12;:16;14115:40;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:65;;;14082:98;14064:425;;;14256:8;14207:11;:22;14219:9;14207:22;;;;;;;;;;;;;;;:40;14245:1;14230:12;:16;14207:40;;;;;;;;;;;;;;;:46;;;:57;;;;;;;;;;;;;;;;;;14064:425;;;14336:82;;;;;;;;14365:11;14336:82;;;;;;14395:8;14336:82;;;;;14297:11;:22;14309:9;14297:22;;;;;;;;;;;;;;;:36;14320:12;14297:36;;;;;;;;;;;;;;;:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14476:1;14461:12;:16;14433:14;:25;14448:9;14433:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;14064:425;14527:9;14506:51;;;14538:8;14548;14506:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;13753:812;;;;;:::o;14573:196::-;14678:6;14714:5;14710:1;:9;14721:12;14702:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14759:1;14745:16;;14573:196;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://0c1f7790b31a9e00562e01d9829e4c3f4f980d48f72964894d3cd27f2c218d73
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.