Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 539 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Register | 11205444 | 1404 days ago | IN | 0 ETH | 0.0012228 | ||||
Update Ranking | 10421324 | 1524 days ago | IN | 0 ETH | 0.00155017 | ||||
Update Ranking | 10421052 | 1524 days ago | IN | 0 ETH | 0.00210958 | ||||
Update Ranking | 10421051 | 1524 days ago | IN | 0 ETH | 0.00210958 | ||||
Update Ranking | 10421035 | 1524 days ago | IN | 0 ETH | 0.00242636 | ||||
Update Ranking | 10421035 | 1524 days ago | IN | 0 ETH | 0.00242636 | ||||
Update Ranking | 9828188 | 1616 days ago | IN | 0 ETH | 0.00009926 | ||||
Update Ranking | 9828188 | 1616 days ago | IN | 0 ETH | 0.00009926 | ||||
Update Ranking | 9440746 | 1676 days ago | IN | 0 ETH | 0.00007531 | ||||
Update Ranking | 9250676 | 1705 days ago | IN | 0 ETH | 0.00042704 | ||||
Update Ranking | 9244064 | 1706 days ago | IN | 0 ETH | 0.00058507 | ||||
Update Ranking | 9244062 | 1706 days ago | IN | 0 ETH | 0.00058507 | ||||
Update Ranking | 9196729 | 1714 days ago | IN | 0 ETH | 0.00009476 | ||||
Update Ranking | 9195914 | 1714 days ago | IN | 0 ETH | 0.00005211 | ||||
Update Ranking | 9186128 | 1716 days ago | IN | 0 ETH | 0.0000565 | ||||
Update Ranking | 9130738 | 1727 days ago | IN | 0 ETH | 0.00014308 | ||||
Update Ranking | 9127063 | 1727 days ago | IN | 0 ETH | 0.0000565 | ||||
Update Ranking | 9123533 | 1728 days ago | IN | 0 ETH | 0.00015887 | ||||
Update Ranking | 9123344 | 1728 days ago | IN | 0 ETH | 0.0002369 | ||||
Update Ranking | 9119937 | 1729 days ago | IN | 0 ETH | 0.0003167 | ||||
Update Ranking | 9099914 | 1733 days ago | IN | 0 ETH | 0.00041936 | ||||
Update Ranking | 9094810 | 1734 days ago | IN | 0 ETH | 0.00025685 | ||||
Update Ranking | 9094809 | 1734 days ago | IN | 0 ETH | 0.00025685 | ||||
Update Ranking | 9094806 | 1734 days ago | IN | 0 ETH | 0.00025685 | ||||
Update Ranking | 9094798 | 1734 days ago | IN | 0 ETH | 0.00025685 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Citizen
Compiler Version
v0.4.25+commit.59dbf8f1
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-08-20 */ pragma solidity 0.4.25; /** * @title SafeMath * @dev Unsigned math operations with safety checks that revert on error. */ library SafeMath { /** * @dev Multiplies two unsigned integers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath mul error"); return c; } /** * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath div error"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath sub error"); uint256 c = a - b; return c; } /** * @dev Adds two unsigned integers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath add error"); return c; } /** * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath mod error"); return a % b; } } library UnitConverter { using SafeMath for uint256; function stringToBytes24(string memory source) internal pure returns (bytes24 result) { bytes memory tempEmptyStringTest = bytes(source); if (tempEmptyStringTest.length == 0) { return 0x0; } assembly { result := mload(add(source, 24)) } } } library StringUtil { struct slice { uint _length; uint _pointer; } function validateUserName(string memory _username) internal pure returns (bool) { uint8 len = uint8(bytes(_username).length); if ((len < 4) || (len > 18)) return false; // only contain A-Z 0-9 for (uint8 i = 0; i < len; i++) { if ( (uint8(bytes(_username)[i]) < 48) || (uint8(bytes(_username)[i]) > 57 && uint8(bytes(_username)[i]) < 65) || (uint8(bytes(_username)[i]) > 90) ) return false; } // First char != '0' return uint8(bytes(_username)[0]) != 48; } } contract Auth { address internal mainAdmin; address internal contractAdmin; address internal profitAdmin; address internal ethAdmin; address internal LAdmin; address internal maxSAdmin; address internal backupAdmin; address internal commissionAdmin; event OwnershipTransferred(address indexed _previousOwner, address indexed _newOwner); constructor( address _mainAdmin, address _contractAdmin, address _profitAdmin, address _ethAdmin, address _LAdmin, address _maxSAdmin, address _backupAdmin, address _commissionAdmin ) internal { mainAdmin = _mainAdmin; contractAdmin = _contractAdmin; profitAdmin = _profitAdmin; ethAdmin = _ethAdmin; LAdmin = _LAdmin; maxSAdmin = _maxSAdmin; backupAdmin = _backupAdmin; commissionAdmin = _commissionAdmin; } modifier onlyMainAdmin() { require(isMainAdmin(), "onlyMainAdmin"); _; } modifier onlyContractAdmin() { require(isContractAdmin() || isMainAdmin(), "onlyContractAdmin"); _; } modifier onlyProfitAdmin() { require(isProfitAdmin() || isMainAdmin(), "onlyProfitAdmin"); _; } modifier onlyEthAdmin() { require(isEthAdmin() || isMainAdmin(), "onlyEthAdmin"); _; } modifier onlyLAdmin() { require(isLAdmin() || isMainAdmin(), "onlyLAdmin"); _; } modifier onlyMaxSAdmin() { require(isMaxSAdmin() || isMainAdmin(), "onlyMaxSAdmin"); _; } modifier onlyBackupAdmin() { require(isBackupAdmin() || isMainAdmin(), "onlyBackupAdmin"); _; } modifier onlyBackupAdmin2() { require(isBackupAdmin(), "onlyBackupAdmin"); _; } function isMainAdmin() public view returns (bool) { return msg.sender == mainAdmin; } function isContractAdmin() public view returns (bool) { return msg.sender == contractAdmin; } function isProfitAdmin() public view returns (bool) { return msg.sender == profitAdmin; } function isEthAdmin() public view returns (bool) { return msg.sender == ethAdmin; } function isLAdmin() public view returns (bool) { return msg.sender == LAdmin; } function isMaxSAdmin() public view returns (bool) { return msg.sender == maxSAdmin; } function isBackupAdmin() public view returns (bool) { return msg.sender == backupAdmin; } } library ArrayUtil { function tooLargestValues(uint[] array) internal pure returns (uint max, uint subMax) { require(array.length >= 2, "Invalid array length"); max = array[0]; for (uint i = 1; i < array.length; i++) { if (array[i] > max) { subMax = max; max = array[i]; } else if (array[i] > subMax) { subMax = array[i]; } } } } interface IWallet { function bonusForAdminWhenUserJoinPackageViaDollar(uint _amount, address _admin) external; function bonusNewRank(address _investorAddress, uint _currentRank, uint _newRank) external; function mineToken(address _from, uint _amount) external; function deposit(address _to, uint _deposited, uint8 _source, uint _sourceAmount) external; function getInvestorLastDeposited(address _investor) external view returns (uint); function getUserWallet(address _investor) external view returns (uint, uint[], uint, uint, uint, uint, uint); function getProfitBalance(address _investor) external view returns (uint); function increaseETHWithdrew(uint _amount) external; function validateCanMineToken(uint _tokenAmount, address _from) external view; function ethWithdrew() external view returns (uint); } interface ICitizen { function addF1DepositedToInviter(address _invitee, uint _amount) external; function addNetworkDepositedToInviter(address _inviter, uint _amount, uint _source, uint _sourceAmount) external; function checkInvestorsInTheSameReferralTree(address _inviter, address _invitee) external view returns (bool); function getF1Deposited(address _investor) external view returns (uint); function getId(address _investor) external view returns (uint); function getInvestorCount() external view returns (uint); function getInviter(address _investor) external view returns (address); function getDirectlyInvitee(address _investor) external view returns (address[]); function getDirectlyInviteeHaveJoinedPackage(address _investor) external view returns (address[]); function getNetworkDeposited(address _investor) external view returns (uint); function getRank(address _investor) external view returns (uint); function getUserAddress(uint _index) external view returns (address); function getSubscribers(address _investor) external view returns (uint); function increaseInviterF1HaveJoinedPackage(address _invitee) external; function isCitizen(address _user) view external returns (bool); function register(address _user, string _userName, address _inviter) external returns (uint); function showInvestorInfo(address _investorAddress) external view returns (uint, string memory, address, address[], uint, uint, uint, uint); function getDepositInfo(address _investor) external view returns (uint, uint, uint, uint, uint); function rankBonuses(uint _index) external view returns (uint); } contract Citizen is Auth { using ArrayUtil for uint256[]; using StringUtil for string; using UnitConverter for string; using SafeMath for uint; enum Rank { UnRanked, Star1, Star2, Star3, Star4, Star5, Star6, Star7, Star8, Star9, Star10 } enum DepositType { Ether, Token, Dollar } uint[11] public rankCheckPoints = [ 0, 1000000, 3000000, 10000000, 40000000, 100000000, 300000000, 1000000000, 2000000000, 5000000000, 10000000000 ]; uint[11] public rankBonuses = [ 0, 0, 0, 0, 1000000, // $1k 2000000, 6000000, 20000000, 50000000, 150000000, 500000000 // $500k ]; struct Investor { uint id; string userName; address inviter; address[] directlyInvitee; address[] directlyInviteeHaveJoinedPackage; uint f1Deposited; uint networkDeposited; uint networkDepositedViaETH; uint networkDepositedViaToken; uint networkDepositedViaDollar; uint subscribers; Rank rank; } address public reserveFund; IWallet public wallet; ICitizen public oldCitizen = ICitizen(0xd4051A078383d3fc279603c1273360Ac980CB394); mapping (address => Investor) private investors; mapping (bytes24 => address) private userNameAddresses; address[] private userAddresses; address private rootAccount = 0xa06Cd23aA37C39095D8CFe3A0fd2654331e63123; mapping (address => bool) private ha; modifier onlyWalletContract() { require(msg.sender == address(wallet), "onlyWalletContract"); _; } modifier onlyReserveFundContract() { require(msg.sender == address(reserveFund), "onlyReserveFundContract"); _; } event RankAchieved(address investor, uint currentRank, uint newRank); constructor( address _mainAdmin, address _backupAdmin ) Auth( _mainAdmin, msg.sender, 0x0, 0x0, 0x0, 0x0, _backupAdmin, 0x0 ) public { setupRootAccount(); } // ONLY-CONTRACT-ADMIN FUNCTIONS function setW(address _walletContract) onlyContractAdmin public { wallet = IWallet(_walletContract); } function setRF(address _reserveFundContract) onlyContractAdmin public { reserveFund = _reserveFundContract; } function updateMainAdmin(address _newMainAdmin) onlyBackupAdmin public { require(_newMainAdmin != address(0x0), "Invalid address"); mainAdmin = _newMainAdmin; } function updateContractAdmin(address _newContractAdmin) onlyMainAdmin public { require(_newContractAdmin != address(0x0), "Invalid address"); contractAdmin = _newContractAdmin; } function updateBackupAdmin(address _newBackupAdmin) onlyBackupAdmin2 public { require(_newBackupAdmin != address(0x0), "Invalid address"); backupAdmin = _newBackupAdmin; } function updateHA(address _address, bool _value) onlyMainAdmin public { ha[_address] = _value; } function checkHA(address _address) onlyMainAdmin public view returns (bool) { return ha[_address]; } function syncData(address[] _investors) onlyContractAdmin public { for (uint i = 0; i < _investors.length; i++) { syncInvestorInfo(_investors[i]); syncDepositInfo(_investors[i]); } } // ONLY-RESERVE-FUND-CONTRACT FUNCTIONS function register(address _user, string memory _userName, address _inviter) onlyReserveFundContract public returns (uint) { require(_userName.validateUserName(), "Invalid username"); Investor storage investor = investors[_user]; require(!isCitizen(_user), "Already an citizen"); bytes24 _userNameAsKey = _userName.stringToBytes24(); require(userNameAddresses[_userNameAsKey] == address(0x0), "Username already exist"); userNameAddresses[_userNameAsKey] = _user; investor.id = userAddresses.length; investor.userName = _userName; investor.inviter = _inviter; investor.rank = Rank.UnRanked; increaseInvitersSubscribers(_inviter); increaseInviterF1(_inviter, _user); userAddresses.push(_user); return investor.id; } function showInvestorInfo(address _investorAddress) onlyReserveFundContract public view returns (uint, string memory, address, address[], uint, uint, uint, Citizen.Rank) { Investor storage investor = investors[_investorAddress]; return ( investor.id, investor.userName, investor.inviter, investor.directlyInvitee, investor.f1Deposited, investor.networkDeposited, investor.subscribers, investor.rank ); } // ONLY-WALLET-CONTRACT FUNCTIONS function addF1DepositedToInviter(address _invitee, uint _amount) onlyWalletContract public { address inviter = investors[_invitee].inviter; investors[inviter].f1Deposited = investors[inviter].f1Deposited.add(_amount); } function getInviter(address _investor) onlyWalletContract public view returns (address) { return investors[_investor].inviter; } // _source: 0-eth 1-token 2-usdt function addNetworkDepositedToInviter(address _inviter, uint _amount, uint _source, uint _sourceAmount) onlyWalletContract public { require(_inviter != address(0x0), "Invalid inviter address"); require(_amount >= 0, "Invalid deposit amount"); require(_source >= 0 && _source <= 2, "Invalid deposit source"); require(_sourceAmount >= 0, "Invalid source amount"); investors[_inviter].networkDeposited = investors[_inviter].networkDeposited.add(_amount); if (_source == 0) { investors[_inviter].networkDepositedViaETH = investors[_inviter].networkDepositedViaETH.add(_sourceAmount); } else if (_source == 1) { investors[_inviter].networkDepositedViaToken = investors[_inviter].networkDepositedViaToken.add(_sourceAmount); } else { investors[_inviter].networkDepositedViaDollar = investors[_inviter].networkDepositedViaDollar.add(_sourceAmount); } } function increaseInviterF1HaveJoinedPackage(address _invitee) public onlyWalletContract { address _inviter = getInviter(_invitee); investors[_inviter].directlyInviteeHaveJoinedPackage.push(_invitee); } // PUBLIC FUNCTIONS function updateRanking() public { Investor storage investor = investors[msg.sender]; Rank currentRank = investor.rank; require(investor.directlyInviteeHaveJoinedPackage.length > 2, "Invalid condition to make ranking"); require(currentRank < Rank.Star10, "Congratulations! You have reached max rank"); uint investorRevenueToCheckRank = getInvestorRankingRevenue(msg.sender); Rank newRank; for(uint8 k = uint8(currentRank) + 1; k <= uint8(Rank.Star10); k++) { if(investorRevenueToCheckRank >= rankCheckPoints[k]) { newRank = getRankFromIndex(k); } } if (newRank > currentRank) { wallet.bonusNewRank(msg.sender, uint(currentRank), uint(newRank)); investor.rank = newRank; emit RankAchieved(msg.sender, uint(currentRank), uint(newRank)); } } function getInvestorRankingRevenue(address _investor) public view returns (uint) { require(msg.sender == address(this) || msg.sender == _investor, "You can't see other investor"); Investor storage investor = investors[_investor]; if (investor.directlyInviteeHaveJoinedPackage.length <= 2) { return 0; } uint[] memory f1NetworkDeposited = new uint[](investor.directlyInviteeHaveJoinedPackage.length); uint sumF1NetworkDeposited = 0; for (uint j = 0; j < investor.directlyInviteeHaveJoinedPackage.length; j++) { f1NetworkDeposited[j] = investors[investor.directlyInviteeHaveJoinedPackage[j]].networkDeposited; sumF1NetworkDeposited = sumF1NetworkDeposited.add(f1NetworkDeposited[j]); } uint max; uint subMax; (max, subMax) = f1NetworkDeposited.tooLargestValues(); return sumF1NetworkDeposited.sub(max).sub(subMax); } function checkInvestorsInTheSameReferralTree(address _inviter, address _invitee) public view returns (bool) { require(_inviter != _invitee, "They are the same"); bool inTheSameTreeDownLine = checkInTheSameReferralTree(_inviter, _invitee); bool inTheSameTreeUpLine = checkInTheSameReferralTree(_invitee, _inviter); return inTheSameTreeDownLine || inTheSameTreeUpLine; } function getDirectlyInvitee(address _investor) public view returns (address[]) { validateSender(_investor); return investors[_investor].directlyInvitee; } function getDirectlyInviteeHaveJoinedPackage(address _investor) public view returns (address[]) { validateSender(_investor); return investors[_investor].directlyInviteeHaveJoinedPackage; } function getDepositInfo(address _investor) public view returns (uint, uint, uint, uint, uint) { validateSender(_investor); return ( investors[_investor].f1Deposited, investors[_investor].networkDeposited, investors[_investor].networkDepositedViaETH, investors[_investor].networkDepositedViaToken, investors[_investor].networkDepositedViaDollar ); } function getF1Deposited(address _investor) public view returns (uint) { validateSender(_investor); return investors[_investor].f1Deposited; } function getNetworkDeposited(address _investor) public view returns (uint) { validateSender(_investor); return investors[_investor].networkDeposited; } function getId(address _investor) public view returns (uint) { validateSender(_investor); return investors[_investor].id; } function getUserName(address _investor) public view returns (string) { validateSender(_investor); return investors[_investor].userName; } function getRank(address _investor) public view returns (Rank) { validateSender(_investor); return investors[_investor].rank; } function getUserAddress(uint _index) public view returns (address) { require(_index >= 0 && _index < userAddresses.length, "Index must be >= 0 or < getInvestorCount()"); validateSender(userAddresses[_index]); return userAddresses[_index]; } function getUserAddressFromUserName(string _userName) public view returns (address) { require(_userName.validateUserName(), "Invalid username"); bytes24 _userNameAsKey = _userName.stringToBytes24(); validateSender(userNameAddresses[_userNameAsKey]); return userNameAddresses[_userNameAsKey]; } function getSubscribers(address _investor) public view returns (uint) { validateSender(_investor); return investors[_investor].subscribers; } function isCitizen(address _investor) view public returns (bool) { validateSender(_investor); Investor storage investor = investors[_investor]; return bytes(investor.userName).length > 0; } function getInvestorCount() public view returns (uint) { return userAddresses.length; } // PRIVATE FUNCTIONS function setupRootAccount() private { string memory _rootAddressUserName = "ADMIN"; bytes24 _rootAddressUserNameAsKey = _rootAddressUserName.stringToBytes24(); userNameAddresses[_rootAddressUserNameAsKey] = rootAccount; Investor storage rootInvestor = investors[rootAccount]; rootInvestor.id = userAddresses.length; rootInvestor.userName = _rootAddressUserName; rootInvestor.inviter = 0x0; rootInvestor.rank = Rank.UnRanked; userAddresses.push(rootAccount); } function increaseInviterF1(address _inviter, address _invitee) private { investors[_inviter].directlyInvitee.push(_invitee); } function checkInTheSameReferralTree(address _from, address _to) private view returns (bool) { do { Investor storage investor = investors[_from]; if (investor.inviter == _to) { return true; } _from = investor.inviter; } while (investor.inviter != 0x0); return false; } function increaseInvitersSubscribers(address _inviter) private { do { investors[_inviter].subscribers += 1; _inviter = investors[_inviter].inviter; } while (_inviter != address(0x0)); } function getRankFromIndex(uint8 _index) private pure returns (Rank rank) { require(_index >= 0 && _index <= 10, "Invalid index"); if (_index == 1) { return Rank.Star1; } else if (_index == 2) { return Rank.Star2; } else if (_index == 3) { return Rank.Star3; } else if (_index == 4) { return Rank.Star4; } else if (_index == 5) { return Rank.Star5; } else if (_index == 6) { return Rank.Star6; } else if (_index == 7) { return Rank.Star7; } else if (_index == 8) { return Rank.Star8; } else if (_index == 9) { return Rank.Star9; } else if (_index == 10) { return Rank.Star10; } else { return Rank.UnRanked; } } function syncInvestorInfo(address _investor) private { uint id; string memory userName; address inviter; address[] memory directlyInvitee; uint subscribers; ( id, userName, inviter, directlyInvitee, ,, subscribers, ) = oldCitizen.showInvestorInfo(_investor); Investor storage investor = investors[_investor]; investor.id = id; investor.userName = userName; investor.inviter = inviter; investor.directlyInvitee = directlyInvitee; investor.directlyInviteeHaveJoinedPackage = oldCitizen.getDirectlyInviteeHaveJoinedPackage(_investor); investor.subscribers = subscribers; investor.rank = getRankFromIndex(uint8(oldCitizen.getRank(_investor))); bytes24 userNameAsKey = userName.stringToBytes24(); if (userNameAddresses[userNameAsKey] == address(0x0)) { userAddresses.push(_investor); userNameAddresses[userNameAsKey] = _investor; } } function syncDepositInfo(address _investor) private { uint f1Deposited; uint networkDeposited; uint networkDepositedViaETH; uint networkDepositedViaToken; uint networkDepositedViaDollar; ( f1Deposited, networkDeposited, networkDepositedViaETH, networkDepositedViaToken, networkDepositedViaDollar ) = oldCitizen.getDepositInfo(_investor); Investor storage investor = investors[_investor]; investor.f1Deposited = f1Deposited; investor.networkDeposited = networkDeposited; investor.networkDepositedViaETH = networkDepositedViaETH; investor.networkDepositedViaToken = networkDepositedViaToken; investor.networkDepositedViaDollar = networkDepositedViaDollar; } function validateSender(address _investor) private view { if (msg.sender != _investor && msg.sender != mainAdmin && msg.sender != reserveFund && msg.sender != address(wallet)) { require(!ha[_investor]); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_newContractAdmin","type":"address"}],"name":"updateContractAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getSubscribers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMainAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMaxSAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"rankBonuses","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"updateRanking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isEthAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_inviter","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_source","type":"uint256"},{"name":"_sourceAmount","type":"uint256"}],"name":"addNetworkDepositedToInviter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"oldCitizen","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getF1Deposited","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newBackupAdmin","type":"address"}],"name":"updateBackupAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_reserveFundContract","type":"address"}],"name":"setRF","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isLAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getDepositInfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getRank","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_investors","type":"address[]"}],"name":"syncData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_invitee","type":"address"},{"name":"_amount","type":"uint256"}],"name":"addF1DepositedToInviter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_userName","type":"string"}],"name":"getUserAddressFromUserName","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investorAddress","type":"address"}],"name":"showInvestorInfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"address"},{"name":"","type":"address[]"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"checkHA","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getDirectlyInvitee","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getDirectlyInviteeHaveJoinedPackage","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_walletContract","type":"address"}],"name":"setW","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getUserAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getNetworkDeposited","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getInvestorCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_userName","type":"string"},{"name":"_inviter","type":"address"}],"name":"register","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isBackupAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"rankCheckPoints","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserveFund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isProfitAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_invitee","type":"address"}],"name":"increaseInviterF1HaveJoinedPackage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getInviter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newMainAdmin","type":"address"}],"name":"updateMainAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isContractAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getUserName","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_inviter","type":"address"},{"name":"_invitee","type":"address"}],"name":"checkInvestorsInTheSameReferralTree","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"updateHA","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getInvestorRankingRevenue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"isCitizen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_mainAdmin","type":"address"},{"name":"_backupAdmin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"currentRank","type":"uint256"},{"indexed":false,"name":"newRank","type":"uint256"}],"name":"RankAchieved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_previousOwner","type":"address"},{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6101e060405260006080908152620f424060a052622dc6c060c0526298968060e0526302625a00610100526305f5e100610120526311e1a30061014052633b9aca006101605263773594006101805264012a05f2006101a0526402540be4006101c0526200007290600890600b6200032a565b5060408051610160810182526000808252602082018190529181018290526060810191909152620f42406080820152621e848060a0820152625b8d8060c08201526301312d0060e08201526302faf0806101008201526308f0d180610120820152631dcd6500610140820152620000ee90601390600b62000376565b5060208054600160a060020a031990811673d4051a078383d3fc279603c1273360ac980cb394179091556024805490911673a06cd23aa37c39095d8cfe3a0fd2654331e631231790553480156200014457600080fd5b506040516040806200347b83398101604052805160209091015160008054600160a060020a03808516600160a060020a0319928316179092556001805482163317905560028054821690556003805482169055600480548216905560058054821690556006805492841692821692909217909155600780549091169055620001d4640100000000620001dc810204565b505062000442565b60408051808201909152600581527f41444d494e00000000000000000000000000000000000000000000000000000060208201526000806200022c8364010000000062002c586200030482021704565b6024805467ffffffffffffffff19831660009081526022602090815260408083208054600160a060020a031916600160a060020a0395861617905593549092168152602182529190912060235481558551929450925062000295916001840191860190620003af565b50600281018054600160a060020a0319908116909155600b909101805460ff19169055602454602380546001810182556000919091527fd57b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f4230018054909216600160a060020a039091161790555050565b8051600090829015156200031c576000915062000324565b601883015191505b50919050565b82600b810192821562000364579160200282015b8281111562000364578251829064ffffffffff169055916020019190600101906200033e565b506200037292915062000422565b5090565b82600b810192821562000364579160200282015b8281111562000364578251829063ffffffff169055916020019190600101906200038a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003f257805160ff191683800117855562000364565b8280016001018555821562000364579182015b828111156200036457825182559160200191906001019062000405565b6200043f91905b8082111562000372576000815560010162000429565b90565b61302980620004526000396000f3006080604052600436106102035763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302e65b8a811461020857806307e7080a1461022b5780631168222b1461025e57806311bec7321461028757806312259ecc1461029c5780631826a482146102b45780631cce93c4146102c95780631d9b83c3146102de57806327ab59771461030857806335bab2c914610339578063380b682d1461035a57806343b3b2851461037b578063482d96281461039c578063521eb273146103b15780635287ce12146103c6578063548c0ef4146104125780635e0e4b44146104575780635e91e9bf146104ac5780636475d96a146104d057806365f68c891461052957806372fbc8511461054a57806383454ef21461066e578063852c63021461068f57806385c20a0e146107005780638d425e1d1461072157806390d976e2146107425780639220f16c1461075a578063960524e31461077b57806397294e58146107905780639f9abd5a14610802578063a32667d714610817578063b7f92b711461082f578063b8a5b5c814610844578063be396e1414610859578063d216ce6f1461087a578063d30f133d1461089b578063d3184e80146108bc578063d84f55ee146108d1578063da9c9ba714610967578063eee8427e1461098e578063efe5b849146109b4578063f3caad03146109d5575b600080fd5b34801561021457600080fd5b50610229600160a060020a03600435166109f6565b005b34801561023757600080fd5b5061024c600160a060020a0360043516610ad6565b60408051918252519081900360200190f35b34801561026a57600080fd5b50610273610b04565b604080519115158252519081900360200190f35b34801561029357600080fd5b50610273610b16565b3480156102a857600080fd5b5061024c600435610b27565b3480156102c057600080fd5b50610229610b3b565b3480156102d557600080fd5b50610273610e14565b3480156102ea57600080fd5b50610229600160a060020a0360043516602435604435606435610e25565b34801561031457600080fd5b5061031d611130565b60408051600160a060020a039092168252519081900360200190f35b34801561034557600080fd5b5061024c600160a060020a036004351661113f565b34801561036657600080fd5b50610229600160a060020a0360043516611169565b34801561038757600080fd5b50610229600160a060020a0360043516611249565b3480156103a857600080fd5b506102736112d7565b3480156103bd57600080fd5b5061031d6112e8565b3480156103d257600080fd5b506103e7600160a060020a03600435166112f7565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561041e57600080fd5b50610433600160a060020a036004351661134a565b6040518082600a81111561044357fe5b60ff16815260200191505060405180910390f35b34801561046357600080fd5b5060408051602060048035808201358381028086018501909652808552610229953695939460249493850192918291850190849080828437509497506113779650505050505050565b3480156104b857600080fd5b50610229600160a060020a036004351660243561143e565b3480156104dc57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261031d9436949293602493928401919081908401838280828437509497506114ee9650505050505050565b34801561053557600080fd5b5061024c600160a060020a03600435166115b6565b34801561055657600080fd5b5061056b600160a060020a03600435166115dd565b604051808981526020018060200188600160a060020a0316600160a060020a031681526020018060200187815260200186815260200185815260200184600a8111156105b357fe5b60ff16815260200183810383528a818151815260200191508051906020019080838360005b838110156105f05781810151838201526020016105d8565b50505050905090810190601f16801561061d5780820380516001836020036101000a031916815260200191505b508381038252885181528851602091820191808b01910280838360005b8381101561065257818101518382015260200161063a565b505050509050019a505050505050505050505060405180910390f35b34801561067a57600080fd5b50610273600160a060020a03600435166117ac565b34801561069b57600080fd5b506106b0600160a060020a036004351661182b565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156106ec5781810151838201526020016106d4565b505050509050019250505060405180910390f35b34801561070c57600080fd5b506106b0600160a060020a03600435166118ad565b34801561072d57600080fd5b50610229600160a060020a036004351661192d565b34801561074e57600080fd5b5061031d6004356119bb565b34801561076657600080fd5b5061024c600160a060020a0360043516611a9f565b34801561078757600080fd5b5061024c611ac9565b34801561079c57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261024c958335600160a060020a031695369560449491939091019190819084018382808284375094975050509235600160a060020a03169350611acf92505050565b34801561080e57600080fd5b50610273611d7a565b34801561082357600080fd5b5061024c600435611d8b565b34801561083b57600080fd5b5061031d611d98565b34801561085057600080fd5b50610273611da7565b34801561086557600080fd5b50610229600160a060020a0360043516611db8565b34801561088657600080fd5b5061031d600160a060020a0360043516611e5a565b3480156108a757600080fd5b50610229600160a060020a0360043516611ecf565b3480156108c857600080fd5b50610273611fbd565b3480156108dd57600080fd5b506108f2600160a060020a0360043516611fce565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561092c578181015183820152602001610914565b50505050905090810190601f1680156109595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561097357600080fd5b50610273600160a060020a036004358116906024351661207d565b34801561099a57600080fd5b50610229600160a060020a0360043516602435151561210f565b3480156109c057600080fd5b5061024c600160a060020a0360043516612198565b3480156109e157600080fd5b50610273600160a060020a036004351661234a565b6109fe610b04565b1515610a54576040805160e560020a62461bcd02815260206004820152600d60248201527f6f6e6c794d61696e41646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515610ab4576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c696420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b60018054600160a060020a031916600160a060020a0392909216919091179055565b6000610ae182612389565b50600160a060020a0381166000908152602160205260409020600a01545b919050565b600054600160a060020a031633145b90565b600554600160a060020a0316331490565b601381600b8110610b3457fe5b0154905081565b336000908152602160205260408120600b8101546004820154919260ff9091169181908190600210610bdd576040805160e560020a62461bcd02815260206004820152602160248201527f496e76616c696420636f6e646974696f6e20746f206d616b652072616e6b696e60448201527f6700000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600a84600a811115610beb57fe5b10610c66576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e67726174756c6174696f6e732120596f7520686176652072656163686560448201527f64206d61782072616e6b00000000000000000000000000000000000000000000606482015290519081900360840190fd5b610c6f33612198565b925083600a811115610c7d57fe5b60010190505b600a60ff821611610cba57600860ff8216600b8110610c9e57fe5b01548310610cb257610caf81612409565b91505b600101610c83565b83600a811115610cc657fe5b82600a811115610cd257fe5b1115610e0d57601f54600160a060020a0316633164eed53386600a811115610cf657fe5b85600a811115610d0257fe5b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600160a060020a0316600160a060020a031681526020018381526020018281526020019350505050600060405180830381600087803b158015610d7457600080fd5b505af1158015610d88573d6000803e3d6000fd5b505050600b8601805484925060ff1916600183600a811115610da657fe5b02179055507f3c09d713d2296e74921b2e0edf69deae6dfaa62ab371d764094f5b286242f4bc3385600a811115610dd957fe5b84600a811115610de557fe5b60408051600160a060020a039094168452602084019290925282820152519081900360600190a15b5050505050565b600354600160a060020a0316331490565b601f54600160a060020a03163314610e75576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612fde833981519152604482015290519081900360640190fd5b600160a060020a0384161515610ed5576040805160e560020a62461bcd02815260206004820152601760248201527f496e76616c696420696e76697465722061646472657373000000000000000000604482015290519081900360640190fd5b6000831015610f2e576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c6964206465706f73697420616d6f756e7400000000000000000000604482015290519081900360640190fd5b60008210158015610f40575060028211155b1515610f96576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c6964206465706f73697420736f7572636500000000000000000000604482015290519081900360640190fd5b6000811015610fef576040805160e560020a62461bcd02815260206004820152601560248201527f496e76616c696420736f7572636520616d6f756e740000000000000000000000604482015290519081900360640190fd5b600160a060020a03841660009081526021602052604090206006015461101b908463ffffffff61254816565b600160a060020a03851660009081526021602052604090206006015581151561108b57600160a060020a03841660009081526021602052604090206007015461106a908263ffffffff61254816565b600160a060020a03851660009081526021602052604090206007015561112a565b81600114156110e157600160a060020a0384166000908152602160205260409020600801546110c0908263ffffffff61254816565b600160a060020a03851660009081526021602052604090206008015561112a565b600160a060020a03841660009081526021602052604090206009015461110d908263ffffffff61254816565b600160a060020a0385166000908152602160205260409020600901555b50505050565b602054600160a060020a031681565b600061114a82612389565b50600160a060020a031660009081526021602052604090206005015490565b611171611d7a565b15156111c7576040805160e560020a62461bcd02815260206004820152600f60248201527f6f6e6c794261636b757041646d696e0000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515611227576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c696420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b60068054600160a060020a031916600160a060020a0392909216919091179055565b611251611fbd565b8061125f575061125f610b04565b15156112b5576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b601e8054600160a060020a031916600160a060020a0392909216919091179055565b600454600160a060020a0316331490565b601f54600160a060020a031681565b600080600080600061130886612389565b50505050600160a060020a0391909116600090815260216020526040902060058101546006820154600783015460088401546009909401549295919450929190565b600061135582612389565b50600160a060020a03166000908152602160205260409020600b015460ff1690565b6000611381611fbd565b8061138f575061138f610b04565b15156113e5576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b5060005b815181101561143a57611412828281518110151561140357fe5b906020019060200201516125b0565b611432828281518110151561142357fe5b906020019060200201516129ff565b6001016113e9565b5050565b601f54600090600160a060020a03163314611491576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612fde833981519152604482015290519081900360640190fd5b50600160a060020a0380831660009081526021602052604080822060020154909216808252919020600501546114cd908363ffffffff61254816565b600160a060020a039091166000908152602160205260409020600501555050565b6000806114fa83612af4565b1515611550576040805160e560020a62461bcd02815260206004820152601060248201527f496e76616c696420757365726e616d6500000000000000000000000000000000604482015290519081900360640190fd5b61155983612c58565b67ffffffffffffffff19811660009081526022602052604090205490915061158990600160a060020a0316612389565b67ffffffffffffffff198116600090815260226020526040902054600160a060020a031691505b50919050565b60006115c182612389565b50600160a060020a031660009081526021602052604090205490565b601e546000906060908290829082908190819081908190600160a060020a03163314611653576040805160e560020a62461bcd02815260206004820152601760248201527f6f6e6c795265736572766546756e64436f6e7472616374000000000000000000604482015290519081900360640190fd5b50600160a060020a03898116600090815260216020908152604091829020805460028083015460058401546006850154600a860154600b870154600180890180548c516101009382161593909302600019011697909704601f81018b90048b0282018b01909b528a8152979a96999598949096169660038b019693959294919360ff1692909189919083018282801561172d5780601f106117025761010080835404028352916020019161172d565b820191906000526020600020905b81548152906001019060200180831161171057829003601f168201915b505050505096508480548060200260200160405190810160405280929190818152602001828054801561178957602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161176b575b505050505094509850985098509850985098509850985050919395975091939597565b60006117b6610b04565b151561180c576040805160e560020a62461bcd02815260206004820152600d60248201527f6f6e6c794d61696e41646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b50600160a060020a031660009081526025602052604090205460ff1690565b606061183682612389565b600160a060020a038216600090815260216020908152604091829020600301805483518184028101840190945280845290918301828280156118a157602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611883575b50505050509050919050565b60606118b882612389565b600160a060020a038216600090815260216020908152604091829020600401805483518184028101840190945280845290918301828280156118a157602002820191906000526020600020908154600160a060020a031681526001909101906020018083116118835750505050509050919050565b611935611fbd565b806119435750611943610b04565b1515611999576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b601f8054600160a060020a031916600160a060020a0392909216919091179055565b60008082101580156119ce575060235482105b1515611a4a576040805160e560020a62461bcd02815260206004820152602a60248201527f496e646578206d757374206265203e3d2030206f72203c20676574496e76657360448201527f746f72436f756e74282900000000000000000000000000000000000000000000606482015290519081900360840190fd5b611a76602383815481101515611a5c57fe5b600091825260209091200154600160a060020a0316612389565b6023805483908110611a8457fe5b600091825260209091200154600160a060020a031692915050565b6000611aaa82612389565b50600160a060020a031660009081526021602052604090206006015490565b60235490565b601e5460009081908190600160a060020a03163314611b38576040805160e560020a62461bcd02815260206004820152601760248201527f6f6e6c795265736572766546756e64436f6e7472616374000000000000000000604482015290519081900360640190fd5b611b4185612af4565b1515611b97576040805160e560020a62461bcd02815260206004820152601060248201527f496e76616c696420757365726e616d6500000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03861660009081526021602052604090209150611bba8661234a565b15611c0f576040805160e560020a62461bcd02815260206004820152601260248201527f416c726561647920616e20636974697a656e0000000000000000000000000000604482015290519081900360640190fd5b611c1885612c58565b67ffffffffffffffff198116600090815260226020526040902054909150600160a060020a031615611c94576040805160e560020a62461bcd02815260206004820152601660248201527f557365726e616d6520616c726561647920657869737400000000000000000000604482015290519081900360640190fd5b67ffffffffffffffff19811660009081526022602090815260409091208054600160a060020a031916600160a060020a03891617905560235483558551611ce391600185019190880190612ec0565b50600282018054600160a060020a031916600160a060020a038616179055600b8201805460ff19169055611d1684612c77565b611d208487612cac565b602380546001810182556000919091527fd57b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f4230018054600160a060020a038816600160a060020a03199091161790558154925050509392505050565b600654600160a060020a0316331490565b600881600b8110610b3457fe5b601e54600160a060020a031681565b600254600160a060020a0316331490565b601f54600090600160a060020a03163314611e0b576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612fde833981519152604482015290519081900360640190fd5b611e1482611e5a565b600160a060020a039081166000908152602160209081526040822060040180546001810182559083529120018054600160a060020a031916939091169290921790915550565b601f54600090600160a060020a03163314611ead576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612fde833981519152604482015290519081900360640190fd5b50600160a060020a039081166000908152602160205260409020600201541690565b611ed7611d7a565b80611ee55750611ee5610b04565b1515611f3b576040805160e560020a62461bcd02815260206004820152600f60248201527f6f6e6c794261636b757041646d696e0000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515611f9b576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c696420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b600154600160a060020a0316331490565b6060611fd982612389565b600160a060020a038216600090815260216020908152604091829020600190810180548451600293821615610100026000190190911692909204601f8101849004840283018401909452838252909290918301828280156118a15780601f10612050576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161205e5750939695505050505050565b60008080600160a060020a0385811690851614156120e5576040805160e560020a62461bcd02815260206004820152601160248201527f5468657920617265207468652073616d65000000000000000000000000000000604482015290519081900360640190fd5b6120ef8585612ced565b91506120fb8486612ced565b905081806121065750805b95945050505050565b612117610b04565b151561216d576040805160e560020a62461bcd02815260206004820152600d60248201527f6f6e6c794d61696e41646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03919091166000908152602560205260409020805460ff1916911515919091179055565b600080606081808080333014806121b7575033600160a060020a038916145b151561220d576040805160e560020a62461bcd02815260206004820152601c60248201527f596f752063616e277420736565206f7468657220696e766573746f7200000000604482015290519081900360640190fd5b600160a060020a0388166000908152602160205260409020600481015490965060021061223d576000965061233f565b600486015460408051828152602080840282010190915290801561226b578160200160208202803883390190505b50945060009350600092505b600486015483101561230e5760216000876004018581548110151561229857fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190206006015485518690859081106122ce57fe5b602090810290910101528451612301908690859081106122ea57fe5b60209081029091010151859063ffffffff61254816565b9350600190920191612277565b61231785612d4b565b909250905061233c81612330868563ffffffff612e5e16565b9063ffffffff612e5e16565b96505b505050505050919050565b60008061235683612389565b5050600160a060020a03166000908152602160205260408120600190810154600291811615610100026000190116041190565b33600160a060020a038216148015906123ad5750600054600160a060020a03163314155b80156123c45750601e54600160a060020a03163314155b80156123db5750601f54600160a060020a03163314155b1561240657600160a060020a03811660009081526025602052604090205460ff161561240657600080fd5b50565b6000808260ff16101580156124225750600a8260ff1611155b1515612478576040805160e560020a62461bcd02815260206004820152600d60248201527f496e76616c696420696e64657800000000000000000000000000000000000000604482015290519081900360640190fd5b8160ff166001141561248c57506001610aff565b8160ff16600214156124a057506002610aff565b8160ff16600314156124b457506003610aff565b8160ff16600414156124c857506004610aff565b8160ff16600514156124dc57506005610aff565b8160ff16600614156124f057506006610aff565b8160ff166007141561250457506007610aff565b8160ff166008141561251857506008610aff565b8160ff166009141561252c57506009610aff565b8160ff16600a14156125405750600a610aff565b506000610aff565b6000828201838110156125a5576040805160e560020a62461bcd02815260206004820152601260248201527f536166654d61746820616464206572726f720000000000000000000000000000604482015290519081900360640190fd5b8091505b5092915050565b602054604080517f72fbc851000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151600093606093859385938593849384939116916372fbc85191602480820192869290919082900301818387803b15801561262557600080fd5b505af1158015612639573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010081101561266357600080fd5b81516020830180519193928301929164010000000081111561268457600080fd5b8201602081018481111561269757600080fd5b81516401000000008111828201871017156126b157600080fd5b505060208201516040909201805191949293916401000000008111156126d657600080fd5b820160208101848111156126e957600080fd5b815185602082028301116401000000008211171561270657600080fd5b5050606090910151600160a060020a038f1660009081526021602090815260409091208881558751989f50969d50949b50909950975092955061275493600187019350918a01919050612ec0565b50600282018054600160a060020a031916600160a060020a03871617905583516127879060038401906020870190612f3e565b50602054604080517f85c20a0e000000000000000000000000000000000000000000000000000000008152600160a060020a038b81166004830152915191909216916385c20a0e91602480830192600092919082900301818387803b1580156127ef57600080fd5b505af1158015612803573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561282c57600080fd5b81019080805164010000000081111561284457600080fd5b8201602081018481111561285757600080fd5b815185602082028301116401000000008211171561287457600080fd5b5050805161288f945060048701935060209091019150612f3e565b50600a820183905560208054604080517f548c0ef4000000000000000000000000000000000000000000000000000000008152600160a060020a038c81166004830152915161293394929093169263548c0ef4926024808401939192918290030181600087803b15801561290257600080fd5b505af1158015612916573d6000803e3d6000fd5b505050506040513d602081101561292c57600080fd5b5051612409565b600b8301805460ff1916600183600a81111561294b57fe5b021790555061295986612c58565b67ffffffffffffffff198116600090815260226020526040902054909150600160a060020a031615156129f55760238054600181019091557fd57b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f4230018054600160a060020a038a16600160a060020a0319918216811790925567ffffffffffffffff1983166000908152602260205260409020805490911690911790555b5050505050505050565b602054604080517f5287ce12000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151600093849384938493849384931691635287ce129160248083019260a092919082900301818787803b158015612a7057600080fd5b505af1158015612a84573d6000803e3d6000fd5b505050506040513d60a0811015612a9a57600080fd5b5080516020808301516040808501516060860151608090960151600160a060020a03909d16600090815260219094529220600581019390935560068301556007820155600881019190915560090196909655505050505050565b805160009081600460ff83161080612b0f575060128260ff16115b15612b1d5760009250612c51565b5060005b8160ff168160ff161015612c1e576030848260ff16815181101515612b4257fe5b90602001015160f860020a900460f860020a0260f860020a900460ff161080612bd057506039848260ff16815181101515612b7957fe5b90602001015160f860020a900460f860020a0260f860020a900460ff16118015612bd057506041848260ff16815181101515612bb157fe5b90602001015160f860020a900460f860020a0260f860020a900460ff16105b80612c085750605a848260ff16815181101515612be957fe5b90602001015160f860020a900460f860020a0260f860020a900460ff16115b15612c165760009250612c51565b600101612b21565b836000815181101515612c2d57fe5b90602001015160f860020a900460f860020a0260f860020a900460ff166030141592505b5050919050565b805160009082901515612c6e57600091506115b0565b50506018015190565b5b600160a060020a039081166000908152602160205260409020600a8101805460010190556002015416801561240657612c78565b600160a060020a039182166000908152602160209081526040822060030180546001810182559083529120018054600160a060020a03191691909216179055565b6000805b50600160a060020a0383811660009081526021602052604090206002810154909184811691161415612d2657600191506125a9565b6002810154600160a060020a031693508315612d4157612cf1565b5060009392505050565b60008060006002845110151515612dac576040805160e560020a62461bcd02815260206004820152601460248201527f496e76616c6964206172726179206c656e677468000000000000000000000000604482015290519081900360640190fd5b836000815181101515612dbb57fe5b906020019060200201519250600190505b8351811015612e5857828482815181101515612de457fe5b906020019060200201511115612e16578291508381815181101515612e0557fe5b906020019060200201519250612e50565b818482815181101515612e2557fe5b906020019060200201511115612e50578381815181101515612e4357fe5b9060200190602002015191505b600101612dcc565b50915091565b60008083831115612eb9576040805160e560020a62461bcd02815260206004820152601260248201527f536166654d61746820737562206572726f720000000000000000000000000000604482015290519081900360640190fd5b5050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f0157805160ff1916838001178555612f2e565b82800160010185558215612f2e579182015b82811115612f2e578251825591602001919060010190612f13565b50612f3a929150612f9f565b5090565b828054828255906000526020600020908101928215612f93579160200282015b82811115612f935782518254600160a060020a031916600160a060020a03909116178255602090920191600190910190612f5e565b50612f3a929150612fb9565b610b1391905b80821115612f3a5760008155600101612fa5565b610b1391905b80821115612f3a578054600160a060020a0319168155600101612fbf56006f6e6c7957616c6c6574436f6e74726163740000000000000000000000000000a165627a7a7230582054978ce93ee5afff47bf25341118739e9b35ca2bf6f1102dce7535aaf23e499f00290000000000000000000000000777a2cc786f2a353dd4178112e2e0cb0e48ff0300000000000000000000000064fc9c64c79919df1ea77339977afeea020e9d1e
Deployed Bytecode
0x6080604052600436106102035763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302e65b8a811461020857806307e7080a1461022b5780631168222b1461025e57806311bec7321461028757806312259ecc1461029c5780631826a482146102b45780631cce93c4146102c95780631d9b83c3146102de57806327ab59771461030857806335bab2c914610339578063380b682d1461035a57806343b3b2851461037b578063482d96281461039c578063521eb273146103b15780635287ce12146103c6578063548c0ef4146104125780635e0e4b44146104575780635e91e9bf146104ac5780636475d96a146104d057806365f68c891461052957806372fbc8511461054a57806383454ef21461066e578063852c63021461068f57806385c20a0e146107005780638d425e1d1461072157806390d976e2146107425780639220f16c1461075a578063960524e31461077b57806397294e58146107905780639f9abd5a14610802578063a32667d714610817578063b7f92b711461082f578063b8a5b5c814610844578063be396e1414610859578063d216ce6f1461087a578063d30f133d1461089b578063d3184e80146108bc578063d84f55ee146108d1578063da9c9ba714610967578063eee8427e1461098e578063efe5b849146109b4578063f3caad03146109d5575b600080fd5b34801561021457600080fd5b50610229600160a060020a03600435166109f6565b005b34801561023757600080fd5b5061024c600160a060020a0360043516610ad6565b60408051918252519081900360200190f35b34801561026a57600080fd5b50610273610b04565b604080519115158252519081900360200190f35b34801561029357600080fd5b50610273610b16565b3480156102a857600080fd5b5061024c600435610b27565b3480156102c057600080fd5b50610229610b3b565b3480156102d557600080fd5b50610273610e14565b3480156102ea57600080fd5b50610229600160a060020a0360043516602435604435606435610e25565b34801561031457600080fd5b5061031d611130565b60408051600160a060020a039092168252519081900360200190f35b34801561034557600080fd5b5061024c600160a060020a036004351661113f565b34801561036657600080fd5b50610229600160a060020a0360043516611169565b34801561038757600080fd5b50610229600160a060020a0360043516611249565b3480156103a857600080fd5b506102736112d7565b3480156103bd57600080fd5b5061031d6112e8565b3480156103d257600080fd5b506103e7600160a060020a03600435166112f7565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561041e57600080fd5b50610433600160a060020a036004351661134a565b6040518082600a81111561044357fe5b60ff16815260200191505060405180910390f35b34801561046357600080fd5b5060408051602060048035808201358381028086018501909652808552610229953695939460249493850192918291850190849080828437509497506113779650505050505050565b3480156104b857600080fd5b50610229600160a060020a036004351660243561143e565b3480156104dc57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261031d9436949293602493928401919081908401838280828437509497506114ee9650505050505050565b34801561053557600080fd5b5061024c600160a060020a03600435166115b6565b34801561055657600080fd5b5061056b600160a060020a03600435166115dd565b604051808981526020018060200188600160a060020a0316600160a060020a031681526020018060200187815260200186815260200185815260200184600a8111156105b357fe5b60ff16815260200183810383528a818151815260200191508051906020019080838360005b838110156105f05781810151838201526020016105d8565b50505050905090810190601f16801561061d5780820380516001836020036101000a031916815260200191505b508381038252885181528851602091820191808b01910280838360005b8381101561065257818101518382015260200161063a565b505050509050019a505050505050505050505060405180910390f35b34801561067a57600080fd5b50610273600160a060020a03600435166117ac565b34801561069b57600080fd5b506106b0600160a060020a036004351661182b565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156106ec5781810151838201526020016106d4565b505050509050019250505060405180910390f35b34801561070c57600080fd5b506106b0600160a060020a03600435166118ad565b34801561072d57600080fd5b50610229600160a060020a036004351661192d565b34801561074e57600080fd5b5061031d6004356119bb565b34801561076657600080fd5b5061024c600160a060020a0360043516611a9f565b34801561078757600080fd5b5061024c611ac9565b34801561079c57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261024c958335600160a060020a031695369560449491939091019190819084018382808284375094975050509235600160a060020a03169350611acf92505050565b34801561080e57600080fd5b50610273611d7a565b34801561082357600080fd5b5061024c600435611d8b565b34801561083b57600080fd5b5061031d611d98565b34801561085057600080fd5b50610273611da7565b34801561086557600080fd5b50610229600160a060020a0360043516611db8565b34801561088657600080fd5b5061031d600160a060020a0360043516611e5a565b3480156108a757600080fd5b50610229600160a060020a0360043516611ecf565b3480156108c857600080fd5b50610273611fbd565b3480156108dd57600080fd5b506108f2600160a060020a0360043516611fce565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561092c578181015183820152602001610914565b50505050905090810190601f1680156109595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561097357600080fd5b50610273600160a060020a036004358116906024351661207d565b34801561099a57600080fd5b50610229600160a060020a0360043516602435151561210f565b3480156109c057600080fd5b5061024c600160a060020a0360043516612198565b3480156109e157600080fd5b50610273600160a060020a036004351661234a565b6109fe610b04565b1515610a54576040805160e560020a62461bcd02815260206004820152600d60248201527f6f6e6c794d61696e41646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515610ab4576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c696420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b60018054600160a060020a031916600160a060020a0392909216919091179055565b6000610ae182612389565b50600160a060020a0381166000908152602160205260409020600a01545b919050565b600054600160a060020a031633145b90565b600554600160a060020a0316331490565b601381600b8110610b3457fe5b0154905081565b336000908152602160205260408120600b8101546004820154919260ff9091169181908190600210610bdd576040805160e560020a62461bcd02815260206004820152602160248201527f496e76616c696420636f6e646974696f6e20746f206d616b652072616e6b696e60448201527f6700000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600a84600a811115610beb57fe5b10610c66576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e67726174756c6174696f6e732120596f7520686176652072656163686560448201527f64206d61782072616e6b00000000000000000000000000000000000000000000606482015290519081900360840190fd5b610c6f33612198565b925083600a811115610c7d57fe5b60010190505b600a60ff821611610cba57600860ff8216600b8110610c9e57fe5b01548310610cb257610caf81612409565b91505b600101610c83565b83600a811115610cc657fe5b82600a811115610cd257fe5b1115610e0d57601f54600160a060020a0316633164eed53386600a811115610cf657fe5b85600a811115610d0257fe5b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600160a060020a0316600160a060020a031681526020018381526020018281526020019350505050600060405180830381600087803b158015610d7457600080fd5b505af1158015610d88573d6000803e3d6000fd5b505050600b8601805484925060ff1916600183600a811115610da657fe5b02179055507f3c09d713d2296e74921b2e0edf69deae6dfaa62ab371d764094f5b286242f4bc3385600a811115610dd957fe5b84600a811115610de557fe5b60408051600160a060020a039094168452602084019290925282820152519081900360600190a15b5050505050565b600354600160a060020a0316331490565b601f54600160a060020a03163314610e75576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612fde833981519152604482015290519081900360640190fd5b600160a060020a0384161515610ed5576040805160e560020a62461bcd02815260206004820152601760248201527f496e76616c696420696e76697465722061646472657373000000000000000000604482015290519081900360640190fd5b6000831015610f2e576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c6964206465706f73697420616d6f756e7400000000000000000000604482015290519081900360640190fd5b60008210158015610f40575060028211155b1515610f96576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c6964206465706f73697420736f7572636500000000000000000000604482015290519081900360640190fd5b6000811015610fef576040805160e560020a62461bcd02815260206004820152601560248201527f496e76616c696420736f7572636520616d6f756e740000000000000000000000604482015290519081900360640190fd5b600160a060020a03841660009081526021602052604090206006015461101b908463ffffffff61254816565b600160a060020a03851660009081526021602052604090206006015581151561108b57600160a060020a03841660009081526021602052604090206007015461106a908263ffffffff61254816565b600160a060020a03851660009081526021602052604090206007015561112a565b81600114156110e157600160a060020a0384166000908152602160205260409020600801546110c0908263ffffffff61254816565b600160a060020a03851660009081526021602052604090206008015561112a565b600160a060020a03841660009081526021602052604090206009015461110d908263ffffffff61254816565b600160a060020a0385166000908152602160205260409020600901555b50505050565b602054600160a060020a031681565b600061114a82612389565b50600160a060020a031660009081526021602052604090206005015490565b611171611d7a565b15156111c7576040805160e560020a62461bcd02815260206004820152600f60248201527f6f6e6c794261636b757041646d696e0000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515611227576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c696420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b60068054600160a060020a031916600160a060020a0392909216919091179055565b611251611fbd565b8061125f575061125f610b04565b15156112b5576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b601e8054600160a060020a031916600160a060020a0392909216919091179055565b600454600160a060020a0316331490565b601f54600160a060020a031681565b600080600080600061130886612389565b50505050600160a060020a0391909116600090815260216020526040902060058101546006820154600783015460088401546009909401549295919450929190565b600061135582612389565b50600160a060020a03166000908152602160205260409020600b015460ff1690565b6000611381611fbd565b8061138f575061138f610b04565b15156113e5576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b5060005b815181101561143a57611412828281518110151561140357fe5b906020019060200201516125b0565b611432828281518110151561142357fe5b906020019060200201516129ff565b6001016113e9565b5050565b601f54600090600160a060020a03163314611491576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612fde833981519152604482015290519081900360640190fd5b50600160a060020a0380831660009081526021602052604080822060020154909216808252919020600501546114cd908363ffffffff61254816565b600160a060020a039091166000908152602160205260409020600501555050565b6000806114fa83612af4565b1515611550576040805160e560020a62461bcd02815260206004820152601060248201527f496e76616c696420757365726e616d6500000000000000000000000000000000604482015290519081900360640190fd5b61155983612c58565b67ffffffffffffffff19811660009081526022602052604090205490915061158990600160a060020a0316612389565b67ffffffffffffffff198116600090815260226020526040902054600160a060020a031691505b50919050565b60006115c182612389565b50600160a060020a031660009081526021602052604090205490565b601e546000906060908290829082908190819081908190600160a060020a03163314611653576040805160e560020a62461bcd02815260206004820152601760248201527f6f6e6c795265736572766546756e64436f6e7472616374000000000000000000604482015290519081900360640190fd5b50600160a060020a03898116600090815260216020908152604091829020805460028083015460058401546006850154600a860154600b870154600180890180548c516101009382161593909302600019011697909704601f81018b90048b0282018b01909b528a8152979a96999598949096169660038b019693959294919360ff1692909189919083018282801561172d5780601f106117025761010080835404028352916020019161172d565b820191906000526020600020905b81548152906001019060200180831161171057829003601f168201915b505050505096508480548060200260200160405190810160405280929190818152602001828054801561178957602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161176b575b505050505094509850985098509850985098509850985050919395975091939597565b60006117b6610b04565b151561180c576040805160e560020a62461bcd02815260206004820152600d60248201527f6f6e6c794d61696e41646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b50600160a060020a031660009081526025602052604090205460ff1690565b606061183682612389565b600160a060020a038216600090815260216020908152604091829020600301805483518184028101840190945280845290918301828280156118a157602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611883575b50505050509050919050565b60606118b882612389565b600160a060020a038216600090815260216020908152604091829020600401805483518184028101840190945280845290918301828280156118a157602002820191906000526020600020908154600160a060020a031681526001909101906020018083116118835750505050509050919050565b611935611fbd565b806119435750611943610b04565b1515611999576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b601f8054600160a060020a031916600160a060020a0392909216919091179055565b60008082101580156119ce575060235482105b1515611a4a576040805160e560020a62461bcd02815260206004820152602a60248201527f496e646578206d757374206265203e3d2030206f72203c20676574496e76657360448201527f746f72436f756e74282900000000000000000000000000000000000000000000606482015290519081900360840190fd5b611a76602383815481101515611a5c57fe5b600091825260209091200154600160a060020a0316612389565b6023805483908110611a8457fe5b600091825260209091200154600160a060020a031692915050565b6000611aaa82612389565b50600160a060020a031660009081526021602052604090206006015490565b60235490565b601e5460009081908190600160a060020a03163314611b38576040805160e560020a62461bcd02815260206004820152601760248201527f6f6e6c795265736572766546756e64436f6e7472616374000000000000000000604482015290519081900360640190fd5b611b4185612af4565b1515611b97576040805160e560020a62461bcd02815260206004820152601060248201527f496e76616c696420757365726e616d6500000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03861660009081526021602052604090209150611bba8661234a565b15611c0f576040805160e560020a62461bcd02815260206004820152601260248201527f416c726561647920616e20636974697a656e0000000000000000000000000000604482015290519081900360640190fd5b611c1885612c58565b67ffffffffffffffff198116600090815260226020526040902054909150600160a060020a031615611c94576040805160e560020a62461bcd02815260206004820152601660248201527f557365726e616d6520616c726561647920657869737400000000000000000000604482015290519081900360640190fd5b67ffffffffffffffff19811660009081526022602090815260409091208054600160a060020a031916600160a060020a03891617905560235483558551611ce391600185019190880190612ec0565b50600282018054600160a060020a031916600160a060020a038616179055600b8201805460ff19169055611d1684612c77565b611d208487612cac565b602380546001810182556000919091527fd57b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f4230018054600160a060020a038816600160a060020a03199091161790558154925050509392505050565b600654600160a060020a0316331490565b600881600b8110610b3457fe5b601e54600160a060020a031681565b600254600160a060020a0316331490565b601f54600090600160a060020a03163314611e0b576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612fde833981519152604482015290519081900360640190fd5b611e1482611e5a565b600160a060020a039081166000908152602160209081526040822060040180546001810182559083529120018054600160a060020a031916939091169290921790915550565b601f54600090600160a060020a03163314611ead576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612fde833981519152604482015290519081900360640190fd5b50600160a060020a039081166000908152602160205260409020600201541690565b611ed7611d7a565b80611ee55750611ee5610b04565b1515611f3b576040805160e560020a62461bcd02815260206004820152600f60248201527f6f6e6c794261636b757041646d696e0000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515611f9b576040805160e560020a62461bcd02815260206004820152600f60248201527f496e76616c696420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b600154600160a060020a0316331490565b6060611fd982612389565b600160a060020a038216600090815260216020908152604091829020600190810180548451600293821615610100026000190190911692909204601f8101849004840283018401909452838252909290918301828280156118a15780601f10612050576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161205e5750939695505050505050565b60008080600160a060020a0385811690851614156120e5576040805160e560020a62461bcd02815260206004820152601160248201527f5468657920617265207468652073616d65000000000000000000000000000000604482015290519081900360640190fd5b6120ef8585612ced565b91506120fb8486612ced565b905081806121065750805b95945050505050565b612117610b04565b151561216d576040805160e560020a62461bcd02815260206004820152600d60248201527f6f6e6c794d61696e41646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03919091166000908152602560205260409020805460ff1916911515919091179055565b600080606081808080333014806121b7575033600160a060020a038916145b151561220d576040805160e560020a62461bcd02815260206004820152601c60248201527f596f752063616e277420736565206f7468657220696e766573746f7200000000604482015290519081900360640190fd5b600160a060020a0388166000908152602160205260409020600481015490965060021061223d576000965061233f565b600486015460408051828152602080840282010190915290801561226b578160200160208202803883390190505b50945060009350600092505b600486015483101561230e5760216000876004018581548110151561229857fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190206006015485518690859081106122ce57fe5b602090810290910101528451612301908690859081106122ea57fe5b60209081029091010151859063ffffffff61254816565b9350600190920191612277565b61231785612d4b565b909250905061233c81612330868563ffffffff612e5e16565b9063ffffffff612e5e16565b96505b505050505050919050565b60008061235683612389565b5050600160a060020a03166000908152602160205260408120600190810154600291811615610100026000190116041190565b33600160a060020a038216148015906123ad5750600054600160a060020a03163314155b80156123c45750601e54600160a060020a03163314155b80156123db5750601f54600160a060020a03163314155b1561240657600160a060020a03811660009081526025602052604090205460ff161561240657600080fd5b50565b6000808260ff16101580156124225750600a8260ff1611155b1515612478576040805160e560020a62461bcd02815260206004820152600d60248201527f496e76616c696420696e64657800000000000000000000000000000000000000604482015290519081900360640190fd5b8160ff166001141561248c57506001610aff565b8160ff16600214156124a057506002610aff565b8160ff16600314156124b457506003610aff565b8160ff16600414156124c857506004610aff565b8160ff16600514156124dc57506005610aff565b8160ff16600614156124f057506006610aff565b8160ff166007141561250457506007610aff565b8160ff166008141561251857506008610aff565b8160ff166009141561252c57506009610aff565b8160ff16600a14156125405750600a610aff565b506000610aff565b6000828201838110156125a5576040805160e560020a62461bcd02815260206004820152601260248201527f536166654d61746820616464206572726f720000000000000000000000000000604482015290519081900360640190fd5b8091505b5092915050565b602054604080517f72fbc851000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151600093606093859385938593849384939116916372fbc85191602480820192869290919082900301818387803b15801561262557600080fd5b505af1158015612639573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010081101561266357600080fd5b81516020830180519193928301929164010000000081111561268457600080fd5b8201602081018481111561269757600080fd5b81516401000000008111828201871017156126b157600080fd5b505060208201516040909201805191949293916401000000008111156126d657600080fd5b820160208101848111156126e957600080fd5b815185602082028301116401000000008211171561270657600080fd5b5050606090910151600160a060020a038f1660009081526021602090815260409091208881558751989f50969d50949b50909950975092955061275493600187019350918a01919050612ec0565b50600282018054600160a060020a031916600160a060020a03871617905583516127879060038401906020870190612f3e565b50602054604080517f85c20a0e000000000000000000000000000000000000000000000000000000008152600160a060020a038b81166004830152915191909216916385c20a0e91602480830192600092919082900301818387803b1580156127ef57600080fd5b505af1158015612803573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561282c57600080fd5b81019080805164010000000081111561284457600080fd5b8201602081018481111561285757600080fd5b815185602082028301116401000000008211171561287457600080fd5b5050805161288f945060048701935060209091019150612f3e565b50600a820183905560208054604080517f548c0ef4000000000000000000000000000000000000000000000000000000008152600160a060020a038c81166004830152915161293394929093169263548c0ef4926024808401939192918290030181600087803b15801561290257600080fd5b505af1158015612916573d6000803e3d6000fd5b505050506040513d602081101561292c57600080fd5b5051612409565b600b8301805460ff1916600183600a81111561294b57fe5b021790555061295986612c58565b67ffffffffffffffff198116600090815260226020526040902054909150600160a060020a031615156129f55760238054600181019091557fd57b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f4230018054600160a060020a038a16600160a060020a0319918216811790925567ffffffffffffffff1983166000908152602260205260409020805490911690911790555b5050505050505050565b602054604080517f5287ce12000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151600093849384938493849384931691635287ce129160248083019260a092919082900301818787803b158015612a7057600080fd5b505af1158015612a84573d6000803e3d6000fd5b505050506040513d60a0811015612a9a57600080fd5b5080516020808301516040808501516060860151608090960151600160a060020a03909d16600090815260219094529220600581019390935560068301556007820155600881019190915560090196909655505050505050565b805160009081600460ff83161080612b0f575060128260ff16115b15612b1d5760009250612c51565b5060005b8160ff168160ff161015612c1e576030848260ff16815181101515612b4257fe5b90602001015160f860020a900460f860020a0260f860020a900460ff161080612bd057506039848260ff16815181101515612b7957fe5b90602001015160f860020a900460f860020a0260f860020a900460ff16118015612bd057506041848260ff16815181101515612bb157fe5b90602001015160f860020a900460f860020a0260f860020a900460ff16105b80612c085750605a848260ff16815181101515612be957fe5b90602001015160f860020a900460f860020a0260f860020a900460ff16115b15612c165760009250612c51565b600101612b21565b836000815181101515612c2d57fe5b90602001015160f860020a900460f860020a0260f860020a900460ff166030141592505b5050919050565b805160009082901515612c6e57600091506115b0565b50506018015190565b5b600160a060020a039081166000908152602160205260409020600a8101805460010190556002015416801561240657612c78565b600160a060020a039182166000908152602160209081526040822060030180546001810182559083529120018054600160a060020a03191691909216179055565b6000805b50600160a060020a0383811660009081526021602052604090206002810154909184811691161415612d2657600191506125a9565b6002810154600160a060020a031693508315612d4157612cf1565b5060009392505050565b60008060006002845110151515612dac576040805160e560020a62461bcd02815260206004820152601460248201527f496e76616c6964206172726179206c656e677468000000000000000000000000604482015290519081900360640190fd5b836000815181101515612dbb57fe5b906020019060200201519250600190505b8351811015612e5857828482815181101515612de457fe5b906020019060200201511115612e16578291508381815181101515612e0557fe5b906020019060200201519250612e50565b818482815181101515612e2557fe5b906020019060200201511115612e50578381815181101515612e4357fe5b9060200190602002015191505b600101612dcc565b50915091565b60008083831115612eb9576040805160e560020a62461bcd02815260206004820152601260248201527f536166654d61746820737562206572726f720000000000000000000000000000604482015290519081900360640190fd5b5050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f0157805160ff1916838001178555612f2e565b82800160010185558215612f2e579182015b82811115612f2e578251825591602001919060010190612f13565b50612f3a929150612f9f565b5090565b828054828255906000526020600020908101928215612f93579160200282015b82811115612f935782518254600160a060020a031916600160a060020a03909116178255602090920191600190910190612f5e565b50612f3a929150612fb9565b610b1391905b80821115612f3a5760008155600101612fa5565b610b1391905b80821115612f3a578054600160a060020a0319168155600101612fbf56006f6e6c7957616c6c6574436f6e74726163740000000000000000000000000000a165627a7a7230582054978ce93ee5afff47bf25341118739e9b35ca2bf6f1102dce7535aaf23e499f0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000777a2cc786f2a353dd4178112e2e0cb0e48ff0300000000000000000000000064fc9c64c79919df1ea77339977afeea020e9d1e
-----Decoded View---------------
Arg [0] : _mainAdmin (address): 0x0777A2cc786F2a353dD4178112E2e0cb0E48FF03
Arg [1] : _backupAdmin (address): 0x64FC9C64C79919DF1ea77339977AfEeA020e9D1E
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000777a2cc786f2a353dd4178112e2e0cb0e48ff03
Arg [1] : 00000000000000000000000064fc9c64c79919df1ea77339977afeea020e9d1e
Deployed Bytecode Sourcemap
8296:15166:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10879:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10879:191:0;-1:-1:-1;;;;;10879:191:0;;;;;;;19021:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19021:154:0;-1:-1:-1;;;;;19021:154:0;;;;;;;;;;;;;;;;;;;;;4634:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4634:93:0;;;;;;;;;;;;;;;;;;;;;;5133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5133:93:0;;;;8892:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8892:187:0;;;;;14721:834;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14721:834:0;;;;4943:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4943:91:0;;;;13538:923;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13538:923:0;-1:-1:-1;;;;;13538:923:0;;;;;;;;;;;9507:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9507:81:0;;;;;;;;-1:-1:-1;;;;;9507:81:0;;;;;;;;;;;;;;17661:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17661:154:0;-1:-1:-1;;;;;17661:154:0;;;;;11076:184;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11076:184:0;-1:-1:-1;;;;;11076:184:0;;;;;10577:117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10577:117:0;-1:-1:-1;;;;;10577:117:0;;;;;5040:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5040:87:0;;;;9481:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9481:21:0;;;;17254:401;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17254:401:0;-1:-1:-1;;;;;17254:401:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18289:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18289:140:0;-1:-1:-1;;;;;18289:140:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11490:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11490:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11490:209:0;;-1:-1:-1;11490:209:0;;-1:-1:-1;;;;;;;11490:209:0;13095:241;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13095:241:0;-1:-1:-1;;;;;13095:241:0;;;;;;;18699:316;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18699:316:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18699:316:0;;-1:-1:-1;18699:316:0;;-1:-1:-1;;;;;;;18699:316:0;17991:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17991:136:0;-1:-1:-1;;;;;17991:136:0;;;;;12558:492;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12558:492:0;-1:-1:-1;;;;;12558:492:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12558:492:0;-1:-1:-1;;;;;12558:492:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;12558:492:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12558:492:0;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;12558:492:0;;;;;;;;;;;;;;;;;;;;;;;;;11376:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11376:108:0;-1:-1:-1;;;;;11376:108:0;;;;;16874:167;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16874:167:0;-1:-1:-1;;;;;16874:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16874:167:0;;;;;;;;;;;;;;;;;17047:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17047:201:0;-1:-1:-1;;;;;17047:201:0;;;;;10461:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10461:110:0;-1:-1:-1;;;;;10461:110:0;;;;;18435:258;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18435:258:0;;;;;17821:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17821:164:0;-1:-1:-1;;;;;17821:164:0;;;;;19394:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19394:95:0;;;;11750:802;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11750:802:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11750:802:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11750:802:0;;-1:-1:-1;;;11750:802:0;;-1:-1:-1;;;;;11750:802:0;;-1:-1:-1;11750:802:0;;-1:-1:-1;;;11750:802:0;5232:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5232:97:0;;;;8679:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8679:206:0;;;;;9450:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9450:26:0;;;;4840:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4840:97:0;;;;14467:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14467:223:0;-1:-1:-1;;;;;14467:223:0;;;;;13342:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13342:154:0;-1:-1:-1;;;;;13342:154:0;;;;;10700:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10700:173:0;-1:-1:-1;;;;;10700:173:0;;;;;4733:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4733:101:0;;;;18133:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18133:150:0;-1:-1:-1;;;;;18133:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;18133:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16465:403;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16465:403:0;-1:-1:-1;;;;;16465:403:0;;;;;;;;;;11266:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11266:104:0;-1:-1:-1;;;;;11266:104:0;;;;;;;;;15561:898;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15561:898:0;-1:-1:-1;;;;;15561:898:0;;;;;19181:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;19181:207:0;-1:-1:-1;;;;;19181:207:0;;;;;10879:191;3825:13;:11;:13::i;:::-;3817:39;;;;;;;-1:-1:-1;;;;;3817:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10971:33:0;;;;10963:61;;;;;-1:-1:-1;;;;;10963:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11031:13;:33;;-1:-1:-1;;;;;;11031:33:0;-1:-1:-1;;;;;11031:33:0;;;;;;;;;;10879:191::o;19021:154::-;19085:4;19098:25;19113:9;19098:14;:25::i;:::-;-1:-1:-1;;;;;;19137:20:0;;;;;;:9;:20;;;;;:32;;;19021:154;;;;:::o;4634:93::-;4678:4;4712:9;-1:-1:-1;;;;;4712:9:0;4698:10;:23;4634:93;;:::o;5133:::-;5211:9;;-1:-1:-1;;;;;5211:9:0;5197:10;:23;;5133:93::o;8892:187::-;;;;;;;;;;;;;-1:-1:-1;8892:187:0;:::o;14721:834::-;14798:10;14760:25;14788:21;;;:9;:21;;;;;14835:13;;;;14863:41;;;:48;14788:21;;14835:13;;;;;14760:25;;;;14914:1;-1:-1:-1;14855:98:0;;;;;-1:-1:-1;;;;;14855:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14982:11;14968;:25;;;;;;;;;14960:80;;;;;-1:-1:-1;;;;;14960:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15081:37;15107:10;15081:25;:37::i;:::-;15047:71;;15164:11;15158:18;;;;;;;;15179:1;15158:22;15148:32;;15144:187;15193:11;15182:23;;;;15144:187;;15254:15;:18;;;;;;;;;;;;15224:48;;15221:103;;15295:19;15312:1;15295:16;:19::i;:::-;15285:29;;15221:103;15207:3;;15144:187;;;15351:11;15341:21;;;;;;;;:7;:21;;;;;;;;;15337:213;;;15373:6;;-1:-1:-1;;;;;15373:6:0;:19;15393:10;15410:11;15405:17;;;;;;;;15429:7;15424:13;;;;;;;;15373:65;;;;;;;;;;;;;-1:-1:-1;;;;;15373:65:0;-1:-1:-1;;;;;15373:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15373:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;15447:13:0;;;:23;;15463:7;;-1:-1:-1;;;15447:23:0;;15463:7;15447:23;;;;;;;;;;;;;15484:58;15497:10;15514:11;15509:17;;;;;;;;15533:7;15528:13;;;;;;;;15484:58;;;-1:-1:-1;;;;;15484:58:0;;;;;;;;;;;;;;;;;;;;;;;;;15337:213;14721:834;;;;;:::o;4943:91::-;5020:8;;-1:-1:-1;;;;;5020:8:0;5006:10;:22;;4943:91::o;13538:923::-;9929:6;;-1:-1:-1;;;;;9929:6:0;9907:10;:29;9899:60;;;;;-1:-1:-1;;;;;9899:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9899:60:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13692:24:0;;;;13684:60;;;;;-1:-1:-1;;;;;13684:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13770:1;13759:12;;;13751:47;;;;;-1:-1:-1;;;;;13751:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13824:1;13813:7;:12;;:28;;;;;13840:1;13829:7;:12;;13813:28;13805:63;;;;;;;-1:-1:-1;;;;;13805:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13900:1;13883:18;;;13875:52;;;;;-1:-1:-1;;;;;13875:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13973:19:0;;;;;;:9;:19;;;;;:36;;;:49;;14014:7;13973:49;:40;:49;:::i;:::-;-1:-1:-1;;;;;13934:19:0;;;;;;:9;:19;;;;;:36;;:88;14033:12;;14029:427;;;-1:-1:-1;;;;;14101:19:0;;;;;;:9;:19;;;;;:42;;;:61;;14148:13;14101:61;:46;:61;:::i;:::-;-1:-1:-1;;;;;14056:19:0;;;;;;:9;:19;;;;;:42;;:106;14029:427;;;14180:7;14191:1;14180:12;14176:280;;;-1:-1:-1;;;;;14250:19:0;;;;;;:9;:19;;;;;:44;;;:63;;14299:13;14250:63;:48;:63;:::i;:::-;-1:-1:-1;;;;;14203:19:0;;;;;;:9;:19;;;;;:44;;:110;14176:280;;;-1:-1:-1;;;;;14384:19:0;;;;;;:9;:19;;;;;:45;;;:64;;14434:13;14384:64;:49;:64;:::i;:::-;-1:-1:-1;;;;;14336:19:0;;;;;;:9;:19;;;;;:45;;:112;14176:280;13538:923;;;;:::o;9507:81::-;;;-1:-1:-1;;;;;9507:81:0;;:::o;17661:154::-;17725:4;17738:25;17753:9;17738:14;:25::i;:::-;-1:-1:-1;;;;;;17777:20:0;;;;;:9;:20;;;;;:32;;;;17661:154::o;11076:184::-;4579:15;:13;:15::i;:::-;4571:43;;;;;;;-1:-1:-1;;;;;4571:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11167:31:0;;;;11159:59;;;;;-1:-1:-1;;;;;11159:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11225:11;:29;;-1:-1:-1;;;;;;11225:29:0;-1:-1:-1;;;;;11225:29:0;;;;;;;;;;11076:184::o;10577:117::-;3920:17;:15;:17::i;:::-;:34;;;;3941:13;:11;:13::i;:::-;3912:64;;;;;;;-1:-1:-1;;;;;3912:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10654:11;:34;;-1:-1:-1;;;;;;10654:34:0;-1:-1:-1;;;;;10654:34:0;;;;;;;;;;10577:117::o;5040:87::-;5115:6;;-1:-1:-1;;;;;5115:6:0;5101:10;:20;;5040:87::o;9481:21::-;;;-1:-1:-1;;;;;9481:21:0;;:::o;17254:401::-;17318:4;17324;17330;17336;17342;17355:25;17370:9;17355:14;:25::i;:::-;-1:-1:-1;;;;;;;;;17403:20:0;;;;;;;;:9;:20;;;;;:32;;;;17444:37;;;;17490:43;;;;17542:45;;;;17596:46;;;;;17403:32;;17444:37;;-1:-1:-1;17490:43:0;17542:45;17596:46;17254:401::o;18289:140::-;18346:4;18359:25;18374:9;18359:14;:25::i;:::-;-1:-1:-1;;;;;;18398:20:0;;;;;:9;:20;;;;;:25;;;;;;18289:140::o;11490:209::-;11567:6;3920:17;:15;:17::i;:::-;:34;;;;3941:13;:11;:13::i;:::-;3912:64;;;;;;;-1:-1:-1;;;;;3912:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11576:1:0;11562:132;11583:10;:17;11579:1;:21;11562:132;;;11616:31;11633:10;11644:1;11633:13;;;;;;;;;;;;;;;;;;11616:16;:31::i;:::-;11656:30;11672:10;11683:1;11672:13;;;;;;;;;;;;;;;;;;11656:15;:30::i;:::-;11602:3;;11562:132;;;11490:209;;:::o;13095:241::-;9929:6;;13202:15;;-1:-1:-1;;;;;9929:6:0;9907:10;:29;9899:60;;;;;-1:-1:-1;;;;;9899:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9899:60:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13220:19:0;;;;;;;:9;:19;;;;;;:27;;;;;;13287:18;;;;;;:30;;;:43;;13322:7;13287:43;:34;:43;:::i;:::-;-1:-1:-1;;;;;13254:18:0;;;;;;;:9;:18;;;;;:30;;:76;-1:-1:-1;;13095:241:0:o;18699:316::-;18774:7;18854:22;18798:28;:9;:26;:28::i;:::-;18790:57;;;;;;;-1:-1:-1;;;;;18790:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18879:27;:9;:25;:27::i;:::-;-1:-1:-1;;18928:33:0;;;;;;:17;:33;;;;;;18854:52;;-1:-1:-1;18913:49:0;;-1:-1:-1;;;;;18928:33:0;18913:14;:49::i;:::-;-1:-1:-1;;18976:33:0;;;;;;:17;:33;;;;;;-1:-1:-1;;;;;18976:33:0;;-1:-1:-1;18699:316:0;;;;;:::o;17991:136::-;18046:4;18059:25;18074:9;18059:14;:25::i;:::-;-1:-1:-1;;;;;;18098:20:0;;;;;:9;:20;;;;;:23;;17991:136::o;12558:492::-;10051:11;;12667:4;;12673:6;;12667:4;;12673:6;;12667:4;;;;;;;;;;-1:-1:-1;;;;;10051:11:0;10029:10;:34;10021:70;;;;;-1:-1:-1;;;;;10021:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12778:27:0;;;;;;;:9;:27;;;;;;;;;12828:11;;12874:16;;;;;12932:20;;;;12961:25;;;;12995:20;;;;13024:13;;;;12848:17;;;;12812:232;;;;12874:16;12812:232;;;;;;;;-1:-1:-1;;12812:232:0;;;;;;;;;;;;;;;;;;;;;;;;12778:27;;12828:11;;12848:17;;12874:16;;;;;12899:24;;;;12932:20;;12961:25;;12995:20;;13024:13;;;12812:232;;12848:17;;12812:232;;;12848:17;12812:232;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12812:232:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12558:492;;;;;;;;;;:::o;11376:108::-;11446:4;3825:13;:11;:13::i;:::-;3817:39;;;;;;;-1:-1:-1;;;;;3817:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11466:12:0;;;;;:2;:12;;;;;;;;;11376:108::o;16874:167::-;16942:9;16960:25;16975:9;16960:14;:25::i;:::-;-1:-1:-1;;;;;16999:20:0;;;;;;:9;:20;;;;;;;;;:36;;16992:43;;;;;;;;;;;;;;;;;16999:36;;16992:43;;16999:36;16992:43;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16992:43:0;;;;;;;;;;;;;;;;;;;;;;;16874:167;;;:::o;17047:201::-;17132:9;17150:25;17165:9;17150:14;:25::i;:::-;-1:-1:-1;;;;;17189:20:0;;;;;;:9;:20;;;;;;;;;:53;;17182:60;;;;;;;;;;;;;;;;;17189:53;;17182:60;;17189:53;17182:60;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17182:60:0;;;;;;;;;;;;;;;;;;;;;;17047:201;;;:::o;10461:110::-;3920:17;:15;:17::i;:::-;:34;;;;3941:13;:11;:13::i;:::-;3912:64;;;;;;;-1:-1:-1;;;;;3912:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10532:6;:33;;-1:-1:-1;;;;;;10532:33:0;-1:-1:-1;;;;;10532:33:0;;;;;;;;;;10461:110::o;18435:258::-;18493:7;18527:1;18517:6;:11;;:44;;;;-1:-1:-1;18541:13:0;:20;18532:29;;18517:44;18509:99;;;;;;;-1:-1:-1;;;;;18509:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18615:37;18630:13;18644:6;18630:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18630:21:0;18615:14;:37::i;:::-;18666:13;:21;;18680:6;;18666:21;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18666:21:0;;18435:258;-1:-1:-1;;18435:258:0:o;17821:164::-;17890:4;17903:25;17918:9;17903:14;:25::i;:::-;-1:-1:-1;;;;;;17942:20:0;;;;;:9;:20;;;;;:37;;;;17821:164::o;19394:95::-;19463:13;:20;19394:95;:::o;11750:802::-;10051:11;;11878:4;;;;;;-1:-1:-1;;;;;10051:11:0;10029:10;:34;10021:70;;;;;-1:-1:-1;;;;;10021:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11902:28;:9;:26;:28::i;:::-;11894:57;;;;;;;-1:-1:-1;;;;;11894:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11986:16:0;;;;;;:9;:16;;;;;;-1:-1:-1;12018:16:0;11996:5;12018:9;:16::i;:::-;12017:17;12009:48;;;;;-1:-1:-1;;;;;12009:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12089:27;:9;:25;:27::i;:::-;-1:-1:-1;;12131:33:0;;12176:3;12131:33;;;:17;:33;;;;;;12064:52;;-1:-1:-1;;;;;;12131:33:0;:49;12123:84;;;;;-1:-1:-1;;;;;12123:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12214:33:0;;;;;;:17;:33;;;;;;;;:41;;-1:-1:-1;;;;;;12214:41:0;-1:-1:-1;;;;;12214:41:0;;;;;12278:13;:20;12264:34;;12305:29;;;;-1:-1:-1;12305:17:0;;;:29;;;;;:::i;:::-;-1:-1:-1;12341:16:0;;;:27;;-1:-1:-1;;;;;;12341:27:0;-1:-1:-1;;;;;12341:27:0;;;;;12375:13;;;:29;;-1:-1:-1;;12375:29:0;;;12411:37;12341:27;12411;:37::i;:::-;12455:34;12473:8;12483:5;12455:17;:34::i;:::-;12496:13;27:10:-1;;39:1;23:18;;45:23;;-1:-1;12496:25:0;;;;;;;;-1:-1:-1;;;;;12496:25:0;;-1:-1:-1;;;;;;12496:25:0;;;;;;12535:11;;;-1:-1:-1;11750:802:0;;;;;;;:::o;5232:97::-;5312:11;;-1:-1:-1;;;;;5312:11:0;5298:10;:25;;5232:97::o;8679:206::-;;;;;;;;;9450:26;;;-1:-1:-1;;;;;9450:26:0;;:::o;4840:97::-;4920:11;;-1:-1:-1;;;;;4920:11:0;4906:10;:25;;4840:97::o;14467:223::-;9929:6;;14571:16;;-1:-1:-1;;;;;9929:6:0;9907:10;:29;9899:60;;;;;-1:-1:-1;;;;;9899:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9899:60:0;;;;;;;;;;;;;;;14590:20;14601:8;14590:10;:20::i;:::-;-1:-1:-1;;;;;14617:19:0;;;;;;;:9;:19;;;;;;;:52;;27:10:-1;;39:1;23:18;;45:23;;14617:67:0;;;;;;;;-1:-1:-1;;;;;;14617:67:0;;;;;;;;;;;;-1:-1:-1;14467:223:0:o;13342:154::-;9929:6;;13436:7;;-1:-1:-1;;;;;9929:6:0;9907:10;:29;9899:60;;;;;-1:-1:-1;;;;;9899:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;9899:60:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13462:20:0;;;;;;;:9;:20;;;;;:28;;;;;13342:154::o;10700:173::-;4464:15;:13;:15::i;:::-;:32;;;;4483:13;:11;:13::i;:::-;4456:60;;;;;;;-1:-1:-1;;;;;4456:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10786:29:0;;;;10778:57;;;;;-1:-1:-1;;;;;10778:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10842:9;:25;;-1:-1:-1;;;;;;10842:25:0;-1:-1:-1;;;;;10842:25:0;;;;;;;;;;10700:173::o;4733:101::-;4815:13;;-1:-1:-1;;;;;4815:13:0;4801:10;:27;;4733:101::o;18133:150::-;18194:6;18209:25;18224:9;18209:14;:25::i;:::-;-1:-1:-1;;;;;18248:20:0;;;;;;:9;:20;;;;;;;;;:29;;;;18241:36;;;;;;;;;;;-1:-1:-1;;18241:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18248:29;;18241:36;;18248:29;18241:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18241:36:0;;18133:150;-1:-1:-1;;;;;;18133:150:0:o;16465:403::-;16576:4;;;-1:-1:-1;;;;;16600:20:0;;;;;;;;16592:50;;;;;-1:-1:-1;;;;;16592:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16678:46;16705:8;16715;16678:26;:46::i;:::-;16649:75;;16758:46;16785:8;16795;16758:26;:46::i;:::-;16731:73;;16818:21;:44;;;;16843:19;16818:44;16811:51;16465:403;-1:-1:-1;;;;;16465:403:0:o;11266:104::-;3825:13;:11;:13::i;:::-;3817:39;;;;;;;-1:-1:-1;;;;;3817:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11343:12:0;;;;;;;;:2;:12;;;;;:21;;-1:-1:-1;;11343:21:0;;;;;;;;;;11266:104::o;15561:898::-;15636:4;;15896:32;15636:4;;;;15657:10;15679:4;15657:27;;:54;;-1:-1:-1;15688:10:0;-1:-1:-1;;;;;15688:23:0;;;15657:54;15649:95;;;;;;;-1:-1:-1;;;;;15649:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15779:20:0;;;;;;:9;:20;;;;;15810:41;;;:48;15779:20;;-1:-1:-1;15862:1:0;-1:-1:-1;15806:84:0;;15881:1;15874:8;;;;15806:84;15942:41;;;:48;15931:60;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;15931:60:0;;15896:95;;16027:1;15998:30;;16049:1;16040:10;;16035:270;16056:41;;;:48;16052:52;;16035:270;;;16144:9;:55;16154:8;:41;;16196:1;16154:44;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16154:44:0;16144:55;;;;;;;;;;;;:72;;;16120:21;;:18;;16139:1;;16120:21;;;;;;;;;;;;;;:96;16275:21;;16249:48;;16275:18;;16294:1;;16275:21;;;;;;;;;;;;;;;16249;;:48;:25;:48;:::i;:::-;16225:72;-1:-1:-1;16106:3:0;;;;;16035:270;;;16360:37;:18;:35;:37::i;:::-;16344:53;;-1:-1:-1;16344:53:0;-1:-1:-1;16411:42:0;16344:53;16411:30;:21;16344:53;16411:30;:25;:30;:::i;:::-;:34;:42;:34;:42;:::i;:::-;16404:49;;15561:898;;;;;;;;;;:::o;19181:207::-;19240:4;19285:25;19253;19268:9;19253:14;:25::i;:::-;-1:-1:-1;;;;;;;19313:20:0;;;;;:9;:20;;;;;19353:17;;;;19347:31;;;;;;;;-1:-1:-1;;19347:31:0;;;:35;;19181:207::o;23233:226::-;23300:10;-1:-1:-1;;;;;23300:23:0;;;;;;:50;;-1:-1:-1;23341:9:0;;-1:-1:-1;;;;;23341:9:0;23327:10;:23;;23300:50;:79;;;;-1:-1:-1;23368:11:0;;-1:-1:-1;;;;;23368:11:0;23354:10;:25;;23300:79;:112;;;;-1:-1:-1;23405:6:0;;-1:-1:-1;;;;;23405:6:0;23383:10;:29;;23300:112;23296:158;;;-1:-1:-1;;;;;23432:13:0;;;;;;:2;:13;;;;;;;;23431:14;23423:23;;;;;;23233:226;:::o;20720:754::-;20782:9;20818:1;20808:6;:11;;;;:27;;;;;20833:2;20823:6;:12;;;;20808:27;20800:53;;;;;;;-1:-1:-1;;;;;20800:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20864:6;:11;;20874:1;20864:11;20860:609;;;-1:-1:-1;20893:10:0;20886:17;;20860:609;20921:6;:11;;20931:1;20921:11;20917:552;;;-1:-1:-1;20950:10:0;20943:17;;20917:552;20978:6;:11;;20988:1;20978:11;20974:495;;;-1:-1:-1;21007:10:0;21000:17;;20974:495;21035:6;:11;;21045:1;21035:11;21031:438;;;-1:-1:-1;21064:10:0;21057:17;;21031:438;21092:6;:11;;21102:1;21092:11;21088:381;;;-1:-1:-1;21121:10:0;21114:17;;21088:381;21149:6;:11;;21159:1;21149:11;21145:324;;;-1:-1:-1;21178:10:0;21171:17;;21145:324;21206:6;:11;;21216:1;21206:11;21202:267;;;-1:-1:-1;21235:10:0;21228:17;;21202:267;21263:6;:11;;21273:1;21263:11;21259:210;;;-1:-1:-1;21292:10:0;21285:17;;21259:210;21320:6;:11;;21330:1;21320:11;21316:153;;;-1:-1:-1;21349:10:0;21342:17;;21316:153;21377:6;:12;;21387:2;21377:12;21373:96;;;-1:-1:-1;21407:11:0;21400:18;;21373:96;-1:-1:-1;21448:13:0;21441:20;;1447:158;1505:7;1533:5;;;1553:6;;;;1545:37;;;;;-1:-1:-1;;;;;1545:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1598:1;1591:8;;1447:158;;;;;;:::o;21480:981::-;21776:10;;:38;;;;;;-1:-1:-1;;;;;21776:38:0;;;;;;;;;21540:7;;21554:22;;21540:7;;21554:22;;21540:7;;;;;;21776:10;;;:27;;:38;;;;;21540:7;;21776:38;;;;;;;;21540:7;21776:10;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;21776:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21776:38:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;21776:38:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:3;5:12;;2:2;;;30:1;27;20:12;2:2;21776:38:0;;;;;;;;;;;;;;20:11:-1;12:20;;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;-1:-1;;21776:38:0;;;;;;;;;;;;;;;20:11:-1;12:20;;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;-1:-1;;21776:38:0;;;;;-1:-1:-1;;;;;21851:20:0;;;;;;:9;21776:38;21851:20;;;21776:38;21851:20;;;21878:16;;;21901:28;;21667:147;;-1:-1:-1;21667:147:0;;-1:-1:-1;21667:147:0;;-1:-1:-1;21776:38:0;;-1:-1:-1;21776:38:0;-1:-1:-1;21851:20:0;;-1:-1:-1;21901:28:0;;:17;;;;-1:-1:-1;21901:28:0;;;;;-1:-1:-1;21901:28:0;:::i;:::-;-1:-1:-1;21936:16:0;;;:26;;-1:-1:-1;;;;;;21936:26:0;-1:-1:-1;;;;;21936:26:0;;;;;21969:42;;;;:24;;;;:42;;;;;:::i;:::-;-1:-1:-1;22062:10:0;;:57;;;;;;-1:-1:-1;;;;;22062:57:0;;;;;;;;;:10;;;;;:46;;:57;;;;;:10;;:57;;;;;;;:10;;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;22062:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22062:57:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;22062:57:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;22062:57:0;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;-1:-1;;22018:101:0;;;;-1:-1:-1;22018:41:0;;;;-1:-1:-1;22018:101:0;;;;;-1:-1:-1;22018:101:0;:::i;:::-;-1:-1:-1;22126:20:0;;;:34;;;22206:10;;;:29;;;;;;-1:-1:-1;;;;;22206:29:0;;;;;;;;;22183:54;;22206:10;;;;;:18;;:29;;;;;:10;;:29;;;;;;:10;;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;22206:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22206:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22206:29:0;22183:16;:54::i;:::-;22167:13;;;:70;;-1:-1:-1;;22167:70:0;;;;;;;;;;;;;;;;22270:26;:8;:24;:26::i;:::-;-1:-1:-1;;22307:32:0;;22351:3;22307:32;;;:17;:32;;;;;;22246:50;;-1:-1:-1;;;;;;22307:32:0;:48;22303:153;;;22366:13;27:10:-1;;39:1;23:18;;45:23;;;22366:29:0;;;;-1:-1:-1;;;;;22366:29:0;;-1:-1:-1;;;;;;22366:29:0;;;;;;;;-1:-1:-1;;22404:32:0;;-1:-1:-1;22404:32:0;;;:17;22366:29;22404:32;;;;:44;;;;;;;;;;22303:153;21480:981;;;;;;;;:::o;22467:760::-;22837:10;;:36;;;;;;-1:-1:-1;;;;;22837:36:0;;;;;;;;;22526:16;;;;;;;;;;;;22837:10;;:25;;:36;;;;;;;;;;;;;;22526:16;22837:10;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;22837:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22837:36:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;22837:36:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22910:20:0;;;;;;;:9;:20;;;;;22937;;;:34;;;;22978:25;;;:44;23029:31;;;:56;23092:33;;;:60;;;;23159:34;;:62;;;;-1:-1:-1;;;;;;22467:760:0:o;2350:549::-;2467:23;;2433:4;;;2509:1;2503:7;;;;;2502:23;;;2522:2;2516:3;:8;;;2502:23;2498:41;;;2534:5;2527:12;;;;2498:41;-1:-1:-1;2592:1:0;2577:245;2599:3;2595:7;;:1;:7;;;2577:245;;;2662:2;2645:9;2656:1;2639:19;;;;;;;;;;;;;;;;;-1:-1:-1;;;2639:19:0;;-1:-1:-1;;;2639:19:0;-1:-1:-1;;;2633:26:0;;:31;;;2632:114;;;;2708:2;2691:9;2702:1;2685:19;;;;;;;;;;;;;;;;;-1:-1:-1;;;2685:19:0;;-1:-1:-1;;;2685:19:0;-1:-1:-1;;;2679:26:0;;:31;;;:66;;;;;2743:2;2726:9;2737:1;2720:19;;;;;;;;;;;;;;;;;-1:-1:-1;;;2720:19:0;;-1:-1:-1;;;2720:19:0;-1:-1:-1;;;2714:26:0;;:31;;;2679:66;2632:160;;;;2789:2;2772:9;2783:1;2766:19;;;;;;;;;;;;;;;;;-1:-1:-1;;;2766:19:0;;-1:-1:-1;;;2766:19:0;-1:-1:-1;;;2760:26:0;;:31;;;2632:160;2618:196;;;2809:5;2802:12;;;;2618:196;2604:3;;2577:245;;;2873:9;2884:1;2867:19;;;;;;;;;;;;;;;-1:-1:-1;;;2867:19:0;;-1:-1:-1;;;2867:19:0;-1:-1:-1;;;2861:26:0;;:32;;2891:2;2861:32;;2854:39;;2350:549;;;;;;:::o;1961:294::-;2125:26;;2040:14;;2107:6;;2125:31;2121:64;;;2174:3;;-1:-1:-1;2167:10:0;;2121:64;-1:-1:-1;;2239:2:0;2227:15;2221:22;;2202:48::o;20502:212::-;20572:137;-1:-1:-1;;;;;20584:19:0;;;;;;;:9;:19;;;;;:31;;;:36;;20619:1;20584:36;;;20640:27;;;;20683:24;;20572:137;;;;20034:134;-1:-1:-1;;;;;20112:19:0;;;;;;;:9;:19;;;;;;;:35;;27:10:-1;;39:1;23:18;;45:23;;20112:50:0;;;;;;;;-1:-1:-1;;;;;;20112:50:0;;;;;;;;20034:134::o;20174:322::-;20260:4;20285:25;20273:199;-1:-1:-1;;;;;;20313:16:0;;;;;;;:9;:16;;;;;20342;;;;20313;;20342:23;;;:16;;:23;20338:61;;;20385:4;20378:11;;;;20338:61;20415:16;;;;-1:-1:-1;;;;;20415:16:0;;-1:-1:-1;20447:23:0;;20273:199;;;;;-1:-1:-1;20485:5:0;;20174:322;-1:-1:-1;;;20174:322:0:o;5361:377::-;5424:8;5434:11;5537:6;5478:1;5462:5;:12;:17;;5454:50;;;;;;;-1:-1:-1;;;;;5454:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5517:5;5523:1;5517:8;;;;;;;;;;;;;;;;;;5511:14;;5546:1;5537:10;;5532:201;5553:5;:12;5549:1;:16;5532:201;;;5596:3;5585:5;5591:1;5585:8;;;;;;;;;;;;;;;;;;:14;5581:145;;;5621:3;5612:12;;5641:5;5647:1;5641:8;;;;;;;;;;;;;;;;;;5635:14;;5581:145;;;5680:6;5669:5;5675:1;5669:8;;;;;;;;;;;;;;;;;;:17;5665:61;;;5708:5;5714:1;5708:8;;;;;;;;;;;;;;;;;;5699:17;;5665:61;5567:3;;5532:201;;;5361:377;;;;:::o;1209:158::-;1267:7;;1291:6;;;;1283:37;;;;;-1:-1:-1;;;;;1283:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1339:5:0;;;1209:158::o;8296:15166::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8296:15166:0;;;-1:-1:-1;8296:15166:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8296:15166:0;-1:-1:-1;;;;;8296:15166:0;;;;;;;;;;;-1:-1:-1;8296:15166:0;;;;;;;-1:-1:-1;8296:15166:0;;;-1:-1:-1;8296:15166:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8296:15166:0;;;;;;
Swarm Source
bzzr://54978ce93ee5afff47bf25341118739e9b35ca2bf6f1102dce7535aaf23e499f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.