Contract Overview
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Contract Name:
GalaxyLotto
Compiler Version
v0.8.11+commit.d7f03943
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT /*** * * *░██████╗░░█████╗░██╗░░░░░░█████╗░██╗░░██╗██╗░░░██╗ ██╗░░░░░░█████╗░████████╗████████╗░█████╗░ *██╔════╝░██╔══██╗██║░░░░░██╔══██╗╚██╗██╔╝╚██╗░██╔╝ ██║░░░░░██╔══██╗╚══██╔══╝╚══██╔══╝██╔══██╗ *██║░░██╗░███████║██║░░░░░███████║░╚███╔╝░░╚████╔╝░ ██║░░░░░██║░░██║░░░██║░░░░░░██║░░░██║░░██║ *██║░░╚██╗██╔══██║██║░░░░░██╔══██║░██╔██╗░░░╚██╔╝░░ ██║░░░░░██║░░██║░░░██║░░░░░░██║░░░██║░░██║ *╚██████╔╝██║░░██║███████╗██║░░██║██╔╝╚██╗░░░██║░░░ ███████╗╚█████╔╝░░░██║░░░░░░██║░░░╚█████╔╝ *░╚═════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝╚═╝░░╚═╝░░░╚═╝░░░ ╚══════╝░╚════╝░░░░╚═╝░░░░░░╚═╝░░░░╚════╝░ * * * __ *|__) | _ _ | _ |_ _ . _ | _ |_ |_ _ _ *|__) | (_) (_ |( (_ | ) (_| | | ) |__ (_) |_ |_ (-' | \/ * / * * * ✅GalaxyLotto Lotto brings the traditional lottery industry * and improves it to launch it on the Blockchain * where anyone in the world can join and take advantage of its benefits. * * ✅Each person who purchases their ticket will be contributing to bringing * this wonderful ecosystem to life. * * Request more information through our Service Channels. * -Telegram : https://t.me/galaxylotto * -Web Site : https://galaxylotto.app * * **************** * * GALAXY LOTTO * * **************** * * * */ pragma solidity ^0.8.11; interface IERC20 { function transfer(address recipient, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); } contract GalaxyLotto { address payable public ownerAddress; //lotto contract IERC20 busd; uint256 public lastId = 1; uint256 public nftId = 1; //Nft contract uint256 public globalAmount = 0; uint256 nftBuyAmount = 50*1e6; uint256 secondNftBuyAmount = 200*1e6; uint256 DevEarningsPer = 1000; NftMintInterface NftMint; uint8 constant BonusLinesCount = 5; uint256[BonusLinesCount] public referralBonus = [2000, 1000, 600, 200, 200]; uint16 constant percentDivider = 10000; uint256 public accumulatRoundID = 1; uint256[6] public accumulatedAmount = [ 500*1e6, 200*1e6, 100*1e6, 100*1e6, 100*1e6 ]; address[4] public adminsWalletAddress = [ 0xF335560fCaA0e8776B7CA1B11314A1F39d04C313, 0x271f524CBD28D4638186974C6A934F4b3A230bbA, 0x160537D74A5cF4Db5406D26a9332d7269feD12F0, 0x1Ee6Bef4492Ea746A2875E81ac7b5e35485f28C9 ]; struct playerStruct { uint256 playerId; address referral; uint256 totalReferralCount; uint256 vipReferrals; uint256 totalReward; bool isUpgraded; uint256 levelEarnings; mapping(uint256 => uint256) referrals; } struct PlayerEarningsStruct { uint256 nft200EarningA; uint256 accumulatEdearningsA; uint256 directA; uint256 indirectA; uint256 nft200EarningW; uint256 accumulatEdearningsW; uint256 directW; uint256 indirectW; mapping(uint256 => uint256) referralE; } struct bet { uint256 gameId; uint256 nftId; bool isClaim; uint256[6] betsNumber; uint256 totalMatchNumber; } struct PlayerDailyRounds { uint256 referrers; // total referrals user has in a particular rounds uint256 totalReferralInsecondNft; } mapping(address => playerStruct) public player; mapping(address => PlayerEarningsStruct) public playerEarning; mapping(address => uint256) public getBetIdByWalletAddress; address public LottoGameAddress; mapping(uint256 => mapping(uint256 => address)) public round; mapping(address => mapping(uint256 => PlayerDailyRounds)) public plyrRnds_; event Register(uint256 playerId,address userAddress,address referral, uint256 time); event EarningEvent(uint256 referralAmount,address walletAddress,address referral,uint8 status,uint256 time); event ReferralDetails(address user,address referrer,uint256 roundId); constructor(address payable _ownerAddress) { busd = IERC20(0xc2132D05D31c914a87C6611C10748AEb04B58e8F); NftMint = NftMintInterface(0xF616117a36df000766c9D0B381cE025377DBeaA3); ownerAddress = _ownerAddress; player[ownerAddress].playerId = lastId; player[ownerAddress].referral = ownerAddress; emit Register(lastId, ownerAddress, address(0), block.timestamp); lastId++; } function setLottoGameAddress(address _gameAddress) external { require(msg.sender == ownerAddress, "Only owner can change amount"); LottoGameAddress = _gameAddress; } function buyFirstNft(address _referral) public payable { IERC20(busd).transferFrom(msg.sender, address(this), nftBuyAmount); _setUpUpline(msg.sender, _referral); playerStruct storage _playerStruct = player[msg.sender]; _referral = _playerStruct.referral; bool isNew = false; if (player[msg.sender].playerId == 0) { uint256 _lastId = lastId; _playerStruct.playerId = _lastId; player[_referral].totalReferralCount++; if(player[_referral].totalReferralCount==10) { playerEarning[_referral].indirectA += player[_referral].levelEarnings; player[_referral].levelEarnings = 0; } lastId++; emit Register(_lastId,msg.sender,_referral,block.timestamp); isNew = true; } if (player[_referral].isUpgraded) { plyrRnds_[_referral][accumulatRoundID].referrers++; emit ReferralDetails(msg.sender,_referral,accumulatRoundID); _highestReferrer(_referral); } globalAmount += 1.25*1e6; sendAccumulatedAmount(); //referral distribution _refPayout(msg.sender, nftBuyAmount,isNew); uint256 DevEarnings = (nftBuyAmount * DevEarningsPer) / percentDivider; IERC20(busd).transfer(ownerAddress, DevEarnings); IERC20(busd).transfer(LottoGameAddress, 2375*1e4); NftMint.mintReward(msg.sender, nftBuyAmount); } function buySecondNft() public payable { IERC20(busd).transferFrom( msg.sender, address(this), secondNftBuyAmount ); require( player[msg.sender].playerId>0, "You need to buy 50 USDT nft first" ); require( !player[msg.sender].isUpgraded, "Allready bought this package" ); address _referral = player[msg.sender].referral; if (player[_referral].isUpgraded == true ) { player[_referral].vipReferrals++; if (player[_referral].vipReferrals % 5 > 0) { playerEarning[_referral].nft200EarningA += secondNftBuyAmount; emit EarningEvent(secondNftBuyAmount,_referral,msg.sender,6, block.timestamp); } else { for (uint256 i = 0; i < 4; i++) { IERC20(busd).transfer(adminsWalletAddress[i], 50*1e6); } } } else{ IERC20(busd).transfer(ownerAddress, secondNftBuyAmount); } NftMint.mintReward(msg.sender, secondNftBuyAmount); player[msg.sender].isUpgraded = true; } function _highestReferrer(address _referrer) private { address upline = _referrer; if (upline == address(0)) return; for (uint8 i = 0; i < 5; i++) { if (round[accumulatRoundID][i] == upline) break; if (round[accumulatRoundID][i] == address(0)) { round[accumulatRoundID][i] = upline; break; } if ( plyrRnds_[_referrer][accumulatRoundID].referrers > plyrRnds_[round[accumulatRoundID][i]][accumulatRoundID] .referrers ) { for (uint256 j = i + 1; j < 5; j++) { if (round[accumulatRoundID][j] == upline) { for (uint256 k = j; k <= 5; k++) { round[accumulatRoundID][k] = round[ accumulatRoundID ][k + 1]; } break; } } for (uint8 l = uint8(5 - 1); l > i; l--) { round[accumulatRoundID][l] = round[accumulatRoundID][l - 1]; } round[accumulatRoundID][i] = upline; break; } } } function _setUpUpline(address _addr, address _upline) private { require(player[_upline].playerId > 0, "Invalid referral"); if (player[_addr].referral == address(0) && _upline != _addr) { player[_addr].referral = _upline; player[_addr].totalReferralCount++; } } function _refPayout(address _addr, uint256 _amount,bool isNew) private { address up = player[_addr].referral; for (uint8 i = 0; i < BonusLinesCount; i++) { if (up == address(0)) break; uint256 amount = (_amount * referralBonus[i]) / percentDivider; if(i==0){ playerEarning[up].directA += amount; } else if(i>0 && player[up].totalReferralCount>=10) { playerEarning[up].indirectA += amount; } else if(i>0 && player[up].totalReferralCount<10) { player[up].levelEarnings += amount; } if(isNew) { player[up].referrals[i]++; } playerEarning[up].referralE[i] += amount; emit EarningEvent(amount, up, _addr,i, block.timestamp); up = player[up].referral; } } function sendAccumulatedAmount() internal { if (globalAmount >= 1000*1e6) { for (uint256 i = 0; i < 5; i++) { if (round[accumulatRoundID][i] != address(0)) { playerEarning[round[accumulatRoundID][i]].accumulatEdearningsA += accumulatedAmount[i]; emit EarningEvent(accumulatedAmount[i], round[accumulatRoundID][i], address(0),7, block.timestamp); } } accumulatRoundID++; globalAmount = 0; } } function withdraw(uint256 activeId) external { require(NftMint.ownerOf(activeId)==msg.sender,"You are not owner of active NFT"); require((NftMint.getNftMintedDate(activeId)+365 days)>=block.timestamp,"Not active NFT"); PlayerEarningsStruct storage _player = playerEarning[msg.sender]; uint256 amount = _player.directA+ _player.indirectA + _player.nft200EarningA + _player.accumulatEdearningsA; busd.transfer(msg.sender, amount); _player.nft200EarningW += _player.nft200EarningA; _player.directW += _player.directA; _player.indirectW += _player.indirectA; _player.accumulatEdearningsW += _player.accumulatEdearningsA; _player.directA = _player.indirectA = _player.nft200EarningA = _player.accumulatEdearningsA = 0; } function setOwnerAddress(address payable _address) public { require(msg.sender == ownerAddress, "Only owner can change amount"); ownerAddress = _address; } function setNftAmount(uint256 amount) external { require(msg.sender == ownerAddress, "Only owner can change amount"); nftBuyAmount = amount; } function setAdminsWalletAddress(address walletAddress,uint8 index) public { require(msg.sender == ownerAddress, "Only owner can set authaddress"); adminsWalletAddress[index] = walletAddress; } function getHighestReferrer(uint256 roundId) external view returns (address[] memory _players, uint256[] memory counts) { _players = new address[](5); counts = new uint256[](5); for (uint8 i = 0; i < 5; i++) { _players[i] = round[roundId][i]; counts[i] = plyrRnds_[_players[i]][roundId].referrers; } return (_players, counts); } function referralEarningInfo(address _addr) external view returns ( uint256[5] memory referrals, uint256[5] memory referralE ) { playerStruct storage _player = player[_addr]; PlayerEarningsStruct storage _playerE = playerEarning[_addr]; for (uint8 i = 0; i < 5; i++) { referrals[i] = _player.referrals[i]; referralE[i] = _playerE.referralE[i]; } return (referrals,referralE); } function getUpline(address _addr) external view returns(address) { return player[_addr].referral; } } // contract interface interface NftMintInterface { // function definition of the method we want to interact with function mintReward(address to, uint256 nftPrice) external; function ownerOf(uint256 tokenId) external view returns (address); function getNftMintedDate(uint256 nftId) external view returns (uint256); function getNftNftPrice(uint256 nftId) external view returns (uint256); }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"_ownerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"referralAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"walletAddress","type":"address"},{"indexed":false,"internalType":"address","name":"referral","type":"address"},{"indexed":false,"internalType":"uint8","name":"status","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"EarningEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"ReferralDetails","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"playerId","type":"uint256"},{"indexed":false,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"address","name":"referral","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"Register","type":"event"},{"inputs":[],"name":"LottoGameAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accumulatRoundID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"accumulatedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"adminsWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_referral","type":"address"}],"name":"buyFirstNft","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buySecondNft","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"getBetIdByWalletAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"getHighestReferrer","outputs":[{"internalType":"address[]","name":"_players","type":"address[]"},{"internalType":"uint256[]","name":"counts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"getUpline","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"globalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nftId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"player","outputs":[{"internalType":"uint256","name":"playerId","type":"uint256"},{"internalType":"address","name":"referral","type":"address"},{"internalType":"uint256","name":"totalReferralCount","type":"uint256"},{"internalType":"uint256","name":"vipReferrals","type":"uint256"},{"internalType":"uint256","name":"totalReward","type":"uint256"},{"internalType":"bool","name":"isUpgraded","type":"bool"},{"internalType":"uint256","name":"levelEarnings","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"playerEarning","outputs":[{"internalType":"uint256","name":"nft200EarningA","type":"uint256"},{"internalType":"uint256","name":"accumulatEdearningsA","type":"uint256"},{"internalType":"uint256","name":"directA","type":"uint256"},{"internalType":"uint256","name":"indirectA","type":"uint256"},{"internalType":"uint256","name":"nft200EarningW","type":"uint256"},{"internalType":"uint256","name":"accumulatEdearningsW","type":"uint256"},{"internalType":"uint256","name":"directW","type":"uint256"},{"internalType":"uint256","name":"indirectW","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"plyrRnds_","outputs":[{"internalType":"uint256","name":"referrers","type":"uint256"},{"internalType":"uint256","name":"totalReferralInsecondNft","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"referralBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"referralEarningInfo","outputs":[{"internalType":"uint256[5]","name":"referrals","type":"uint256[5]"},{"internalType":"uint256[5]","name":"referralE","type":"uint256[5]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"round","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"walletAddress","type":"address"},{"internalType":"uint8","name":"index","type":"uint8"}],"name":"setAdminsWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gameAddress","type":"address"}],"name":"setLottoGameAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setNftAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"setOwnerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"activeId","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526001600255600160035560006004556302faf080600555630bebc2006006556103e86007556040518060a001604052806107d061ffff1681526020016103e861ffff16815260200161025861ffff16815260200160c861ffff16815260200160c861ffff1681525060099060056200007e929190620004f0565b506001600e556040518060a00160405280631dcd650063ffffffff168152602001630bebc20063ffffffff1681526020016305f5e10063ffffffff1681526020016305f5e10063ffffffff1681526020016305f5e10063ffffffff16815250600f906005620000ef9291906200053b565b50604051806080016040528073f335560fcaa0e8776b7ca1b11314a1f39d04c31373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173271f524cbd28d4638186974c6a934f4b3a230bba73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173160537d74a5cf4db5406d26a9332d7269fed12f073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001731ee6bef4492ea746a2875e81ac7b5e35485f28c973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525060159060046200022392919062000588565b503480156200023157600080fd5b506040516200476e3803806200476e833981810160405281019062000257919062000693565b73c2132d05d31c914a87c6611c10748aeb04b58e8f600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f616117a36df000766c9d0b381ce025377dbeaa3600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600254601960008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601960008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f3468a062c8872c7f31a1759de036fc40514300568053e349aaf320caed8c66a960025460008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600042604051620004c7949392919062000770565b60405180910390a160026000815480929190620004e490620007ec565b9190505550506200083a565b826005810192821562000528579160200282015b8281111562000527578251829061ffff1690559160200191906001019062000504565b5b5090506200053791906200060a565b5090565b826006810192821562000575579160200282015b8281111562000574578251829063ffffffff169055916020019190600101906200054f565b5b5090506200058491906200060a565b5090565b8260048101928215620005f7579160200282015b82811115620005f65782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906200059c565b5b5090506200060691906200060a565b5090565b5b80821115620006255760008160009055506001016200060b565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200065b826200062e565b9050919050565b6200066d816200064e565b81146200067957600080fd5b50565b6000815190506200068d8162000662565b92915050565b600060208284031215620006ac57620006ab62000629565b5b6000620006bc848285016200067c565b91505092915050565b6000819050919050565b620006da81620006c5565b82525050565b6000819050919050565b60006200070b62000705620006ff846200062e565b620006e0565b6200062e565b9050919050565b60006200071f82620006ea565b9050919050565b6000620007338262000712565b9050919050565b620007458162000726565b82525050565b600062000758826200062e565b9050919050565b6200076a816200074b565b82525050565b6000608082019050620007876000830187620006cf565b6200079660208301866200073a565b620007a560408301856200075f565b620007b46060830184620006cf565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007f982620006c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156200082f576200082e620007bd565b5b600182019050919050565b613f24806200084a6000396000f3fe60806040526004361061014b5760003560e01c806367194b48116100b6578063b6c058b51161006f578063b6c058b5146104bd578063b7969013146104fa578063c1292cc314610538578063c6bc518214610563578063cb6f37ab1461058e578063d37e2306146105cb5761014b565b806367194b481461038957806377d42fc9146103b25780637c2bd48c146103ef5780638f84aa091461042c578063a17ca85314610457578063b3df38db146104945761014b565b8063452b381d11610108578063452b381d1461023757806348cdfd31146102755780634c54e1b5146102b25780634e51b3bd146102f5578063563335591461032057806357c3734a1461035e5761014b565b8063199295a6146101505780631eb44ae6146101945780632e1a7d4d146101bf5780633101e933146101e8578063331a6bf51461020457806336e7cf981461022d575b600080fd5b34801561015c57600080fd5b5061017760048036038101906101729190612e99565b6105f4565b60405161018b989796959493929190612edf565b60405180910390f35b3480156101a057600080fd5b506101a961063c565b6040516101b69190612f5d565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e19190612fa4565b610642565b005b61020260048036038101906101fd9190612e99565b6109f2565b005b34801561021057600080fd5b5061022b6004803603810190610226919061300f565b6110c5565b005b610235611196565b005b34801561024357600080fd5b5061025e6004803603810190610259919061303c565b611817565b60405161026c92919061307c565b60405180910390f35b34801561028157600080fd5b5061029c60048036038101906102979190612fa4565b611848565b6040516102a99190612f5d565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d49190612e99565b611863565b6040516102ec97969594939291906130cf565b60405180910390f35b34801561030157600080fd5b5061030a6118d2565b6040516103179190612f5d565b60405180910390f35b34801561032c57600080fd5b5061034760048036038101906103429190612fa4565b6118d8565b6040516103559291906132ba565b60405180910390f35b34801561036a57600080fd5b50610373611ac6565b60405161038091906132f1565b60405180910390f35b34801561039557600080fd5b506103b060048036038101906103ab9190612fa4565b611aec565b005b3480156103be57600080fd5b506103d960048036038101906103d49190612fa4565b611b84565b6040516103e69190612f5d565b60405180910390f35b3480156103fb57600080fd5b5061041660048036038101906104119190612e99565b611b9f565b6040516104239190612f5d565b60405180910390f35b34801561043857600080fd5b50610441611bb7565b60405161044e919061331b565b60405180910390f35b34801561046357600080fd5b5061047e60048036038101906104799190613336565b611bdb565b60405161048b91906132f1565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b69190612e99565b611c1d565b005b3480156104c957600080fd5b506104e460048036038101906104df9190612fa4565b611cef565b6040516104f191906132f1565b60405180910390f35b34801561050657600080fd5b50610521600480360381019061051c9190612e99565b611d25565b60405161052f9291906133fa565b60405180910390f35b34801561054457600080fd5b5061054d611e55565b60405161055a9190612f5d565b60405180910390f35b34801561056f57600080fd5b50610578611e5b565b6040516105859190612f5d565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b09190612e99565b611e61565b6040516105c291906132f1565b60405180910390f35b3480156105d757600080fd5b506105f260048036038101906105ed919061345d565b611ecd565b005b601a6020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154908060070154905088565b600e5481565b3373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b81526004016106b49190612f5d565b602060405180830381865afa1580156106d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f591906134b2565b73ffffffffffffffffffffffffffffffffffffffff161461074b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107429061353c565b60405180910390fd5b426301e13380600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d1e3e898846040518263ffffffff1660e01b81526004016107ac9190612f5d565b602060405180830381865afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed9190613571565b6107f791906135cd565b1015610838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082f9061366f565b60405180910390fd5b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816001015482600001548360030154846002015461089b91906135cd565b6108a591906135cd565b6108af91906135cd565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161090e92919061368f565b6020604051808303816000875af115801561092d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095191906136e4565b50816000015482600401600082825461096a91906135cd565b92505081905550816002015482600601600082825461098991906135cd565b9250508190555081600301548260070160008282546109a891906135cd565b9250508190555081600101548260050160008282546109c791906135cd565b9250508190555060008260010181905582600001819055826003018190558260020181905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33306005546040518463ffffffff1660e01b8152600401610a5393929190613711565b6020604051808303816000875af1158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9691906136e4565b50610aa13382611fb6565b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600080601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415610d495760006002549050808360000181905550601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002016000815480929190610bba90613748565b9190505550600a601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201541415610cee57601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000828254610c9e91906135cd565b925050819055506000601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601819055505b60026000815480929190610d0190613748565b91905055507f3468a062c8872c7f31a1759de036fc40514300568053e349aaf320caed8c66a981338642604051610d3b9493929190613791565b60405180910390a160019150505b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160009054906101000a900460ff1615610e5057601e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e5481526020019081526020016000206000016000815480929190610e0490613748565b91905055507fc4ba4db757623329d68a934c60b556fe357f57f8386e93d577dabef30599e85a3384600e54604051610e3e93929190613711565b60405180910390a1610e4f836121e8565b5b621312d060046000828254610e6591906135cd565b92505081905550610e74612795565b610e8133600554836129b0565b600061271061ffff16600754600554610e9a91906137d6565b610ea4919061385f565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610f239291906138ef565b6020604051808303816000875af1158015610f42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6691906136e4565b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1663016a65706040518363ffffffff1660e01b8152600401610fea929190613953565b6020604051808303816000875af1158015611009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102d91906136e4565b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a49090e336005546040518363ffffffff1660e01b815260040161108d92919061368f565b600060405180830381600087803b1580156110a757600080fd5b505af11580156110bb573d6000803e3d6000fd5b5050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a906139c8565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33306006546040518463ffffffff1660e01b81526004016111f793929190613711565b6020604051808303816000875af1158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a91906136e4565b506000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154116112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790613a5a565b60405180910390fd5b601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160009054906101000a900460ff1615611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790613ac6565b60405180910390fd5b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060011515601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160009054906101000a900460ff161515141561166457601960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600081548092919061146690613748565b919050555060006005601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301546114bc9190613ae6565b111561156457600654601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825461151691906135cd565b925050819055507f316b36f47f5b192c79719720545fd785dbbf7fbe7702b82e2a4242a258218fca6006548233600642604051611557959493929190613b52565b60405180910390a161165f565b60005b600481101561165d57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601583600481106115c2576115c1613ba5565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166302faf0806040518363ffffffff1660e01b8152600401611606929190613c0f565b6020604051808303816000875af1158015611625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164991906136e4565b50808061165590613748565b915050611567565b505b611728565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546040518363ffffffff1660e01b81526004016116e39291906138ef565b6020604051808303816000875af1158015611702573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172691906136e4565b505b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639a49090e336006546040518363ffffffff1660e01b815260040161178792919061368f565b600060405180830381600087803b1580156117a157600080fd5b505af11580156117b5573d6000803e3d6000fd5b505050506001601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160006101000a81548160ff02191690831515021790555050565b601e602052816000526040600020602052806000526040600020600091509150508060000154908060010154905082565b600f816006811061185857600080fd5b016000915090505481565b60196020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154908060050160009054906101000a900460ff16908060060154905087565b60045481565b606080600567ffffffffffffffff8111156118f6576118f5613c38565b5b6040519080825280602002602001820160405280156119245781602001602082028036833780820191505090505b509150600567ffffffffffffffff81111561194257611941613c38565b5b6040519080825280602002602001820160405280156119705781602001602082028036833780820191505090505b50905060005b60058160ff161015611ac057601d600085815260200190815260200160002060008260ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838260ff16815181106119e0576119df613ba5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e6000848360ff1681518110611a3457611a33613ba5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060000154828260ff1681518110611aa157611aa0613ba5565b5b6020026020010181815250508080611ab890613c67565b915050611976565b50915091565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b71906139c8565b60405180910390fd5b8060058190555050565b60098160058110611b9457600080fd5b016000915090505481565b601b6020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d6020528160005260406000206020528060005260406000206000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca2906139c8565b60405180910390fd5b80601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60158160048110611cff57600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d2d612e14565b611d35612e14565b6000601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060005b60058160ff161015611e4d578260070160008260ff16815260200190815260200160002054858260ff1660058110611df957611df8613ba5565b5b6020020181815250508160080160008260ff16815260200190815260200160002054848260ff1660058110611e3157611e30613ba5565b5b6020020181815250508080611e4590613c67565b915050611dbe565b505050915091565b60025481565b60035481565b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5290613cdd565b60405180910390fd5b8160158260ff1660048110611f7357611f72613ba5565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541161203b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203290613d49565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561210557508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156121e45780601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008154809291906121de90613748565b91905055505b5050565b6000819050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122285750612792565b60005b60058160ff16101561278f578173ffffffffffffffffffffffffffffffffffffffff16601d6000600e54815260200190815260200160002060008360ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156122b95761278f565b600073ffffffffffffffffffffffffffffffffffffffff16601d6000600e54815260200190815260200160002060008360ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156123a45781601d6000600e54815260200190815260200160002060008360ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061278f565b601e6000601d6000600e54815260200190815260200160002060008460ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e54815260200190815260200160002060000154601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e54815260200190815260200160002060000154111561277c5760006001826124ae9190613d69565b60ff1690505b6005811015612628578273ffffffffffffffffffffffffffffffffffffffff16601d6000600e548152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156126155760008190505b6005811161260f57601d6000600e548152602001908152602001600020600060018361256991906135cd565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601d6000600e548152602001908152602001600020600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808061260790613748565b91505061253d565b50612628565b808061262090613748565b9150506124b4565b506000600490505b8160ff168160ff16111561270e57601d6000600e54815260200190815260200160002060006001836126629190613da0565b60ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601d6000600e54815260200190815260200160002060008360ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808061270690613dd4565b915050612630565b5081601d6000600e54815260200190815260200160002060008360ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061278f565b808061278790613c67565b91505061222b565b50505b50565b633b9aca00600454106129ae5760005b600581101561298c57600073ffffffffffffffffffffffffffffffffffffffff16601d6000600e548152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461297957600f816006811061283c5761283b613ba5565b5b0154601a6000601d6000600e548152602001908152602001600020600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282546128d591906135cd565b925050819055507f316b36f47f5b192c79719720545fd785dbbf7fbe7702b82e2a4242a258218fca600f826006811061291157612910613ba5565b5b0154601d6000600e548152602001908152602001600020600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000600742604051612970959493929190613e39565b60405180910390a15b808061298490613748565b9150506127a5565b50600e60008154809291906129a090613748565b919050555060006004819055505b565b6000601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600560ff168160ff161015612e0d57600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a6357612e0d565b600061271061ffff1660098360ff1660058110612a8357612a82613ba5565b5b015486612a9091906137d6565b612a9a919061385f565b905060008260ff161415612b065780601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002016000828254612afa91906135cd565b92505081905550612c75565b60008260ff16118015612b5c5750600a601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015410155b15612bbf5780601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000828254612bb391906135cd565b92505081905550612c74565b60008260ff16118015612c145750600a601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154105b15612c735780601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006016000828254612c6b91906135cd565b925050819055505b5b5b8315612ce857601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070160008360ff1681526020019081526020016000206000815480929190612ce290613748565b91905055505b80601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160008460ff1681526020019081526020016000206000828254612d4e91906135cd565b925050819055507f316b36f47f5b192c79719720545fd785dbbf7fbe7702b82e2a4242a258218fca8184888542604051612d8c959493929190613e9b565b60405180910390a1601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250508080612e0590613c67565b915050612a1a565b5050505050565b6040518060a00160405280600590602082028036833780820191505090505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e6682612e3b565b9050919050565b612e7681612e5b565b8114612e8157600080fd5b50565b600081359050612e9381612e6d565b92915050565b600060208284031215612eaf57612eae612e36565b5b6000612ebd84828501612e84565b91505092915050565b6000819050919050565b612ed981612ec6565b82525050565b600061010082019050612ef5600083018b612ed0565b612f02602083018a612ed0565b612f0f6040830189612ed0565b612f1c6060830188612ed0565b612f296080830187612ed0565b612f3660a0830186612ed0565b612f4360c0830185612ed0565b612f5060e0830184612ed0565b9998505050505050505050565b6000602082019050612f726000830184612ed0565b92915050565b612f8181612ec6565b8114612f8c57600080fd5b50565b600081359050612f9e81612f78565b92915050565b600060208284031215612fba57612fb9612e36565b5b6000612fc884828501612f8f565b91505092915050565b6000612fdc82612e3b565b9050919050565b612fec81612fd1565b8114612ff757600080fd5b50565b60008135905061300981612fe3565b92915050565b60006020828403121561302557613024612e36565b5b600061303384828501612ffa565b91505092915050565b6000806040838503121561305357613052612e36565b5b600061306185828601612e84565b925050602061307285828601612f8f565b9150509250929050565b60006040820190506130916000830185612ed0565b61309e6020830184612ed0565b9392505050565b6130ae81612e5b565b82525050565b60008115159050919050565b6130c9816130b4565b82525050565b600060e0820190506130e4600083018a612ed0565b6130f160208301896130a5565b6130fe6040830188612ed0565b61310b6060830187612ed0565b6131186080830186612ed0565b61312560a08301856130c0565b61313260c0830184612ed0565b98975050505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61317381612e5b565b82525050565b6000613185838361316a565b60208301905092915050565b6000602082019050919050565b60006131a98261313e565b6131b38185613149565b93506131be8361315a565b8060005b838110156131ef5781516131d68882613179565b97506131e183613191565b9250506001810190506131c2565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61323181612ec6565b82525050565b60006132438383613228565b60208301905092915050565b6000602082019050919050565b6000613267826131fc565b6132718185613207565b935061327c83613218565b8060005b838110156132ad5781516132948882613237565b975061329f8361324f565b925050600181019050613280565b5085935050505092915050565b600060408201905081810360008301526132d4818561319e565b905081810360208301526132e8818461325c565b90509392505050565b600060208201905061330660008301846130a5565b92915050565b61331581612fd1565b82525050565b6000602082019050613330600083018461330c565b92915050565b6000806040838503121561334d5761334c612e36565b5b600061335b85828601612f8f565b925050602061336c85828601612f8f565b9150509250929050565b600060059050919050565b600081905092915050565b6000819050919050565b6000602082019050919050565b6133ac81613376565b6133b68184613381565b92506133c18261338c565b8060005b838110156133f25781516133d98782613237565b96506133e483613396565b9250506001810190506133c5565b505050505050565b60006101408201905061341060008301856133a3565b61341d60a08301846133a3565b9392505050565b600060ff82169050919050565b61343a81613424565b811461344557600080fd5b50565b60008135905061345781613431565b92915050565b6000806040838503121561347457613473612e36565b5b600061348285828601612e84565b925050602061349385828601613448565b9150509250929050565b6000815190506134ac81612e6d565b92915050565b6000602082840312156134c8576134c7612e36565b5b60006134d68482850161349d565b91505092915050565b600082825260208201905092915050565b7f596f7520617265206e6f74206f776e6572206f6620616374697665204e465400600082015250565b6000613526601f836134df565b9150613531826134f0565b602082019050919050565b6000602082019050818103600083015261355581613519565b9050919050565b60008151905061356b81612f78565b92915050565b60006020828403121561358757613586612e36565b5b60006135958482850161355c565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006135d882612ec6565b91506135e383612ec6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156136185761361761359e565b5b828201905092915050565b7f4e6f7420616374697665204e4654000000000000000000000000000000000000600082015250565b6000613659600e836134df565b915061366482613623565b602082019050919050565b600060208201905081810360008301526136888161364c565b9050919050565b60006040820190506136a460008301856130a5565b6136b16020830184612ed0565b9392505050565b6136c1816130b4565b81146136cc57600080fd5b50565b6000815190506136de816136b8565b92915050565b6000602082840312156136fa576136f9612e36565b5b6000613708848285016136cf565b91505092915050565b600060608201905061372660008301866130a5565b61373360208301856130a5565b6137406040830184612ed0565b949350505050565b600061375382612ec6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156137865761378561359e565b5b600182019050919050565b60006080820190506137a66000830187612ed0565b6137b360208301866130a5565b6137c060408301856130a5565b6137cd6060830184612ed0565b95945050505050565b60006137e182612ec6565b91506137ec83612ec6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138255761382461359e565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061386a82612ec6565b915061387583612ec6565b92508261388557613884613830565b5b828204905092915050565b6000819050919050565b60006138b56138b06138ab84612e3b565b613890565b612e3b565b9050919050565b60006138c78261389a565b9050919050565b60006138d9826138bc565b9050919050565b6138e9816138ce565b82525050565b600060408201905061390460008301856138e0565b6139116020830184612ed0565b9392505050565b6000819050919050565b600061393d61393861393384613918565b613890565b612ec6565b9050919050565b61394d81613922565b82525050565b600060408201905061396860008301856130a5565b6139756020830184613944565b9392505050565b7f4f6e6c79206f776e65722063616e206368616e676520616d6f756e7400000000600082015250565b60006139b2601c836134df565b91506139bd8261397c565b602082019050919050565b600060208201905081810360008301526139e1816139a5565b9050919050565b7f596f75206e65656420746f206275792035302055534454206e6674206669727360008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a446021836134df565b9150613a4f826139e8565b604082019050919050565b60006020820190508181036000830152613a7381613a37565b9050919050565b7f416c6c726561647920626f756768742074686973207061636b61676500000000600082015250565b6000613ab0601c836134df565b9150613abb82613a7a565b602082019050919050565b60006020820190508181036000830152613adf81613aa3565b9050919050565b6000613af182612ec6565b9150613afc83612ec6565b925082613b0c57613b0b613830565b5b828206905092915050565b6000819050919050565b6000613b3c613b37613b3284613b17565b613890565b613424565b9050919050565b613b4c81613b21565b82525050565b600060a082019050613b676000830188612ed0565b613b7460208301876130a5565b613b8160408301866130a5565b613b8e6060830185613b43565b613b9b6080830184612ed0565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000613bf9613bf4613bef84613bd4565b613890565b612ec6565b9050919050565b613c0981613bde565b82525050565b6000604082019050613c2460008301856130a5565b613c316020830184613c00565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000613c7282613424565b915060ff821415613c8657613c8561359e565b5b600182019050919050565b7f4f6e6c79206f776e65722063616e207365742061757468616464726573730000600082015250565b6000613cc7601e836134df565b9150613cd282613c91565b602082019050919050565b60006020820190508181036000830152613cf681613cba565b9050919050565b7f496e76616c696420726566657272616c00000000000000000000000000000000600082015250565b6000613d336010836134df565b9150613d3e82613cfd565b602082019050919050565b60006020820190508181036000830152613d6281613d26565b9050919050565b6000613d7482613424565b9150613d7f83613424565b92508260ff03821115613d9557613d9461359e565b5b828201905092915050565b6000613dab82613424565b9150613db683613424565b925082821015613dc957613dc861359e565b5b828203905092915050565b6000613ddf82613424565b91506000821415613df357613df261359e565b5b600182039050919050565b6000819050919050565b6000613e23613e1e613e1984613dfe565b613890565b613424565b9050919050565b613e3381613e08565b82525050565b600060a082019050613e4e6000830188612ed0565b613e5b60208301876130a5565b613e6860408301866130a5565b613e756060830185613e2a565b613e826080830184612ed0565b9695505050505050565b613e9581613424565b82525050565b600060a082019050613eb06000830188612ed0565b613ebd60208301876130a5565b613eca60408301866130a5565b613ed76060830185613e8c565b613ee46080830184612ed0565b969550505050505056fea2646970667358221220e464c60a4dec0bd7f7594bdc8b4b9c7b7665ccbce6c75456b107f489923775a764736f6c634300080b00330000000000000000000000006cbc536f73328460b479206845400f312a2ce87b
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006cbc536f73328460b479206845400f312a2ce87b
-----Decoded View---------------
Arg [0] : _ownerAddress (address): 0x6cbc536f73328460b479206845400f312a2ce87b
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006cbc536f73328460b479206845400f312a2ce87b
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.