Overview
Max Total Supply
16,051,589.782693112363990381 TBX
Holders
1,829 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH (+2.60%)
Onchain Market Cap
$21,541.74
Circulating Supply Market Cap
$15,078.33
Other Info
Token Contract (WITH 18 Decimals)
Balance
1.77 TBXValue
$0.00 ( ~0 Eth) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TokenboxToken
Compiler Version
v0.4.19-nightly.2017.11.11+commit.284c3839
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-12-03 */ pragma solidity ^0.4.18; /// @title Abstract ERC20 token interface contract AbstractToken { function balanceOf(address owner) public view returns (uint256 balance); function transfer(address to, uint256 value) public returns (bool success); function transferFrom(address from, address to, uint256 value) public returns (bool success); function approve(address spender, uint256 value) public returns (bool success); function allowance(address owner, address spender) public view returns (uint256 remaining); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event Issuance(address indexed to, uint256 value); } contract Owned { address public owner = msg.sender; address public potentialOwner; modifier onlyOwner { require(msg.sender == owner); _; } modifier onlyPotentialOwner { require(msg.sender == potentialOwner); _; } event NewOwner(address old, address current); event NewPotentialOwner(address old, address potential); function setOwner(address _new) public onlyOwner { NewPotentialOwner(owner, _new); potentialOwner = _new; } function confirmOwnership() public onlyPotentialOwner { NewOwner(owner, potentialOwner); owner = potentialOwner; potentialOwner = 0; } } /// Implements ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20 contract StandardToken is AbstractToken, Owned { /* * Data structures */ mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; uint256 public totalSupply; /* * Read and write storage functions */ /// @dev Transfers sender's tokens to a given address. Returns success. /// @param _to Address of token receiver. /// @param _value Number of tokens to transfer. function transfer(address _to, uint256 _value) public returns (bool success) { if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) { balances[msg.sender] -= _value; balances[_to] += _value; Transfer(msg.sender, _to, _value); return true; } else { return false; } } /// @dev Allows allowed third party to transfer tokens from one address to another. Returns success. /// @param _from Address from where tokens are withdrawn. /// @param _to Address to where tokens are sent. /// @param _value Number of tokens to transfer. function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) { balances[_to] += _value; balances[_from] -= _value; allowed[_from][msg.sender] -= _value; Transfer(_from, _to, _value); return true; } else { return false; } } /// @dev Returns number of tokens owned by given address. /// @param _owner Address of token owner. function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } /// @dev Sets approved amount of tokens for spender. Returns success. /// @param _spender Address of allowed account. /// @param _value Number of approved tokens. function approve(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /* * Read storage functions */ /// @dev Returns number of allowed tokens for given address. /// @param _owner Address of token owner. /// @param _spender Address of token spender. function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } } /// @title SafeMath contract - Math operations with safety checks. /// @author OpenZeppelin: https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol contract SafeMath { function mul(uint a, uint b) internal pure returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint a, uint b) internal pure returns (uint) { assert(b > 0); uint c = a / b; assert(a == b * c + a % b); return c; } function sub(uint a, uint b) internal pure returns (uint) { assert(b <= a); return a - b; } function add(uint a, uint b) internal pure returns (uint) { uint c = a + b; assert(c >= a); return c; } function pow(uint a, uint b) internal pure returns (uint) { uint c = a ** b; assert(c >= a); return c; } } /// @title Token contract - Implements Standard ERC20 with additional features. /// @author Zerion - <[email protected]> contract Token is StandardToken, SafeMath { // Time of the contract creation uint public creationTime; function Token() public { creationTime = now; } /// @dev Owner can transfer out any accidentally sent ERC20 tokens function transferERC20Token(address tokenAddress) public onlyOwner returns (bool) { uint balance = AbstractToken(tokenAddress).balanceOf(this); return AbstractToken(tokenAddress).transfer(owner, balance); } /// @dev Multiplies the given number by 10^(decimals) function withDecimals(uint number, uint decimals) internal pure returns (uint) { return mul(number, pow(10, decimals)); } } /// @title Token contract - Implements Standard ERC20 Token for Tokenbox project. /// @author Zerion - <[email protected]> contract TokenboxToken is Token { /* * Token meta data */ string constant public name = "Tokenbox"; string constant public symbol = "TBX"; uint8 constant public decimals = 18; // Address where Foundation tokens are allocated address constant public foundationReserve = address(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); // Address where all tokens for the ICO stage are initially allocated address constant public icoAllocation = address(0x1111111111111111111111111111111111111111); // Address where all tokens for the PreICO are initially allocated address constant public preIcoAllocation = address(0x2222222222222222222222222222222222222222); // Vesting date to withdraw 15% of total sold tokens, 11/28/2018 @ 12:00pm (UTC) uint256 constant public vestingDateEnd = 1543406400; // Total USD collected (10^-12) uint256 public totalPicoUSD = 0; uint8 constant public usdDecimals = 12; // Foundation multisignature wallet, all Ether is collected there address public multisig; bool public migrationCompleted = false; // Events event InvestmentInETH(address investor, uint256 tokenPriceInWei, uint256 investedInWei, uint256 investedInPicoUsd, uint256 tokensNumber, uint256 originalTransactionHash); event InvestmentInBTC(address investor, uint256 tokenPriceInSatoshi, uint256 investedInSatoshi, uint256 investedInPicoUsd, uint256 tokensNumber, string btcAddress); event InvestmentInUSD(address investor, uint256 tokenPriceInPicoUsd, uint256 investedInPicoUsd, uint256 tokensNumber); event PresaleInvestment(address investor, uint256 investedInPicoUsd, uint256 tokensNumber); /// @dev Contract constructor, sets totalSupply function TokenboxToken(address _multisig, uint256 _preIcoTokens) public { // Overall, 31,000,000 TBX tokens are distributed totalSupply = withDecimals(31000000, decimals); uint preIcoTokens = withDecimals(_preIcoTokens, decimals); // PreICO tokens are allocated to the special address and will be distributed manually balances[preIcoAllocation] = preIcoTokens; // foundationReserve balance will be allocated after the end of the crowdsale balances[foundationReserve] = 0; // The rest of the tokens is available for sale (75% of totalSupply) balances[icoAllocation] = div(mul(totalSupply, 75), 100) - preIcoTokens; multisig = _multisig; } modifier migrationIsActive { require(!migrationCompleted); _; } modifier migrationIsCompleted { require(migrationCompleted); _; } /// @dev Settle an investment made in ETH and distribute tokens function ethInvestment(address investor, uint256 tokenPriceInPicoUsd, uint256 investedInWei, uint256 originalTransactionHash, uint256 usdToWei) public migrationIsActive onlyOwner { uint tokenPriceInWei = div(mul(tokenPriceInPicoUsd, usdToWei), pow(10, usdDecimals)); // Number of tokens to distribute uint256 tokensNumber = div(withDecimals(investedInWei, decimals), tokenPriceInWei); // Check if there is enough tokens left require(balances[icoAllocation] >= tokensNumber); uint256 investedInPicoUsd = div(withDecimals(investedInWei, usdDecimals), usdToWei); usdInvestment(investor, investedInPicoUsd, tokensNumber); InvestmentInETH(investor, tokenPriceInWei, investedInWei, investedInPicoUsd, tokensNumber, originalTransactionHash); } /// @dev Settle an investment in BTC and distribute tokens. function btcInvestment(address investor, uint256 tokenPriceInPicoUsd, uint256 investedInSatoshi, string btcAddress, uint256 usdToSatoshi) public migrationIsActive onlyOwner { uint tokenPriceInSatoshi = div(mul(tokenPriceInPicoUsd, usdToSatoshi), pow(10, usdDecimals)); // Number of tokens to distribute uint256 tokensNumber = div(withDecimals(investedInSatoshi, decimals), tokenPriceInSatoshi); // Check if there is enough tokens left require(balances[icoAllocation] >= tokensNumber); uint256 investedInPicoUsd = div(withDecimals(investedInSatoshi, usdDecimals), usdToSatoshi); usdInvestment(investor, investedInPicoUsd, tokensNumber); InvestmentInBTC(investor, tokenPriceInSatoshi, investedInSatoshi, investedInPicoUsd, tokensNumber, btcAddress); } // @dev Wire investment function wireInvestment(address investor, uint256 tokenPriceInUsdCents, uint256 investedInUsdCents) public migrationIsActive onlyOwner { uint256 tokensNumber = div(withDecimals(investedInUsdCents, decimals), tokenPriceInUsdCents); // Check if there is enough tokens left require(balances[icoAllocation] >= tokensNumber); // We subtract 2 because the value is in cents. uint256 investedInPicoUsd = withDecimals(investedInUsdCents, usdDecimals - 2); uint256 tokenPriceInPicoUsd = withDecimals(tokenPriceInUsdCents, usdDecimals - 2); usdInvestment(investor, investedInPicoUsd, tokensNumber); InvestmentInUSD(investor, tokenPriceInPicoUsd, investedInPicoUsd, tokensNumber); } // @dev Invest in USD function usdInvestment(address investor, uint256 investedInPicoUsd, uint256 tokensNumber) private { totalPicoUSD = add(totalPicoUSD, investedInPicoUsd); // Allocate tokens to an investor balances[icoAllocation] -= tokensNumber; balances[investor] += tokensNumber; Transfer(icoAllocation, investor, tokensNumber); } // @dev Repeat a transaction from the old contract during the migration function migrateTransfer(address _from, address _to, uint256 amount, uint256 originalTransactionHash) public migrationIsActive onlyOwner { require(balances[_from] >= amount); balances[_from] -= amount; balances[_to] += amount; Transfer(_from, _to, amount); } // @dev Presale tokens distribution function preIcoInvestment(address investor, uint256 investedInUsdCents, uint256 tokensNumber) public migrationIsActive onlyOwner { uint256 tokensNumberWithDecimals = withDecimals(tokensNumber, decimals); // Check if there is enough tokens left require(balances[preIcoAllocation] >= tokensNumberWithDecimals); // Allocate tokens to an investor balances[preIcoAllocation] -= tokensNumberWithDecimals; balances[investor] += tokensNumberWithDecimals; Transfer(preIcoAllocation, investor, tokensNumberWithDecimals); uint256 investedInPicoUsd = withDecimals(investedInUsdCents, usdDecimals - 2); // Add investment to totalPicoUSD collected totalPicoUSD = add(totalPicoUSD, investedInPicoUsd); PresaleInvestment(investor, investedInPicoUsd, tokensNumberWithDecimals); } /// @dev Allow token withdrawals from Foundation reserve function allowToWithdrawFromReserve() public migrationIsCompleted onlyOwner { require(now >= vestingDateEnd); // Allow the owner to withdraw tokens from the Foundation reserve allowed[foundationReserve][msg.sender] = balanceOf(foundationReserve); } // @dev Withdraws tokens from Foundation reserve function withdrawFromReserve(uint amount) public migrationIsCompleted onlyOwner { require(now >= vestingDateEnd); // Withdraw tokens from Foundation reserve to multisig address require(transferFrom(foundationReserve, multisig, amount)); } /// @dev Changes multisig address function changeMultisig(address _multisig) public onlyOwner { multisig = _multisig; } function transfer(address _to, uint256 _value) public migrationIsCompleted returns (bool success) { return super.transfer(_to, _value); } function transferFrom(address _from, address _to, uint256 _value) public migrationIsCompleted returns (bool success) { return super.transferFrom(_from, _to, _value); } /// @dev Burns the rest of the tokens after the crowdsale end and /// send 10% tokens of totalSupply to team address function finaliseICO() public migrationIsActive onlyOwner { // Total number of tokents sold during the ICO + preICO uint256 tokensSold = sub(div(mul(totalSupply, 75), 100), balanceOf(icoAllocation)); // 0.75 * totalSupply = tokensSold totalSupply = div(mul(tokensSold, 100), 75); // Send 5% bounty + 7.5% of total supply to team address balances[multisig] = div(mul(totalSupply, 125), 1000); Transfer(icoAllocation, multisig, balanceOf(multisig)); // Lock 12.5% of total supply to team address for one year balances[foundationReserve] = div(mul(totalSupply, 125), 1000); Transfer(icoAllocation, foundationReserve, balanceOf(foundationReserve)); // Burn the rest of tokens Transfer(icoAllocation, 0x0000000000000000000000000000000000000000, balanceOf(icoAllocation)); balances[icoAllocation] = 0; migrationCompleted = true; } function totalUSD() public view returns (uint) { return div(totalPicoUSD, pow(10, usdDecimals)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"totalPicoUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"investor","type":"address"},{"name":"tokenPriceInPicoUsd","type":"uint256"},{"name":"investedInSatoshi","type":"uint256"},{"name":"btcAddress","type":"string"},{"name":"usdToSatoshi","type":"uint256"}],"name":"btcInvestment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawFromReserve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_multisig","type":"address"}],"name":"changeMultisig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"migrationCompleted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finaliseICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"multisig","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"}],"name":"transferERC20Token","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"foundationReserve","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"usdDecimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"investor","type":"address"},{"name":"tokenPriceInUsdCents","type":"uint256"},{"name":"investedInUsdCents","type":"uint256"}],"name":"wireInvestment","outputs":[],"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":"potentialOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"allowToWithdrawFromReserve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"investor","type":"address"},{"name":"tokenPriceInPicoUsd","type":"uint256"},{"name":"investedInWei","type":"uint256"},{"name":"originalTransactionHash","type":"uint256"},{"name":"usdToWei","type":"uint256"}],"name":"ethInvestment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"investor","type":"address"},{"name":"investedInUsdCents","type":"uint256"},{"name":"tokensNumber","type":"uint256"}],"name":"preIcoInvestment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"confirmOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"creationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vestingDateEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"amount","type":"uint256"},{"name":"originalTransactionHash","type":"uint256"}],"name":"migrateTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"preIcoAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_multisig","type":"address"},{"name":"_preIcoTokens","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"tokenPriceInWei","type":"uint256"},{"indexed":false,"name":"investedInWei","type":"uint256"},{"indexed":false,"name":"investedInPicoUsd","type":"uint256"},{"indexed":false,"name":"tokensNumber","type":"uint256"},{"indexed":false,"name":"originalTransactionHash","type":"uint256"}],"name":"InvestmentInETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"tokenPriceInSatoshi","type":"uint256"},{"indexed":false,"name":"investedInSatoshi","type":"uint256"},{"indexed":false,"name":"investedInPicoUsd","type":"uint256"},{"indexed":false,"name":"tokensNumber","type":"uint256"},{"indexed":false,"name":"btcAddress","type":"string"}],"name":"InvestmentInBTC","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"tokenPriceInPicoUsd","type":"uint256"},{"indexed":false,"name":"investedInPicoUsd","type":"uint256"},{"indexed":false,"name":"tokensNumber","type":"uint256"}],"name":"InvestmentInUSD","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"investedInPicoUsd","type":"uint256"},{"indexed":false,"name":"tokensNumber","type":"uint256"}],"name":"PresaleInvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"old","type":"address"},{"indexed":false,"name":"current","type":"address"}],"name":"NewOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"old","type":"address"},{"indexed":false,"name":"potential","type":"address"}],"name":"NewPotentialOwner","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Issuance","type":"event"}]
Contract Creation Code
6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006006556000600760146101000a81548160ff02191690831515021790555034156200007057600080fd5b60405160408062002f7c83398101604052808051906020019091908051906020019091905050600042600581905550620000c76301d905c0601260ff16620002766401000000000262002570176401000000009004565b600481905550620000f182601260ff16620002766401000000000262002570176401000000009004565b9050806002600073222222222222222222222222222222222222222273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006002600073ffffffffffffffffffffffffffffffffffffffff801673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080620001d4620001b8600454604b620002c064010000000002620024de176401000000009004565b6064620002f6640100000000026200252f176401000000009004565b036002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200035a565b6000620002b8836200029e600a856200033b6401000000000262002511176401000000009004565b620002c064010000000002620024de176401000000009004565b905092915050565b60008082840290506000841480620002e35750828482811515620002e057fe5b04145b1515620002ec57fe5b8091505092915050565b6000806000831115156200030657fe5b82848115156200031257fe5b04905082848115156200032157fe5b0681840201841415156200033157fe5b8091505092915050565b60008082840a90508381101515156200035057fe5b8091505092915050565b612c12806200036a6000396000f3006060604052600436106101a1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302bfeeb8146101a657806305e6ee11146101cf57806306fdde0314610266578063095ea7b3146102f45780630a8bcdb91461034e57806313af40351461037157806318160ddd146103aa5780632268a358146103d357806323b872dd1461040c578063313ce5671461048557806331677980146104b457806339f95e63146104e15780634783c35b146104f65780634dc591961461054b57806356d7c2c8146105a0578063603066a4146105f157806366a4b6c01461064657806367e2d2ad1461067557806370a08231146106c05780637762df251461070d5780638a6b9be4146107625780638da5cb5b146107775780638f1d8f41146107cc57806395d89b4114610829578063a3ae88a0146108b7578063a9059cbb146108e0578063bc65c5591461093a578063d5d1e77014610985578063d8270dce1461099a578063d8353b75146109c3578063dd62ed3e146109ec578063e039967c14610a58578063f11eb09914610ac2575b600080fd5b34156101b157600080fd5b6101b9610b17565b6040518082815260200191505060405180910390f35b34156101da57600080fd5b610264600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610b1d565b005b341561027157600080fd5b610279610d55565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102b957808201518184015260208101905061029e565b50505050905090810190601f1680156102e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102ff57600080fd5b610334600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d8e565b604051808215151515815260200191505060405180910390f35b341561035957600080fd5b61036f6004808035906020019091905050610e80565b005b341561037c57600080fd5b6103a8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f58565b005b34156103b557600080fd5b6103bd6110af565b6040518082815260200191505060405180910390f35b34156103de57600080fd5b61040a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110b5565b005b341561041757600080fd5b61046b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611154565b604051808215151515815260200191505060405180910390f35b341561049057600080fd5b610498611185565b604051808260ff1660ff16815260200191505060405180910390f35b34156104bf57600080fd5b6104c761118a565b604051808215151515815260200191505060405180910390f35b34156104ec57600080fd5b6104f461119d565b005b341561050157600080fd5b6105096115ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055657600080fd5b61055e6115d4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105ab57600080fd5b6105d7600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506115ec565b604051808215151515815260200191505060405180910390f35b34156105fc57600080fd5b6106046117f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561065157600080fd5b610659611811565b604051808260ff1660ff16815260200191505060405180910390f35b341561068057600080fd5b6106be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611816565b005b34156106cb57600080fd5b6106f7600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119c1565b6040518082815260200191505060405180910390f35b341561071857600080fd5b610720611a0a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561076d57600080fd5b610775611a30565b005b341561078257600080fd5b61078a611b58565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107d757600080fd5b610827600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050611b7d565b005b341561083457600080fd5b61083c611d50565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087c578082015181840152602081019050610861565b50505050905090810190601f1680156108a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108c257600080fd5b6108ca611d89565b6040518082815260200191505060405180910390f35b34156108eb57600080fd5b610920600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611daa565b604051808215151515815260200191505060405180910390f35b341561094557600080fd5b610983600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611dd9565b005b341561099057600080fd5b61099861208b565b005b34156109a557600080fd5b6109ad612267565b6040518082815260200191505060405180910390f35b34156109ce57600080fd5b6109d661226d565b6040518082815260200191505060405180910390f35b34156109f757600080fd5b610a42600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612275565b6040518082815260200191505060405180910390f35b3415610a6357600080fd5b610ac0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080359060200190919050506122fc565b005b3415610acd57600080fd5b610ad56124c6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60065481565b6000806000600760149054906101000a900460ff16151515610b3e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b9957600080fd5b610bba610ba688866124de565b610bb5600a600c60ff16612511565b61252f565b9250610bd3610bcd87601260ff16612570565b8461252f565b9150816002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610c3757600080fd5b610c4e610c4887600c60ff16612570565b8561252f565b9050610c5b88828461258e565b7fd73e30d68edcaf46f57313bec669121749b4e2928c2e98cd232bded2d6569fad88848884868a604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200186815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d0c578082015181840152602081019050610cf1565b50505050905090810190601f168015610d395780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b6040805190810160405280600881526020017f546f6b656e626f7800000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600760149054906101000a900460ff161515610e9b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ef657600080fd5b635bfe83404210151515610f0957600080fd5b610f4a73ffffffffffffffffffffffffffffffffffffffff600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611154565b1515610f5557600080fd5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fb357600080fd5b7f8a95addc59dddee94a894365b5c66c6c2473b7084d3fd1df9f503db4a2cd6dcc6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a180600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561111057600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600760149054906101000a900460ff16151561117157600080fd5b61117c8484846126cc565b90509392505050565b601281565b600760149054906101000a900460ff1681565b6000600760149054906101000a900460ff161515156111bb57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561121657600080fd5b611252611230611229600454604b6124de565b606461252f565b61124d7311111111111111111111111111111111111111116119c1565b6129c7565b90506112696112628260646124de565b604b61252f565b60048190555061128761127f600454607d6124de565b6103e861252f565b60026000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61139c600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119c1565b6040518082815260200191505060405180910390a36113c96113c1600454607d6124de565b6103e861252f565b6002600073ffffffffffffffffffffffffffffffffffffffff801673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ffffffffffffffffffffffffffffffffffffffff801673111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61148c73ffffffffffffffffffffffffffffffffffffffff6119c1565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff1673111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115227311111111111111111111111111111111111111116119c1565b6040518082815260200191505060405180910390a360006002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760146101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73111111111111111111111111111111111111111181565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164a57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156116ed57600080fd5b6102c65a03f115156116fe57600080fd5b5050506040518051905090508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156117d657600080fd5b6102c65a03f115156117e757600080fd5b50505060405180519050915050919050565b73ffffffffffffffffffffffffffffffffffffffff81565b600c81565b6000806000600760149054906101000a900460ff1615151561183757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189257600080fd5b6118a96118a385601260ff16612570565b8661252f565b9250826002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561190d57600080fd5b61191e846002600c0360ff16612570565b9150611931856002600c0360ff16612570565b905061193e86838561258e565b7f938eae3834e37728fc8579189aaf02cb629d18822ea1bdbb21264d620e1e13ab86828486604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a1505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760149054906101000a900460ff161515611a4b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611aa657600080fd5b635bfe83404210151515611ab957600080fd5b611ad673ffffffffffffffffffffffffffffffffffffffff6119c1565b6003600073ffffffffffffffffffffffffffffffffffffffff801673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600760149054906101000a900460ff16151515611b9e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bf957600080fd5b611c1a611c0688866124de565b611c15600a600c60ff16612511565b61252f565b9250611c33611c2d87601260ff16612570565b8461252f565b9150816002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611c9757600080fd5b611cae611ca887600c60ff16612570565b8561252f565b9050611cbb88828461258e565b7f89b1bc21eb6e10bdabd97d9e9bbf1a12765c0ef825faff785d7941ed6247664a88848884868a604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a15050505050505050565b6040805190810160405280600381526020017f544258000000000000000000000000000000000000000000000000000000000081525081565b6000611da5600654611da0600a600c60ff16612511565b61252f565b905090565b6000600760149054906101000a900460ff161515611dc757600080fd5b611dd183836129e0565b905092915050565b600080600760149054906101000a900460ff16151515611df857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e5357600080fd5b611e6183601260ff16612570565b9150816002600073222222222222222222222222222222222222222273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611ec557600080fd5b816002600073222222222222222222222222222222222222222273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff1673222222222222222222222222222222222222222273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611ffd846002600c0360ff16612570565b905061200b60065482612bc8565b6006819055507f43fca754f16e3c99f62c2e37af54a5ff17ff2b96dfbd3294dfa88bfaf85b817e858284604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120e757600080fd5b7f70aea8d848e8a90fb7661b227dc522eb6395c3dac71b63cb59edd5c9899b23646000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055481565b635bfe834081565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760149054906101000a900460ff1615151561231857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561237357600080fd5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156123c157600080fd5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b73222222222222222222222222222222222222222281565b600080828402905060008414806124ff57508284828115156124fc57fe5b04145b151561250757fe5b8091505092915050565b60008082840a905083811015151561252557fe5b8091505092915050565b60008060008311151561253e57fe5b828481151561254957fe5b049050828481151561255757fe5b06818402018414151561256657fe5b8091505092915050565b600061258683612581600a85612511565b6124de565b905092915050565b61259a60065483612bc8565b600681905550806002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff1673111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015612799575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156128245750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b156129bb5781600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190506129c0565b600090505b9392505050565b60008282111515156129d557fe5b818303905092915050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015612ab05750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15612bbd5781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050612bc2565b600090505b92915050565b6000808284019050838110151515612bdc57fe5b80915050929150505600a165627a7a723058200e82663b00867cc8b1721bcb061cdb448ec4d7c0361fd7bb81c16507996171a10029000000000000000000000000ad8ea3b0215e6efd9d2f2aa22baf6d494dbf7662000000000000000000000000000000000000000000000000000000000016d32d
Deployed Bytecode
0x6060604052600436106101a1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302bfeeb8146101a657806305e6ee11146101cf57806306fdde0314610266578063095ea7b3146102f45780630a8bcdb91461034e57806313af40351461037157806318160ddd146103aa5780632268a358146103d357806323b872dd1461040c578063313ce5671461048557806331677980146104b457806339f95e63146104e15780634783c35b146104f65780634dc591961461054b57806356d7c2c8146105a0578063603066a4146105f157806366a4b6c01461064657806367e2d2ad1461067557806370a08231146106c05780637762df251461070d5780638a6b9be4146107625780638da5cb5b146107775780638f1d8f41146107cc57806395d89b4114610829578063a3ae88a0146108b7578063a9059cbb146108e0578063bc65c5591461093a578063d5d1e77014610985578063d8270dce1461099a578063d8353b75146109c3578063dd62ed3e146109ec578063e039967c14610a58578063f11eb09914610ac2575b600080fd5b34156101b157600080fd5b6101b9610b17565b6040518082815260200191505060405180910390f35b34156101da57600080fd5b610264600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610b1d565b005b341561027157600080fd5b610279610d55565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102b957808201518184015260208101905061029e565b50505050905090810190601f1680156102e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102ff57600080fd5b610334600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d8e565b604051808215151515815260200191505060405180910390f35b341561035957600080fd5b61036f6004808035906020019091905050610e80565b005b341561037c57600080fd5b6103a8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f58565b005b34156103b557600080fd5b6103bd6110af565b6040518082815260200191505060405180910390f35b34156103de57600080fd5b61040a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110b5565b005b341561041757600080fd5b61046b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611154565b604051808215151515815260200191505060405180910390f35b341561049057600080fd5b610498611185565b604051808260ff1660ff16815260200191505060405180910390f35b34156104bf57600080fd5b6104c761118a565b604051808215151515815260200191505060405180910390f35b34156104ec57600080fd5b6104f461119d565b005b341561050157600080fd5b6105096115ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055657600080fd5b61055e6115d4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105ab57600080fd5b6105d7600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506115ec565b604051808215151515815260200191505060405180910390f35b34156105fc57600080fd5b6106046117f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561065157600080fd5b610659611811565b604051808260ff1660ff16815260200191505060405180910390f35b341561068057600080fd5b6106be600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611816565b005b34156106cb57600080fd5b6106f7600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119c1565b6040518082815260200191505060405180910390f35b341561071857600080fd5b610720611a0a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561076d57600080fd5b610775611a30565b005b341561078257600080fd5b61078a611b58565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107d757600080fd5b610827600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050611b7d565b005b341561083457600080fd5b61083c611d50565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087c578082015181840152602081019050610861565b50505050905090810190601f1680156108a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108c257600080fd5b6108ca611d89565b6040518082815260200191505060405180910390f35b34156108eb57600080fd5b610920600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611daa565b604051808215151515815260200191505060405180910390f35b341561094557600080fd5b610983600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611dd9565b005b341561099057600080fd5b61099861208b565b005b34156109a557600080fd5b6109ad612267565b6040518082815260200191505060405180910390f35b34156109ce57600080fd5b6109d661226d565b6040518082815260200191505060405180910390f35b34156109f757600080fd5b610a42600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612275565b6040518082815260200191505060405180910390f35b3415610a6357600080fd5b610ac0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080359060200190919050506122fc565b005b3415610acd57600080fd5b610ad56124c6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60065481565b6000806000600760149054906101000a900460ff16151515610b3e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b9957600080fd5b610bba610ba688866124de565b610bb5600a600c60ff16612511565b61252f565b9250610bd3610bcd87601260ff16612570565b8461252f565b9150816002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610c3757600080fd5b610c4e610c4887600c60ff16612570565b8561252f565b9050610c5b88828461258e565b7fd73e30d68edcaf46f57313bec669121749b4e2928c2e98cd232bded2d6569fad88848884868a604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200186815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d0c578082015181840152602081019050610cf1565b50505050905090810190601f168015610d395780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b6040805190810160405280600881526020017f546f6b656e626f7800000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600760149054906101000a900460ff161515610e9b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ef657600080fd5b635bfe83404210151515610f0957600080fd5b610f4a73ffffffffffffffffffffffffffffffffffffffff600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611154565b1515610f5557600080fd5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fb357600080fd5b7f8a95addc59dddee94a894365b5c66c6c2473b7084d3fd1df9f503db4a2cd6dcc6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a180600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561111057600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600760149054906101000a900460ff16151561117157600080fd5b61117c8484846126cc565b90509392505050565b601281565b600760149054906101000a900460ff1681565b6000600760149054906101000a900460ff161515156111bb57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561121657600080fd5b611252611230611229600454604b6124de565b606461252f565b61124d7311111111111111111111111111111111111111116119c1565b6129c7565b90506112696112628260646124de565b604b61252f565b60048190555061128761127f600454607d6124de565b6103e861252f565b60026000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61139c600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119c1565b6040518082815260200191505060405180910390a36113c96113c1600454607d6124de565b6103e861252f565b6002600073ffffffffffffffffffffffffffffffffffffffff801673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ffffffffffffffffffffffffffffffffffffffff801673111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61148c73ffffffffffffffffffffffffffffffffffffffff6119c1565b6040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff1673111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115227311111111111111111111111111111111111111116119c1565b6040518082815260200191505060405180910390a360006002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760146101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73111111111111111111111111111111111111111181565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561164a57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156116ed57600080fd5b6102c65a03f115156116fe57600080fd5b5050506040518051905090508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156117d657600080fd5b6102c65a03f115156117e757600080fd5b50505060405180519050915050919050565b73ffffffffffffffffffffffffffffffffffffffff81565b600c81565b6000806000600760149054906101000a900460ff1615151561183757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189257600080fd5b6118a96118a385601260ff16612570565b8661252f565b9250826002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561190d57600080fd5b61191e846002600c0360ff16612570565b9150611931856002600c0360ff16612570565b905061193e86838561258e565b7f938eae3834e37728fc8579189aaf02cb629d18822ea1bdbb21264d620e1e13ab86828486604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a1505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760149054906101000a900460ff161515611a4b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611aa657600080fd5b635bfe83404210151515611ab957600080fd5b611ad673ffffffffffffffffffffffffffffffffffffffff6119c1565b6003600073ffffffffffffffffffffffffffffffffffffffff801673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000600760149054906101000a900460ff16151515611b9e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bf957600080fd5b611c1a611c0688866124de565b611c15600a600c60ff16612511565b61252f565b9250611c33611c2d87601260ff16612570565b8461252f565b9150816002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611c9757600080fd5b611cae611ca887600c60ff16612570565b8561252f565b9050611cbb88828461258e565b7f89b1bc21eb6e10bdabd97d9e9bbf1a12765c0ef825faff785d7941ed6247664a88848884868a604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a15050505050505050565b6040805190810160405280600381526020017f544258000000000000000000000000000000000000000000000000000000000081525081565b6000611da5600654611da0600a600c60ff16612511565b61252f565b905090565b6000600760149054906101000a900460ff161515611dc757600080fd5b611dd183836129e0565b905092915050565b600080600760149054906101000a900460ff16151515611df857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e5357600080fd5b611e6183601260ff16612570565b9150816002600073222222222222222222222222222222222222222273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611ec557600080fd5b816002600073222222222222222222222222222222222222222273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff1673222222222222222222222222222222222222222273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3611ffd846002600c0360ff16612570565b905061200b60065482612bc8565b6006819055507f43fca754f16e3c99f62c2e37af54a5ff17ff2b96dfbd3294dfa88bfaf85b817e858284604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120e757600080fd5b7f70aea8d848e8a90fb7661b227dc522eb6395c3dac71b63cb59edd5c9899b23646000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055481565b635bfe834081565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760149054906101000a900460ff1615151561231857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561237357600080fd5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156123c157600080fd5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b73222222222222222222222222222222222222222281565b600080828402905060008414806124ff57508284828115156124fc57fe5b04145b151561250757fe5b8091505092915050565b60008082840a905083811015151561252557fe5b8091505092915050565b60008060008311151561253e57fe5b828481151561254957fe5b049050828481151561255757fe5b06818402018414151561256657fe5b8091505092915050565b600061258683612581600a85612511565b6124de565b905092915050565b61259a60065483612bc8565b600681905550806002600073111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff1673111111111111111111111111111111111111111173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015612799575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156128245750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b156129bb5781600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190506129c0565b600090505b9392505050565b60008282111515156129d557fe5b818303905092915050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015612ab05750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15612bbd5781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050612bc2565b600090505b92915050565b6000808284019050838110151515612bdc57fe5b80915050929150505600a165627a7a723058200e82663b00867cc8b1721bcb061cdb448ec4d7c0361fd7bb81c16507996171a10029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ad8ea3b0215e6efd9d2f2aa22baf6d494dbf7662000000000000000000000000000000000000000000000000000000000016d32d
-----Decoded View---------------
Arg [0] : _multisig (address): 0xAd8eA3B0215e6efd9d2F2AA22bAF6d494DbF7662
Arg [1] : _preIcoTokens (uint256): 1495853
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ad8ea3b0215e6efd9d2f2aa22baf6d494dbf7662
Arg [1] : 000000000000000000000000000000000000000000000000000000000016d32d
Swarm Source
bzzr://0e82663b00867cc8b1721bcb061cdb448ec4d7c0361fd7bb81c16507996171a1
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.