ERC-20
Overview
Max Total Supply
33,300,000,000 CLIP
Holders
9,038
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
CLIP
Compiler Version
v0.4.20+commit.3155dd80
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-29 */ pragma solidity ^0.4.20; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract ERC223 { uint public totalSupply; function name() public view returns (string _name); function symbol() public view returns (string _symbol); function decimals() public view returns (uint8 _decimals); function totalSupply() public view returns (uint256 _supply); function balanceOf(address who) public view returns (uint); function transfer(address to, uint value) public returns (bool ok); function transfer(address to, uint value, bytes data) public returns (bool ok); function transfer(address to, uint value, bytes data, string custom_fallback) public returns (bool ok); event Transfer(address indexed from, address indexed to, uint value, bytes indexed data); event Transfer(address indexed _from, address indexed _to, uint256 _value); } /** * @title ContractReceiver * @dev Receiver for ERC223 tokens */ contract ContractReceiver { struct TKN { address sender; uint value; bytes data; bytes4 sig; } function tokenFallback(address _from, uint _value, bytes _data) public pure { TKN memory tkn; tkn.sender = _from; tkn.value = _value; tkn.data = _data; uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24); tkn.sig = bytes4(u); /* tkn variable is analogue of msg variable of Ether transaction * tkn.sender is person who initiated this token transaction (analogue of msg.sender) * tkn.value the number of tokens that were sent (analogue of msg.value) * tkn.data is data of token transaction (analogue of msg.data) * tkn.sig is 4 bytes signature of function * if data of token transaction is a function execution */ } } /** CLIPTOKEN .--:///++++++++++///:--. .-:/+++++++++++++++++++++++++++++/:. -:++++++++++++++++++++++++++++++++++++++++/-. .:/+++++++++++++++++++++++++++++++++++++++++++++++:. .:++++++++++++++++++++++++++++++++++++++++++++++++++++++:. -/++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/- -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/- -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/-` -/++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/-` /++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/. .-- -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/. .-::::. :+++++++++++++++++++++++++++++++//::-........--://++++++++++/. .-:::::::- /++++++++++++++++++++++++++++/:.`` ``.:/++++/. `.-::::::::::- /++++++++++++++++++++++++++/-. `-:. `.::::::::::::::: /+++++++++++++++++++++++++/. `.:::::::::::::::::: :++++++++++++++++++++++++/. `.::::::::::::::::::::- -++++++++++++++++++++++++- .:::::::::::::::::::::::- +++++++++++++++++++++++/` -::::::::::::::::::::::: :++++++++++++++++++++++/` .::::::::::::::::::::::- ++++++++++++++++++++++/` -:::::::::::::::::::::: -++++++++++++++++++++++. ..........................::::::::::::::::::::::- /+++++++++++++++++++++: `::::::::::::::::::::::::::::::::::::::::::::::::: ++++++++++++++++++++++. `::::::::::::::::::::::::::::::::::::::::::::::::: ++++++++++++++++++++++` `::::::::::::::::::::::::::::::::::::::::::::::::: ++++++++++++++++++++++ `::::::::::::::::::::::::::::::::::::::::::::::::: ++++++++++++++++++++++` `::::::::::::::::::::::::::::::::::::::::::::::::: ++++++++++++++++++++++` `::::::::::::::::::::::::::::::::::::::::::::::::: /+++++++++++++++++++++: `::::::::::::::::::::::::::::::::::::::::::::::::: -++++++++++++++++++++++` `--------------------------::::::::::::::::::::::: ++++++++++++++++++++++/ .::::::::::::::::::::::: :++++++++++++++++++++++: .::::::::::::::::::::::: +++++++++++++++++++++++: .:::::::::::::::::::::::. :++++++++++++++++++++++. .:::::::::::::::::::::::- /++++++++++++++++++++- .::::::::::::::::::::::. +++++++++++++++++++- .-::::::::::::::::::. +++++++++++++++++: .. .-:::::::::::::::. /++++++++++++++: .-//+:- .:/++/. .-::::::::::::. /++++++++++++: .-/+++++++++//:-.. ..-://++++++++/. .-::::::::: :++++++++++/` .:/+++++++++++++++++++++++++++++++++++++++++++/. .-:::::- ./++++++++//+++++++++++++++++++++++++++++++++++++++++++++++++/- .-::. `:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/-` .` ./++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/-` ./++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/-` `:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++: `-/++++++++++++++++++++++++++++++++++++++++++++++++++++++/-` `-/++++++++++++++++++++++++++++++++++++++++++++++++/-. `.:/+++++++++++++++++++++++++++++++++++++++++:-` `.-:++++++++++++++++++++++++++++++++/:.` ``.-://++++++++++++++++//:--.` `````````` :::::: :: `:: ::::: ,,,,,,, ,,,,,, ,, ,,, ,,,,,, ,,. ,, :::,.,: :: `:: ::,::: ,,,,,,, ,,,,,,,,` ,, ,,, ,,,,,, ,,, ,, ,:: :: `:: :: :: ,, .,, ,,, ,, .,, ,, ,,,, ,, ::` :: `:: :: :: ,, ,,, ,,` ,, ,, ,, ,,,,, ,, :: :: `:: :::::: ,, ,, ,,, ,,,,, ,,,,,, ,, ,,, ,, :: :: `:: ::::: ,, ,, ,,, ,,`,, ,,,,,, ,, `,, ,, ::. :: `:: :: ,, ,,, ,, ,, ,,, ,, ,, ,,,,, .:: :: `:: :: ,, ,,. ,,, ,, ,,, ,, ,, ,,,, ,:::::: :::::,`:: :: ,, .,,,,,,, ,, `,, ,,,,,, ,, ,,, .::::: :::::,`:: :: ,, ,,,,, ,, ,,, ,,,,,, ,, ,, */ contract CLIP is ERC223, Ownable { using SafeMath for uint256; string public name = "ClipToken"; string public symbol = "CLIP"; uint8 public decimals = 8; uint256 public totalSupply = 333e8 * 1e8; uint256 public distributeAmount = 0; mapping (address => uint256) public balanceOf; mapping (address => bool) public frozenAccount; mapping (address => uint256) public unlockUnixTime; event FrozenFunds(address indexed target, bool frozen); event LockedFunds(address indexed target, uint256 locked); event Burn(address indexed burner, uint256 value); function CLIP() public { balanceOf[msg.sender] = totalSupply; } function name() public view returns (string _name) { return name; } function symbol() public view returns (string _symbol) { return symbol; } function decimals() public view returns (uint8 _decimals) { return decimals; } function totalSupply() public view returns (uint256 _totalSupply) { return totalSupply; } function balanceOf(address _owner) public view returns (uint256 balance) { return balanceOf[_owner]; } modifier onlyPayloadSize(uint256 size){ assert(msg.data.length >= size + 4); _; } // Function that is called when a user or another contract wants to transfer funds . function transfer(address _to, uint _value, bytes _data, string _custom_fallback) public returns (bool success) { require(_value > 0 && frozenAccount[msg.sender] == false && frozenAccount[_to] == false && now > unlockUnixTime[msg.sender] && now > unlockUnixTime[_to]); if(isContract(_to)) { if (balanceOf[msg.sender] < _value) revert(); balanceOf[msg.sender] = SafeMath.sub(balanceOf[msg.sender], _value); balanceOf[_to] = SafeMath.add(balanceOf[_to], _value); assert(_to.call.value(0)(bytes4(keccak256(_custom_fallback)), msg.sender, _value, _data)); Transfer(msg.sender, _to, _value, _data); Transfer(msg.sender, _to, _value); return true; } else { return transferToAddress(_to, _value, _data); } } // Function that is called when a user or another contract wants to transfer funds . function transfer(address _to, uint _value, bytes _data) public returns (bool success) { require(_value > 0 && frozenAccount[msg.sender] == false && frozenAccount[_to] == false && now > unlockUnixTime[msg.sender] && now > unlockUnixTime[_to]); if(isContract(_to)) { return transferToContract(_to, _value, _data); } else { return transferToAddress(_to, _value, _data); } } // Standard function transfer similar to ERC20 transfer with no _data . // Added due to backwards compatibility reasons . function transfer(address _to, uint _value) public returns (bool success) { require(_value > 0 && frozenAccount[msg.sender] == false && frozenAccount[_to] == false && now > unlockUnixTime[msg.sender] && now > unlockUnixTime[_to]); //standard function transfer similar to ERC20 transfer with no _data //added due to backwards compatibility reasons bytes memory empty; if(isContract(_to)) { return transferToContract(_to, _value, empty); } else { return transferToAddress(_to, _value, empty); } } // assemble the given address bytecode. If bytecode exists then the _addr is a contract. function isContract(address _addr) private view returns (bool is_contract) { uint length; assembly { // retrieve the size of the code on target address, this needs assembly length := extcodesize(_addr) } return (length>0); } // function that is called when transaction target is an address function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) { if (balanceOf[msg.sender] < _value) revert(); balanceOf[msg.sender] = SafeMath.sub(balanceOf[msg.sender], _value); balanceOf[_to] = SafeMath.add(balanceOf[_to], _value); Transfer(msg.sender, _to, _value, _data); Transfer(msg.sender, _to, _value); return true; } //function that is called when transaction target is a contract function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) { if (balanceOf[msg.sender] < _value) revert(); balanceOf[msg.sender] = SafeMath.sub(balanceOf[msg.sender], _value); balanceOf[_to] = SafeMath.add(balanceOf[_to], _value); ContractReceiver receiver = ContractReceiver(_to); receiver.tokenFallback(msg.sender, _value, _data); Transfer(msg.sender, _to, _value, _data); Transfer(msg.sender, _to, _value); return true; } /** * @dev Prevent targets from sending or receiving tokens * @param targets Addresses to be frozen * @param isFrozen either to freeze it or not */ function freezeAccounts(address[] targets, bool isFrozen) onlyOwner public { require(targets.length > 0); for (uint i = 0; i < targets.length; i++) { require(targets[i] != 0x0); frozenAccount[targets[i]] = isFrozen; FrozenFunds(targets[i], isFrozen); } } /** * @dev Prevent targets from sending or receiving tokens by setting Unix times * @param targets Addresses to be locked funds * @param unixTimes Unix times when locking up will be finished */ function lockupAccounts(address[] targets, uint[] unixTimes) onlyOwner public { require(targets.length > 0 && targets.length == unixTimes.length); for(uint i = 0; i < targets.length; i++){ require(unlockUnixTime[targets[i]] < unixTimes[i]); unlockUnixTime[targets[i]] = unixTimes[i]; LockedFunds(targets[i], unixTimes[i]); } } /** * @dev Burns a specific amount of tokens. * @param _from The address that will burn the tokens. * @param _unitAmount The amount of token to be burned. */ function burn(address _from, uint256 _unitAmount) onlyOwner public { require(_unitAmount > 0 && balanceOf[_from] >= _unitAmount); balanceOf[_from] = SafeMath.sub(balanceOf[_from], _unitAmount); totalSupply = SafeMath.sub(totalSupply, _unitAmount); Burn(_from, _unitAmount); } /** * @dev Function to distribute tokens to the list of addresses by the provided amount */ function distributeAirdrop(address[] addresses, uint256 amount) public returns (bool) { require(amount > 0 && addresses.length > 0 && frozenAccount[msg.sender] == false && now > unlockUnixTime[msg.sender]); amount = amount.mul(1e8); uint256 totalAmount = amount.mul(addresses.length); require(balanceOf[msg.sender] >= totalAmount); for (uint i = 0; i < addresses.length; i++) { require(addresses[i] != 0x0 && frozenAccount[addresses[i]] == false && now > unlockUnixTime[addresses[i]]); balanceOf[addresses[i]] = balanceOf[addresses[i]].add(amount); Transfer(msg.sender, addresses[i], amount); } balanceOf[msg.sender] = balanceOf[msg.sender].sub(totalAmount); return true; } function distributeToken(address[] addresses, uint[] amounts) public returns (bool) { require(addresses.length > 0 && addresses.length == amounts.length && frozenAccount[msg.sender] == false && now > unlockUnixTime[msg.sender]); uint256 totalAmount = 0; for(uint i = 0; i < addresses.length; i++){ require(amounts[i] > 0 && addresses[i] != 0x0 && frozenAccount[addresses[i]] == false && now > unlockUnixTime[addresses[i]]); amounts[i] = amounts[i].mul(1e8); totalAmount = totalAmount.add(amounts[i]); } require(balanceOf[msg.sender] >= totalAmount); for (i = 0; i < addresses.length; i++) { balanceOf[addresses[i]] = balanceOf[addresses[i]].add(amounts[i]); Transfer(msg.sender, addresses[i], amounts[i]); } balanceOf[msg.sender] = balanceOf[msg.sender].sub(totalAmount); return true; } /** * @dev Function to collect tokens from the list of addresses */ function collectTokens(address[] addresses, uint[] amounts) onlyOwner public returns (bool) { require(addresses.length > 0 && addresses.length == amounts.length); uint256 totalAmount = 0; for (uint i = 0; i < addresses.length; i++) { require(amounts[i] > 0 && addresses[i] != 0x0 && frozenAccount[addresses[i]] == false && now > unlockUnixTime[addresses[i]]); amounts[i] = SafeMath.mul(amounts[i], 1e8); require(balanceOf[addresses[i]] >= amounts[i]); balanceOf[addresses[i]] = SafeMath.sub(balanceOf[addresses[i]], amounts[i]); totalAmount = SafeMath.add(totalAmount, amounts[i]); Transfer(addresses[i], msg.sender, amounts[i]); } balanceOf[msg.sender] = SafeMath.add(balanceOf[msg.sender], totalAmount); return true; } function setDistributeAmount(uint256 _unitAmount) onlyOwner public { distributeAmount = _unitAmount; } /** * @dev Function to distribute tokens to the msg.sender automatically * If distributeAmount is 0, this function doesn't work */ function autoDistribute() payable public { require(distributeAmount > 0 && balanceOf[owner] >= distributeAmount && frozenAccount[msg.sender] == false && now > unlockUnixTime[msg.sender]); if (msg.value > 0) owner.transfer(msg.value); balanceOf[owner] = SafeMath.sub(balanceOf[owner], distributeAmount); balanceOf[msg.sender] = SafeMath.add(balanceOf[msg.sender], distributeAmount); Transfer(owner, msg.sender, distributeAmount); } /** * @dev token fallback function */ function() payable public { autoDistribute(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"distributeAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"targets","type":"address[]"},{"name":"unixTimes","type":"uint256[]"}],"name":"lockupAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"distributeToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"distributeAirdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_unitAmount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"autoDistribute","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"targets","type":"address[]"},{"name":"isFrozen","type":"bool"}],"name":"freezeAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"unlockUnixTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unitAmount","type":"uint256"}],"name":"setDistributeAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"collectTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"},{"name":"_custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":false,"name":"locked","type":"uint256"}],"name":"LockedFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"data","type":"bytes"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
606060405260408051908101604052600981527f436c6970546f6b656e0000000000000000000000000000000000000000000000602082015260029080516200004d929160200190620000f9565b5060408051908101604052600481527f434c4950000000000000000000000000000000000000000000000000000000006020820152600390805162000097929160200190620000f9565b506004805460ff19166008179055672e36895b5e0d000060055560006006553415620000c257600080fd5b60018054600160a060020a03191633600160a060020a0316908117909155600554600091825260076020526040909120556200019e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013c57805160ff19168380011785556200016c565b828001600101855582156200016c579182015b828111156200016c5782518255916020019190600101906200014f565b506200017a9291506200017e565b5090565b6200019b91905b808211156200017a576000815560010162000185565b90565b611efd80620001ae6000396000f3006060604052600436106101035763ffffffff60e060020a60003504166306fdde03811461010d57806318160ddd14610197578063313ce567146101bc5780634f25eced146101e557806364ddc605146101f8578063659de63b1461028757806370a082311461032a5780638da5cb5b14610349578063945946251461037857806395d89b41146103c95780639dc29fac146103dc578063a8f11eb914610103578063a9059cbb146103fe578063b414d4b614610420578063be45fd621461043f578063c341b9f6146104a4578063cbbe974b146104f7578063d39b1d4814610516578063f0dc41711461052c578063f2fde38b146105bb578063f6368f8a146105da575b61010b610681565b005b341561011857600080fd5b6101206107e9565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561015c578082015183820152602001610144565b50505050905090810190601f1680156101895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101a257600080fd5b6101aa610891565b60405190815260200160405180910390f35b34156101c757600080fd5b6101cf610897565b60405160ff909116815260200160405180910390f35b34156101f057600080fd5b6101aa6108a0565b341561020357600080fd5b61010b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506108a695505050505050565b341561029257600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610a0095505050505050565b604051901515815260200160405180910390f35b341561033557600080fd5b6101aa600160a060020a0360043516610d2f565b341561035457600080fd5b61035c610d4a565b604051600160a060020a03909116815260200160405180910390f35b341561038357600080fd5b61031660046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350610d5992505050565b34156103d457600080fd5b610120610f6a565b34156103e757600080fd5b61010b600160a060020a0360043516602435610fdd565b341561040957600080fd5b610316600160a060020a03600435166024356110b9565b341561042b57600080fd5b610316600160a060020a0360043516611194565b341561044a57600080fd5b61031660048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506111a995505050505050565b34156104af57600080fd5b61010b600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050505091351515915061127b9050565b341561050257600080fd5b6101aa600160a060020a036004351661137d565b341561052157600080fd5b61010b60043561138f565b341561053757600080fd5b6103166004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506113af95505050505050565b34156105c657600080fd5b61010b600160a060020a0360043516611696565b34156105e557600080fd5b61031660048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061173195505050505050565b60006006541180156106af5750600654600154600160a060020a031660009081526007602052604090205410155b80156106d45750600160a060020a03331660009081526008602052604090205460ff16155b80156106f75750600160a060020a03331660009081526009602052604090205442115b151561070257600080fd5b600034111561073f57600154600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561073f57600080fd5b600154600160a060020a03166000908152600760205260409020546006546107679190611a7d565b600154600160a060020a0390811660009081526007602052604080822093909355339091168152205460065461079d9190611a8f565b600160a060020a0333811660008181526007602052604090819020939093556001546006549193921691600080516020611eb283398151915291905190815260200160405180910390a3565b6107f1611e9f565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108875780601f1061085c57610100808354040283529160200191610887565b820191906000526020600020905b81548152906001019060200180831161086a57829003601f168201915b5050505050905090565b60055490565b60045460ff1690565b60065481565b60015460009033600160a060020a039081169116146108c457600080fd5b600083511180156108d6575081518351145b15156108e157600080fd5b5060005b82518110156109fb578181815181106108fa57fe5b906020019060200201516009600085848151811061091457fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541061094257600080fd5b81818151811061094e57fe5b906020019060200201516009600085848151811061096857fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205582818151811061099857fe5b90602001906020020151600160a060020a03167f1bd6fb9fa2c39ce5d0d2afa1eaba998963eb5f553fd862c94f131aa9e35c15778383815181106109d857fe5b9060200190602002015160405190815260200160405180910390a26001016108e5565b505050565b6000806000808551118015610a16575083518551145b8015610a3b5750600160a060020a03331660009081526008602052604090205460ff16155b8015610a5e5750600160a060020a03331660009081526009602052604090205442115b1515610a6957600080fd5b5060009050805b8451811015610bbb576000848281518110610a8757fe5b90602001906020020151118015610abb5750848181518110610aa557fe5b90602001906020020151600160a060020a031615155b8015610afb575060086000868381518110610ad257fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16155b8015610b40575060096000868381518110610b1257fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b1515610b4b57600080fd5b610b756305f5e100858381518110610b5f57fe5b906020019060200201519063ffffffff611a9e16565b848281518110610b8157fe5b60209081029091010152610bb1848281518110610b9a57fe5b90602001906020020151839063ffffffff611a8f16565b9150600101610a70565b600160a060020a03331660009081526007602052604090205482901015610be157600080fd5b5060005b8451811015610ce257610c47848281518110610bfd57fe5b9060200190602002015160076000888581518110610c1757fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff611a8f16565b60076000878481518110610c5757fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055848181518110610c8757fe5b90602001906020020151600160a060020a031633600160a060020a0316600080516020611eb2833981519152868481518110610cbf57fe5b9060200190602002015160405190815260200160405180910390a3600101610be5565b600160a060020a033316600090815260076020526040902054610d0b908363ffffffff611a7d16565b33600160a060020a0316600090815260076020526040902055506001949350505050565b600160a060020a031660009081526007602052604090205490565b600154600160a060020a031681565b60008060008084118015610d6e575060008551115b8015610d935750600160a060020a03331660009081526008602052604090205460ff16155b8015610db65750600160a060020a03331660009081526009602052604090205442115b1515610dc157600080fd5b610dd5846305f5e10063ffffffff611a9e16565b9350610de98551859063ffffffff611a9e16565b600160a060020a03331660009081526007602052604090205490925082901015610e1257600080fd5b5060005b8451811015610ce257848181518110610e2b57fe5b90602001906020020151600160a060020a031615801590610e80575060086000868381518110610e5757fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16155b8015610ec5575060096000868381518110610e9757fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b1515610ed057600080fd5b610ee48460076000888581518110610c1757fe5b60076000878481518110610ef457fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055848181518110610f2457fe5b90602001906020020151600160a060020a031633600160a060020a0316600080516020611eb28339815191528660405190815260200160405180910390a3600101610e16565b610f72611e9f565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108875780601f1061085c57610100808354040283529160200191610887565b60015433600160a060020a03908116911614610ff857600080fd5b6000811180156110215750600160a060020a038216600090815260076020526040902054819010155b151561102c57600080fd5b600160a060020a03821660009081526007602052604090205461104f9082611a7d565b600160a060020a0383166000908152600760205260409020556005546110759082611a7d565b600555600160a060020a0382167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405190815260200160405180910390a25050565b60006110c3611e9f565b6000831180156110ec5750600160a060020a03331660009081526008602052604090205460ff16155b80156111115750600160a060020a03841660009081526008602052604090205460ff16155b80156111345750600160a060020a03331660009081526009602052604090205442115b80156111575750600160a060020a03841660009081526009602052604090205442115b151561116257600080fd5b61116b84611ac9565b156111825761117b848483611ad1565b915061118d565b61117b848483611d28565b5092915050565b60086020526000908152604090205460ff1681565b600080831180156111d35750600160a060020a03331660009081526008602052604090205460ff16155b80156111f85750600160a060020a03841660009081526008602052604090205460ff16155b801561121b5750600160a060020a03331660009081526009602052604090205442115b801561123e5750600160a060020a03841660009081526009602052604090205442115b151561124957600080fd5b61125284611ac9565b1561126957611262848484611ad1565b9050611274565b611262848484611d28565b9392505050565b60015460009033600160a060020a0390811691161461129957600080fd5b60008351116112a757600080fd5b5060005b82518110156109fb578281815181106112c057fe5b90602001906020020151600160a060020a031615156112de57600080fd5b81600860008584815181106112ef57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff191691151591909117905582818151811061132d57fe5b90602001906020020151600160a060020a03167f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a583604051901515815260200160405180910390a26001016112ab565b60096020526000908152604090205481565b60015433600160a060020a039081169116146113aa57600080fd5b600655565b6001546000908190819033600160a060020a039081169116146113d157600080fd5b600085511180156113e3575083518551145b15156113ee57600080fd5b5060009050805b845181101561167357600084828151811061140c57fe5b90602001906020020151118015611440575084818151811061142a57fe5b90602001906020020151600160a060020a031615155b801561148057506008600086838151811061145757fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16155b80156114c557506009600086838151811061149757fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b15156114d057600080fd5b6114f38482815181106114df57fe5b906020019060200201516305f5e100611a9e565b8482815181106114ff57fe5b6020908102909101015283818151811061151557fe5b906020019060200201516007600087848151811061152f57fe5b90602001906020020151600160a060020a03168152602081019190915260400160002054101561155e57600080fd5b6115b76007600087848151811061157157fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020548583815181106115a857fe5b90602001906020020151611a7d565b600760008784815181106115c757fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205561160a828583815181106115fb57fe5b90602001906020020151611a8f565b915033600160a060020a031685828151811061162257fe5b90602001906020020151600160a060020a0316600080516020611eb283398151915286848151811061165057fe5b9060200190602002015160405190815260200160405180910390a36001016113f5565b600160a060020a033316600090815260076020526040902054610d0b9083611a8f565b60015433600160a060020a039081169116146116b157600080fd5b600160a060020a03811615156116c657600080fd5b600154600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000808411801561175b5750600160a060020a03331660009081526008602052604090205460ff16155b80156117805750600160a060020a03851660009081526008602052604090205460ff16155b80156117a35750600160a060020a03331660009081526009602052604090205442115b80156117c65750600160a060020a03851660009081526009602052604090205442115b15156117d157600080fd5b6117da85611ac9565b15611a6757600160a060020a0333166000908152600760205260409020548490101561180557600080fd5b600160a060020a0333166000908152600760205260409020546118289085611a7d565b600160a060020a0333811660009081526007602052604080822093909355908716815220546118579085611a8f565b600160a060020a0386166000818152600760205260408082209390935590918490518082805190602001908083835b602083106118a55780518252601f199092019160209182019101611886565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b8381101561193657808201518382015260200161191e565b50505050905090810190601f1680156119635780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f19350505050151561198757fe5b826040518082805190602001908083835b602083106119b75780518252601f199092019160209182019101611998565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031633600160a060020a0316600080516020611eb28339815191528660405190815260200160405180910390a3506001611a75565b611a72858585611d28565b90505b949350505050565b600082821115611a8957fe5b50900390565b60008282018381101561127457fe5b600080831515611ab1576000915061118d565b50828202828482811515611ac157fe5b041461127457fe5b6000903b1190565b600160a060020a033316600090815260076020526040812054819084901015611af957600080fd5b600160a060020a033316600090815260076020526040902054611b1c9085611a7d565b600160a060020a033381166000908152600760205260408082209390935590871681522054611b4b9085611a8f565b600160a060020a03861660008181526007602052604090819020929092558692509063c0ee0b8a90339087908790518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611be4578082015183820152602001611bcc565b50505050905090810190601f168015611c115780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515611c3157600080fd5b6102c65a03f11515611c4257600080fd5b505050826040518082805190602001908083835b60208310611c755780518252601f199092019160209182019101611c56565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031633600160a060020a0316600080516020611eb28339815191528660405190815260200160405180910390a3506001949350505050565b600160a060020a03331660009081526007602052604081205483901015611d4e57600080fd5b600160a060020a033316600090815260076020526040902054611d719084611a7d565b600160a060020a033381166000908152600760205260408082209390935590861681522054611da09084611a8f565b600160a060020a03851660009081526007602052604090819020919091558290518082805190602001908083835b60208310611ded5780518252601f199092019160209182019101611dce565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168660405190815260200160405180910390a483600160a060020a031633600160a060020a0316600080516020611eb28339815191528560405190815260200160405180910390a35060019392505050565b602060405190810160405260008152905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582096345b6e07a8b6f091ebc38d84241703d81aa49b1cee1e236e09b1a46de35ab00029
Deployed Bytecode
0x6060604052600436106101035763ffffffff60e060020a60003504166306fdde03811461010d57806318160ddd14610197578063313ce567146101bc5780634f25eced146101e557806364ddc605146101f8578063659de63b1461028757806370a082311461032a5780638da5cb5b14610349578063945946251461037857806395d89b41146103c95780639dc29fac146103dc578063a8f11eb914610103578063a9059cbb146103fe578063b414d4b614610420578063be45fd621461043f578063c341b9f6146104a4578063cbbe974b146104f7578063d39b1d4814610516578063f0dc41711461052c578063f2fde38b146105bb578063f6368f8a146105da575b61010b610681565b005b341561011857600080fd5b6101206107e9565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561015c578082015183820152602001610144565b50505050905090810190601f1680156101895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101a257600080fd5b6101aa610891565b60405190815260200160405180910390f35b34156101c757600080fd5b6101cf610897565b60405160ff909116815260200160405180910390f35b34156101f057600080fd5b6101aa6108a0565b341561020357600080fd5b61010b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506108a695505050505050565b341561029257600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610a0095505050505050565b604051901515815260200160405180910390f35b341561033557600080fd5b6101aa600160a060020a0360043516610d2f565b341561035457600080fd5b61035c610d4a565b604051600160a060020a03909116815260200160405180910390f35b341561038357600080fd5b61031660046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350610d5992505050565b34156103d457600080fd5b610120610f6a565b34156103e757600080fd5b61010b600160a060020a0360043516602435610fdd565b341561040957600080fd5b610316600160a060020a03600435166024356110b9565b341561042b57600080fd5b610316600160a060020a0360043516611194565b341561044a57600080fd5b61031660048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506111a995505050505050565b34156104af57600080fd5b61010b600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050505091351515915061127b9050565b341561050257600080fd5b6101aa600160a060020a036004351661137d565b341561052157600080fd5b61010b60043561138f565b341561053757600080fd5b6103166004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506113af95505050505050565b34156105c657600080fd5b61010b600160a060020a0360043516611696565b34156105e557600080fd5b61031660048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061173195505050505050565b60006006541180156106af5750600654600154600160a060020a031660009081526007602052604090205410155b80156106d45750600160a060020a03331660009081526008602052604090205460ff16155b80156106f75750600160a060020a03331660009081526009602052604090205442115b151561070257600080fd5b600034111561073f57600154600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561073f57600080fd5b600154600160a060020a03166000908152600760205260409020546006546107679190611a7d565b600154600160a060020a0390811660009081526007602052604080822093909355339091168152205460065461079d9190611a8f565b600160a060020a0333811660008181526007602052604090819020939093556001546006549193921691600080516020611eb283398151915291905190815260200160405180910390a3565b6107f1611e9f565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108875780601f1061085c57610100808354040283529160200191610887565b820191906000526020600020905b81548152906001019060200180831161086a57829003601f168201915b5050505050905090565b60055490565b60045460ff1690565b60065481565b60015460009033600160a060020a039081169116146108c457600080fd5b600083511180156108d6575081518351145b15156108e157600080fd5b5060005b82518110156109fb578181815181106108fa57fe5b906020019060200201516009600085848151811061091457fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541061094257600080fd5b81818151811061094e57fe5b906020019060200201516009600085848151811061096857fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205582818151811061099857fe5b90602001906020020151600160a060020a03167f1bd6fb9fa2c39ce5d0d2afa1eaba998963eb5f553fd862c94f131aa9e35c15778383815181106109d857fe5b9060200190602002015160405190815260200160405180910390a26001016108e5565b505050565b6000806000808551118015610a16575083518551145b8015610a3b5750600160a060020a03331660009081526008602052604090205460ff16155b8015610a5e5750600160a060020a03331660009081526009602052604090205442115b1515610a6957600080fd5b5060009050805b8451811015610bbb576000848281518110610a8757fe5b90602001906020020151118015610abb5750848181518110610aa557fe5b90602001906020020151600160a060020a031615155b8015610afb575060086000868381518110610ad257fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16155b8015610b40575060096000868381518110610b1257fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b1515610b4b57600080fd5b610b756305f5e100858381518110610b5f57fe5b906020019060200201519063ffffffff611a9e16565b848281518110610b8157fe5b60209081029091010152610bb1848281518110610b9a57fe5b90602001906020020151839063ffffffff611a8f16565b9150600101610a70565b600160a060020a03331660009081526007602052604090205482901015610be157600080fd5b5060005b8451811015610ce257610c47848281518110610bfd57fe5b9060200190602002015160076000888581518110610c1757fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff611a8f16565b60076000878481518110610c5757fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055848181518110610c8757fe5b90602001906020020151600160a060020a031633600160a060020a0316600080516020611eb2833981519152868481518110610cbf57fe5b9060200190602002015160405190815260200160405180910390a3600101610be5565b600160a060020a033316600090815260076020526040902054610d0b908363ffffffff611a7d16565b33600160a060020a0316600090815260076020526040902055506001949350505050565b600160a060020a031660009081526007602052604090205490565b600154600160a060020a031681565b60008060008084118015610d6e575060008551115b8015610d935750600160a060020a03331660009081526008602052604090205460ff16155b8015610db65750600160a060020a03331660009081526009602052604090205442115b1515610dc157600080fd5b610dd5846305f5e10063ffffffff611a9e16565b9350610de98551859063ffffffff611a9e16565b600160a060020a03331660009081526007602052604090205490925082901015610e1257600080fd5b5060005b8451811015610ce257848181518110610e2b57fe5b90602001906020020151600160a060020a031615801590610e80575060086000868381518110610e5757fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16155b8015610ec5575060096000868381518110610e9757fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b1515610ed057600080fd5b610ee48460076000888581518110610c1757fe5b60076000878481518110610ef457fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055848181518110610f2457fe5b90602001906020020151600160a060020a031633600160a060020a0316600080516020611eb28339815191528660405190815260200160405180910390a3600101610e16565b610f72611e9f565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108875780601f1061085c57610100808354040283529160200191610887565b60015433600160a060020a03908116911614610ff857600080fd5b6000811180156110215750600160a060020a038216600090815260076020526040902054819010155b151561102c57600080fd5b600160a060020a03821660009081526007602052604090205461104f9082611a7d565b600160a060020a0383166000908152600760205260409020556005546110759082611a7d565b600555600160a060020a0382167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405190815260200160405180910390a25050565b60006110c3611e9f565b6000831180156110ec5750600160a060020a03331660009081526008602052604090205460ff16155b80156111115750600160a060020a03841660009081526008602052604090205460ff16155b80156111345750600160a060020a03331660009081526009602052604090205442115b80156111575750600160a060020a03841660009081526009602052604090205442115b151561116257600080fd5b61116b84611ac9565b156111825761117b848483611ad1565b915061118d565b61117b848483611d28565b5092915050565b60086020526000908152604090205460ff1681565b600080831180156111d35750600160a060020a03331660009081526008602052604090205460ff16155b80156111f85750600160a060020a03841660009081526008602052604090205460ff16155b801561121b5750600160a060020a03331660009081526009602052604090205442115b801561123e5750600160a060020a03841660009081526009602052604090205442115b151561124957600080fd5b61125284611ac9565b1561126957611262848484611ad1565b9050611274565b611262848484611d28565b9392505050565b60015460009033600160a060020a0390811691161461129957600080fd5b60008351116112a757600080fd5b5060005b82518110156109fb578281815181106112c057fe5b90602001906020020151600160a060020a031615156112de57600080fd5b81600860008584815181106112ef57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff191691151591909117905582818151811061132d57fe5b90602001906020020151600160a060020a03167f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a583604051901515815260200160405180910390a26001016112ab565b60096020526000908152604090205481565b60015433600160a060020a039081169116146113aa57600080fd5b600655565b6001546000908190819033600160a060020a039081169116146113d157600080fd5b600085511180156113e3575083518551145b15156113ee57600080fd5b5060009050805b845181101561167357600084828151811061140c57fe5b90602001906020020151118015611440575084818151811061142a57fe5b90602001906020020151600160a060020a031615155b801561148057506008600086838151811061145757fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16155b80156114c557506009600086838151811061149757fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b15156114d057600080fd5b6114f38482815181106114df57fe5b906020019060200201516305f5e100611a9e565b8482815181106114ff57fe5b6020908102909101015283818151811061151557fe5b906020019060200201516007600087848151811061152f57fe5b90602001906020020151600160a060020a03168152602081019190915260400160002054101561155e57600080fd5b6115b76007600087848151811061157157fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020548583815181106115a857fe5b90602001906020020151611a7d565b600760008784815181106115c757fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205561160a828583815181106115fb57fe5b90602001906020020151611a8f565b915033600160a060020a031685828151811061162257fe5b90602001906020020151600160a060020a0316600080516020611eb283398151915286848151811061165057fe5b9060200190602002015160405190815260200160405180910390a36001016113f5565b600160a060020a033316600090815260076020526040902054610d0b9083611a8f565b60015433600160a060020a039081169116146116b157600080fd5b600160a060020a03811615156116c657600080fd5b600154600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000808411801561175b5750600160a060020a03331660009081526008602052604090205460ff16155b80156117805750600160a060020a03851660009081526008602052604090205460ff16155b80156117a35750600160a060020a03331660009081526009602052604090205442115b80156117c65750600160a060020a03851660009081526009602052604090205442115b15156117d157600080fd5b6117da85611ac9565b15611a6757600160a060020a0333166000908152600760205260409020548490101561180557600080fd5b600160a060020a0333166000908152600760205260409020546118289085611a7d565b600160a060020a0333811660009081526007602052604080822093909355908716815220546118579085611a8f565b600160a060020a0386166000818152600760205260408082209390935590918490518082805190602001908083835b602083106118a55780518252601f199092019160209182019101611886565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b8381101561193657808201518382015260200161191e565b50505050905090810190601f1680156119635780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f19350505050151561198757fe5b826040518082805190602001908083835b602083106119b75780518252601f199092019160209182019101611998565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031633600160a060020a0316600080516020611eb28339815191528660405190815260200160405180910390a3506001611a75565b611a72858585611d28565b90505b949350505050565b600082821115611a8957fe5b50900390565b60008282018381101561127457fe5b600080831515611ab1576000915061118d565b50828202828482811515611ac157fe5b041461127457fe5b6000903b1190565b600160a060020a033316600090815260076020526040812054819084901015611af957600080fd5b600160a060020a033316600090815260076020526040902054611b1c9085611a7d565b600160a060020a033381166000908152600760205260408082209390935590871681522054611b4b9085611a8f565b600160a060020a03861660008181526007602052604090819020929092558692509063c0ee0b8a90339087908790518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611be4578082015183820152602001611bcc565b50505050905090810190601f168015611c115780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515611c3157600080fd5b6102c65a03f11515611c4257600080fd5b505050826040518082805190602001908083835b60208310611c755780518252601f199092019160209182019101611c56565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031633600160a060020a0316600080516020611eb28339815191528660405190815260200160405180910390a3506001949350505050565b600160a060020a03331660009081526007602052604081205483901015611d4e57600080fd5b600160a060020a033316600090815260076020526040902054611d719084611a7d565b600160a060020a033381166000908152600760205260408082209390935590861681522054611da09084611a8f565b600160a060020a03851660009081526007602052604090819020919091558290518082805190602001908083835b60208310611ded5780518252601f199092019160209182019101611dce565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168660405190815260200160405180910390a483600160a060020a031633600160a060020a0316600080516020611eb28339815191528560405190815260200160405180910390a35060019392505050565b602060405190810160405260008152905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582096345b6e07a8b6f091ebc38d84241703d81aa49b1cee1e236e09b1a46de35ab00029
Swarm Source
bzzr://96345b6e07a8b6f091ebc38d84241703d81aa49b1cee1e236e09b1a46de35ab0
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.