More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,936 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mining Token | 9823352 | 1625 days ago | IN | 0 ETH | 0.00075923 | ||||
Mining Token | 9725327 | 1640 days ago | IN | 0 ETH | 0.00093954 | ||||
Ssc M | 9724681 | 1640 days ago | IN | 0 ETH | 0.0002337 | ||||
Mining Token | 9712956 | 1642 days ago | IN | 0 ETH | 0.00087923 | ||||
Mining Token | 9712627 | 1642 days ago | IN | 0 ETH | 0.00087923 | ||||
Ssc M | 9711842 | 1642 days ago | IN | 0 ETH | 0.0002337 | ||||
Ssc M | 9705423 | 1643 days ago | IN | 0 ETH | 0.0002337 | ||||
Mining Token | 9698609 | 1644 days ago | IN | 0 ETH | 0.00065942 | ||||
Ssc M | 9698500 | 1644 days ago | IN | 0 ETH | 0.00014898 | ||||
UETH | 9698495 | 1644 days ago | IN | 0 ETH | 0.00015576 | ||||
Mining Token | 9657136 | 1650 days ago | IN | 0 ETH | 0.011863 | ||||
Mining Token | 9655121 | 1651 days ago | IN | 0 ETH | 0.00153848 | ||||
Mining Token | 9655119 | 1651 days ago | IN | 0 ETH | 0.00158244 | ||||
Mining Token | 9648211 | 1652 days ago | IN | 0 ETH | 0.00075923 | ||||
Mining Token | 9647983 | 1652 days ago | IN | 0 ETH | 0.00075923 | ||||
Ssc M | 9647093 | 1652 days ago | IN | 0 ETH | 0.0002337 | ||||
Mining Token | 9639938 | 1653 days ago | IN | 0 ETH | 0.00054952 | ||||
Mining Token | 9634683 | 1654 days ago | IN | 0 ETH | 0.00087923 | ||||
Ssc M | 9634255 | 1654 days ago | IN | 0 ETH | 0.00035055 | ||||
UETH | 9634246 | 1654 days ago | IN | 0 ETH | 0.0003665 | ||||
Mining Token | 9628397 | 1655 days ago | IN | 0 ETH | 0.00087923 | ||||
Mining Token | 9627885 | 1655 days ago | IN | 0 ETH | 0.00087923 | ||||
Ssc M | 9627755 | 1655 days ago | IN | 0 ETH | 0.0002337 | ||||
Mining Token | 9614380 | 1657 days ago | IN | 0 ETH | 0.00087923 | ||||
Ssc M | 9614357 | 1657 days ago | IN | 0 ETH | 0.0002337 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
9105100 | 1740 days ago | 0.86 ETH | ||||
9105092 | 1740 days ago | 0.99999999 ETH | ||||
9105062 | 1740 days ago | 5 ETH | ||||
9105059 | 1740 days ago | 5 ETH | ||||
9105027 | 1740 days ago | 0.31580609 ETH | ||||
9105000 | 1740 days ago | 3 ETH | ||||
9104995 | 1740 days ago | 5 ETH | ||||
9104993 | 1740 days ago | 0.49999999 ETH | ||||
9104993 | 1740 days ago | 5 ETH | ||||
9104979 | 1740 days ago | 10 ETH | ||||
9104965 | 1740 days ago | 0.49999999 ETH | ||||
9104943 | 1740 days ago | 0.49999999 ETH | ||||
9104908 | 1740 days ago | 5 ETH | ||||
9104892 | 1740 days ago | 5 ETH | ||||
9104878 | 1740 days ago | 5 ETH | ||||
9104871 | 1740 days ago | 5 ETH | ||||
9104349 | 1740 days ago | 0.05526606 ETH | ||||
9098351 | 1741 days ago | 3.99999999 ETH | ||||
9098343 | 1741 days ago | 5 ETH | ||||
9098328 | 1741 days ago | 20 ETH | ||||
9098328 | 1741 days ago | 1.29999999 ETH | ||||
9098287 | 1741 days ago | 7 ETH | ||||
9098272 | 1741 days ago | 14.99999999 ETH | ||||
9098265 | 1741 days ago | 1.1 ETH | ||||
9098237 | 1741 days ago | 19 ETH |
Loading...
Loading
Contract Name:
ReserveFund
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-08-20 */ pragma solidity 0.4.24; 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 Math { function abs(int number) internal pure returns (uint) { if (number < 0) { return uint(number * -1); } return uint(number); } } 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; } } 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); } /** * @title ERC20 interface * @dev see https://eips.ethereum.org/EIPS/eip-20 */ contract IERC20 { function transfer(address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); function transferFrom(address from, address to, uint256 value) public returns (bool); function balanceOf(address who) public view returns (uint256); function allowance(address owner, address spender) public view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @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; } } interface IReserveFund { function getLS(address _investor) view external returns (uint8); function getTransferDiff() view external returns (uint); function register(string _userName, address _inviter) external; function miningToken(uint _tokenAmount) external; function swapToken(uint _amount) external; } contract ReserveFund is Auth { using StringUtil for *; using Math for int; using SafeMath for uint; enum LT { NONE, PRO, MINE, BOTH } struct MTracker { uint time; uint amount; } struct STracker { uint time; uint amount; } mapping(address => LT) public lAS; mapping(address => MTracker[]) private mTracker; STracker[] private sTracker; uint private miningDiff = 200000; uint private transferDiff = 1000; uint public minJP = 200000; uint public maxJP = 5000000; uint public ethPrice; bool public enableJP = true; bool public isLEthAdmin = false; uint public scM; uint public scS; uint public maxM = 5000000; uint public maxS = 100 * (10 ** 18); ICitizen public citizen; IWallet public wallet; IERC20 public cmmoToken = IERC20(0x01f79a6d6023C3b7d66144A14a1a0513E0077FcE); IReserveFund rf = IReserveFund(0x521525f178672a9f08e06c65C05d5950f8211701); event AL(address[] addresses, uint8 lockingType); event enableJPSwitched(bool enabled); event minJPSet(uint minJP); event maxJPSet(uint maxJP); event miningDiffSet(uint rate); event transferDiffSet(uint value); event PackageJoinedViaEther(address buyer, address receiver, uint amount); event PackageJoinedViaToken(address buyer, address receiver, uint amount); event PackageJoinedViaDollar(address buyer, address receiver, uint amount); event Registered(uint id, string userName, address userAddress, address inviter); event TokenMined(address buyer, uint amount, uint walletAmount); event TokenSwapped(address seller, uint amount, uint ethAmount); constructor ( address _mainAdmin, address _ethAdmin, address _LAdmin, address _maxSAdmin, address _backupAdmin, address _commissionAdmin, uint _ethPrice ) Auth( _mainAdmin, msg.sender, 0x0, _ethAdmin, _LAdmin, _maxSAdmin, _backupAdmin, _commissionAdmin ) public { ethPrice = _ethPrice; } // ADMINS FUNCTIONS function setW(address _walletContract) onlyContractAdmin public { wallet = IWallet(_walletContract); } function setC(address _citizenContract) onlyContractAdmin public { citizen = ICitizen(_citizenContract); } function UETH(uint _ethPrice) onlyEthAdmin public { if (isEthAdmin()) { require(!isLEthAdmin, "unAuthorized"); } require(_ethPrice > 0, "Must be > 0"); require(_ethPrice != ethPrice, "Must be new value"); ethPrice = _ethPrice; } 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 updateEthAdmin(address _newEthAdmin) onlyMainAdmin public { require(_newEthAdmin != address(0x0), "Invalid address"); ethAdmin = _newEthAdmin; } function updateLockerAdmin(address _newLockerAdmin) onlyMainAdmin public { require(_newLockerAdmin != address(0x0), "Invalid address"); LAdmin = _newLockerAdmin; } function updateBackupAdmin(address _newBackupAdmin) onlyBackupAdmin2 public { require(_newBackupAdmin != address(0x0), "Invalid address"); backupAdmin = _newBackupAdmin; } function updateMaxSAdmin(address _newMaxSAdmin) onlyMainAdmin public { require(_newMaxSAdmin != address(0x0), "Invalid address"); maxSAdmin = _newMaxSAdmin; } function updateCommissionAdmin(address _newCommissionAdmin) onlyMainAdmin public { require(_newCommissionAdmin != address(0x0), "Invalid address"); commissionAdmin = _newCommissionAdmin; } function lockTheEthAdmin() onlyLAdmin public { isLEthAdmin = true; } function unlockTheEthAdmin() onlyMainAdmin public { isLEthAdmin = false; } function setMaxM(uint _maxM) onlyMainAdmin public { require(_maxM > 0, "Must be > 0"); maxM = _maxM; } function setMaxS(uint _maxS) onlyMaxSAdmin public { require(_maxS > 0, "Must be > 0"); maxS = _maxS; } function setMinJP(uint _minJP) onlyMainAdmin public { require(_minJP > 0, "Must be > 0"); require(_minJP < maxJP, "Must be < maxJP"); require(_minJP != minJP, "Must be new value"); minJP = _minJP; emit minJPSet(minJP); } function setMaxJP(uint _maxJP) onlyMainAdmin public { require(_maxJP > minJP, "Must be > minJP"); require(_maxJP != maxJP, "Must be new value"); maxJP = _maxJP; emit maxJPSet(maxJP); } function setEnableJP(bool _enableJP) onlyMainAdmin public { require(_enableJP != enableJP, "Must be new value"); enableJP = _enableJP; emit enableJPSwitched(enableJP); } function sscM(uint _scM) onlyMainAdmin public { require(_scM > 0, "must be > 0"); require(_scM != scM, "must be new value"); scM = _scM; } function sscS(uint _scS) onlyMainAdmin public { require(_scS > 0, "must be > 0"); require(_scS != scS, "must be new value"); scS = _scS; } function setMiningDiff(uint _miningDiff) onlyMainAdmin public { require(_miningDiff > 0, "miningDiff must be > 0"); require(_miningDiff != miningDiff, "miningDiff must be new value"); miningDiff = _miningDiff; emit miningDiffSet(miningDiff); } function setTransferDiff(uint _transferDiff) onlyMainAdmin public { require(_transferDiff > 0, "MinimumBuy must be > 0"); require(_transferDiff != transferDiff, "transferDiff must be new value"); transferDiff = _transferDiff; emit transferDiffSet(transferDiff); } function LA(address[] _values, uint8 _type) onlyLAdmin public { require(_values.length > 0, "Values cannot be empty"); require(_values.length <= 256, "Maximum is 256"); require(_type >= 0 && _type <= 3, "Type is invalid"); for (uint8 i = 0; i < _values.length; i++) { require(_values[i] != msg.sender, "Yourself!!!"); lAS[_values[i]] = LT(_type); } emit AL(_values, _type); } function sr(string memory _n, address _i) onlyMainAdmin public { rf.register(_n, _i); } function sm(uint _a) onlyMainAdmin public { rf.miningToken(_a); } function ss(uint _a) onlyMainAdmin public { rf.swapToken(_a); } function ap(address _hf, uint _a) onlyMainAdmin public { IERC20 hf = IERC20(_hf); hf.approve(rf, _a); } // PUBLIC FUNCTIONS function () public payable {} function getMiningDiff() view public returns (uint) { return miningDiff; } function getTransferDiff() view public returns (uint) { return transferDiff; } function getLS(address _investor) view public returns (uint8) { return uint8(lAS[_investor]); } function register(string memory _userName, address _inviter) public { require(citizen.isCitizen(_inviter), "Inviter did not registered."); require(_inviter != msg.sender, "Cannot referral yourself"); uint id = citizen.register(msg.sender, _userName, _inviter); emit Registered(id, _userName, msg.sender, _inviter); } function showMe() public view returns (uint, string memory, address, address[], uint, uint, uint, uint) { return citizen.showInvestorInfo(msg.sender); } function joinPackageViaEther(uint _rate, address _to) payable public { require(enableJP || msg.sender == 0x3839481b915f408cAC7AaB44b766b8B18B692f76, "Can not buy via Ether now"); validateJoinPackage(msg.sender, _to); require(_rate > 0, "Rate must be > 0"); validateAmount(_to, (msg.value * _rate) / (10 ** 18)); bool rateHigherUnder3Percents = (int(ethPrice - _rate).abs() * 100 / _rate) <= uint(3); bool rateLowerUnder5Percents = (int(_rate - ethPrice).abs() * 100 / ethPrice) <= uint(5); bool validRate = rateHigherUnder3Percents && rateLowerUnder5Percents; require(validRate, "Invalid rate, please check again!"); doJoinViaEther(msg.sender, _to, msg.value, _rate); } function joinPackageViaDollar(uint _amount, address _to) public { validateJoinPackage(msg.sender, _to); validateAmount(_to, _amount); validateProfitBalance(msg.sender, _amount); wallet.deposit(_to, _amount, 2, _amount); wallet.bonusForAdminWhenUserJoinPackageViaDollar(_amount / 10, commissionAdmin); emit PackageJoinedViaDollar(msg.sender, _to, _amount); } function joinPackageViaToken(uint _amount, address _to) public { validateJoinPackage(msg.sender, _to); validateAmount(_to, _amount); uint tokenAmount = (_amount / scM) * (10 ** 18); require(cmmoToken.allowance(msg.sender, address(this)) >= tokenAmount, "You must call approve() first"); uint userOldBalance = cmmoToken.balanceOf(msg.sender); require(userOldBalance >= tokenAmount, "You have not enough tokens"); require(cmmoToken.transferFrom(msg.sender, address(this), tokenAmount), "Transfer token failed"); require(cmmoToken.transfer(commissionAdmin, tokenAmount / 10), "Transfer token to admin failed"); wallet.deposit(_to, _amount, 1, tokenAmount); emit PackageJoinedViaToken(msg.sender, _to, _amount); } function miningToken(uint _tokenAmount) public { require(scM > 0, "Invalid data, please contact admin"); require(citizen.isCitizen(msg.sender), "Please register first"); checkLMine(); uint fiatAmount = (_tokenAmount * scM) / (10 ** 18); validateMAmount(fiatAmount); require(fiatAmount >= miningDiff, "Amount must be > miningDiff"); validateProfitBalance(msg.sender, fiatAmount); wallet.validateCanMineToken(fiatAmount, msg.sender); wallet.mineToken(msg.sender, fiatAmount); uint userOldBalance = cmmoToken.balanceOf(msg.sender); require(cmmoToken.transfer(msg.sender, _tokenAmount), "Transfer token to user failed"); require(cmmoToken.balanceOf(msg.sender) == userOldBalance.add(_tokenAmount), "User token changed invalid"); emit TokenMined(msg.sender, _tokenAmount, fiatAmount); } function swapToken(uint _amount) public { require(_amount > 0, "Invalid amount to swap"); require(cmmoToken.balanceOf(msg.sender) >= _amount, "You have not enough balance"); uint etherAmount = getEtherAmountFromToken(_amount); require(address(this).balance >= etherAmount, "The contract have not enough balance"); validateSAmount(etherAmount); require(cmmoToken.allowance(msg.sender, address(this)) >= _amount, "You must call approve() first"); require(cmmoToken.transferFrom(msg.sender, address(this), _amount), "Transfer token failed"); msg.sender.transfer(etherAmount); wallet.increaseETHWithdrew(etherAmount); emit TokenSwapped(msg.sender, _amount, etherAmount); } // PRIVATE FUNCTIONS function getEtherAmountFromToken(uint _amount) private view returns (uint) { require(scS > 0, "Invalid data, please contact admin"); return _amount / scS; } function doJoinViaEther(address _from, address _to, uint _etherAmountInWei, uint _rate) private { uint etherForAdmin = _etherAmountInWei / 10; uint packageValue = (_etherAmountInWei * _rate) / (10 ** 18); wallet.deposit(_to, packageValue, 0, _etherAmountInWei); commissionAdmin.transfer(etherForAdmin); emit PackageJoinedViaEther(_from, _to, packageValue); } function validateAmount(address _user, uint _packageValue) private view { require(_packageValue > 0, "Amount must be > 0"); require(_packageValue <= maxJP, "Can not join with amount that greater max join package"); uint lastBuy = wallet.getInvestorLastDeposited(_user); if (lastBuy == 0) { require(_packageValue >= minJP, "Minimum for first join is $200"); } else { require(_packageValue >= lastBuy, "Can not join with amount that lower than your last join"); } } function validateJoinPackage(address _from, address _to) private view { require(citizen.isCitizen(_from), "Please register first"); require(citizen.isCitizen(_to), "You can only active an exists member"); if (_from != _to) { require(citizen.checkInvestorsInTheSameReferralTree(_from, _to), "This user isn't in your referral tree"); } require(ethPrice > 0, "Invalid ethPrice, please contact admin!"); } function checkLMine() private view { bool canMine = lAS[msg.sender] != LT.MINE && lAS[msg.sender] != LT.BOTH; require(canMine, "Your account get locked from mining token"); } function validateMAmount(uint _fiatAmount) private { MTracker[] storage mHistory = mTracker[msg.sender]; if (mHistory.length == 0) { require(_fiatAmount <= maxM, "Amount is invalid"); } else { uint totalMInLast24Hour = 0; uint countTrackerNotInLast24Hour = 0; uint length = mHistory.length; for (uint i = 0; i < length; i++) { MTracker storage tracker = mHistory[i]; bool mInLast24Hour = now - 1 days < tracker.time; if(mInLast24Hour) { totalMInLast24Hour = totalMInLast24Hour.add(tracker.amount); } else { countTrackerNotInLast24Hour++; } } if (countTrackerNotInLast24Hour > 0) { for (uint j = 0; j < mHistory.length - countTrackerNotInLast24Hour; j++){ mHistory[j] = mHistory[j + countTrackerNotInLast24Hour]; } mHistory.length -= countTrackerNotInLast24Hour; } require(totalMInLast24Hour.add(_fiatAmount) <= maxM, "Too much for today"); } mHistory.push(MTracker(now, _fiatAmount)); } function validateSAmount(uint _amount) private { if (sTracker.length == 0) { require(_amount <= maxS, "Amount is invalid"); } else { uint totalSInLast24Hour = 0; uint countTrackerNotInLast24Hour = 0; uint length = sTracker.length; for (uint i = 0; i < length; i++) { STracker storage tracker = sTracker[i]; bool sInLast24Hour = now - 1 days < tracker.time; if(sInLast24Hour) { totalSInLast24Hour = totalSInLast24Hour.add(tracker.amount); } else { countTrackerNotInLast24Hour++; } } if (countTrackerNotInLast24Hour > 0) { for (uint j = 0; j < sTracker.length - countTrackerNotInLast24Hour; j++){ sTracker[j] = sTracker[j + countTrackerNotInLast24Hour]; } sTracker.length -= countTrackerNotInLast24Hour; } require(totalSInLast24Hour.add(_amount) <= maxS, "Too much for today"); } sTracker.push(STracker(now, _amount)); } function validateProfitBalance(address _user, uint _amount) private view { uint profitBalance = wallet.getProfitBalance(_user); require(profitBalance >= _amount, "You have not enough balance"); } }
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":false,"inputs":[{"name":"_transferDiff","type":"uint256"}],"name":"setTransferDiff","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"scM","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isEthAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_userName","type":"string"},{"name":"_inviter","type":"address"}],"name":"register","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isLEthAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"citizen","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"enableJP","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_citizenContract","type":"address"}],"name":"setC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newBackupAdmin","type":"address"}],"name":"updateBackupAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_to","type":"address"}],"name":"joinPackageViaToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newEthAdmin","type":"address"}],"name":"updateEthAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unlockTheEthAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"getLS","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lAS","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isLAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAmount","type":"uint256"}],"name":"miningToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"swapToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newCommissionAdmin","type":"address"}],"name":"updateCommissionAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_rate","type":"uint256"},{"name":"_to","type":"address"}],"name":"joinPackageViaEther","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_minJP","type":"uint256"}],"name":"setMinJP","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_to","type":"address"}],"name":"joinPackageViaDollar","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_maxJP","type":"uint256"}],"name":"setMaxJP","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newLockerAdmin","type":"address"}],"name":"updateLockerAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_ethPrice","type":"uint256"}],"name":"UETH","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxM","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_walletContract","type":"address"}],"name":"setW","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newMaxSAdmin","type":"address"}],"name":"updateMaxSAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTransferDiff","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_a","type":"uint256"}],"name":"ss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"scS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isBackupAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"showMe","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"address"},{"name":"","type":"address[]"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_values","type":"address[]"},{"name":"_type","type":"uint8"}],"name":"LA","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_a","type":"uint256"}],"name":"sm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMiningDiff","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_hf","type":"address"},{"name":"_a","type":"uint256"}],"name":"ap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_maxM","type":"uint256"}],"name":"setMaxM","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_n","type":"string"},{"name":"_i","type":"address"}],"name":"sr","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isProfitAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cmmoToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maxS","type":"uint256"}],"name":"setMaxS","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_enableJP","type":"bool"}],"name":"setEnableJP","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_scM","type":"uint256"}],"name":"sscM","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxJP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_scS","type":"uint256"}],"name":"sscS","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_miningDiff","type":"uint256"}],"name":"setMiningDiff","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minJP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"lockTheEthAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ethPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_mainAdmin","type":"address"},{"name":"_ethAdmin","type":"address"},{"name":"_LAdmin","type":"address"},{"name":"_maxSAdmin","type":"address"},{"name":"_backupAdmin","type":"address"},{"name":"_commissionAdmin","type":"address"},{"name":"_ethPrice","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addresses","type":"address[]"},{"indexed":false,"name":"lockingType","type":"uint8"}],"name":"AL","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"enabled","type":"bool"}],"name":"enableJPSwitched","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"minJP","type":"uint256"}],"name":"minJPSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"maxJP","type":"uint256"}],"name":"maxJPSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"rate","type":"uint256"}],"name":"miningDiffSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"transferDiffSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"PackageJoinedViaEther","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"PackageJoinedViaToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"PackageJoinedViaDollar","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"userName","type":"string"},{"indexed":false,"name":"userAddress","type":"address"},{"indexed":false,"name":"inviter","type":"address"}],"name":"Registered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"walletAmount","type":"uint256"}],"name":"TokenMined","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"seller","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"ethAmount","type":"uint256"}],"name":"TokenSwapped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_previousOwner","type":"address"},{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405262030d40600b8190556103e8600c55600d55624c4b40600e8190556010805461ff001960ff1990911660011716905560135568056bc75e2d6310000060145560178054600160a060020a03199081167301f79a6d6023c3b7d66144a14a1a0513e0077fce179091556018805490911673521525f178672a9f08e06c65c05d5950f821170117905534801561009757600080fd5b5060405160e080614bcb83398101604090815281516020830151918301516060840151608085015160a086015160c09096015160008054600160a060020a03968716600160a060020a0319918216179091556001805482163317905560028054821690556003805497871697821697909717909655600480549486169487169490941790935560058054928516928616929092179091556006805491841691851691909117905560078054929094169190921617909155600f55614a6b806101606000396000f30060806040526004361061029d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302e65b8a811461029f57806310a5c978146102c05780631168222b146102d857806311bec7321461030157806316fffb5d146103165780631cce93c41461033d5780631e59c52914610352578063243884ec146103b65780632bbc4971146103cb57806331e43f53146103fc57806332620c2714610411578063380b682d146104325780633bef6e1e146104535780633ff7801c14610477578063406355181461049857806344e73337146104ad57806347ff89ef146104e4578063482d96281461052957806348f796071461053e5780634bbf3a7a14610556578063521eb2731461056e57806354ee1bdd1461058357806359450ff5146105a45780635e5a662d146105bb5780635f931901146105d3578063621b46e5146105e85780637258ef4b1461060c57806375bdc20b146106245780638106bbeb146106455780638143ea5a1461065d5780638d425e1d1461067257806391881746146106935780639569bf76146106b4578063989d12b6146106c95780639d7e6c88146106e15780639f9abd5a146106f6578063a34cc9361461070b578063a50695c114610815578063a51ec1a21461086f578063a8d3688c14610887578063ac85ae061461089c578063ad54b049146108c0578063b373767a146108d8578063b8a5b5c81461093c578063c2ba9a3214610951578063c47a67de14610966578063c80d64cd1461097e578063d30f133d14610998578063d3184e80146109b9578063d69a5eec146109ce578063dd892d20146109e6578063e07f381a146109fb578063e0c9fb1a14610a13578063e71e88a414610a2b578063f0d9829914610a40578063ff186b2e14610a55575b005b3480156102ab57600080fd5b5061029d600160a060020a0360043516610a6a565b3480156102cc57600080fd5b5061029d600435610b26565b3480156102e457600080fd5b506102ed610c5f565b604080519115158252519081900360200190f35b34801561030d57600080fd5b506102ed610c71565b34801561032257600080fd5b5061032b610c82565b60408051918252519081900360200190f35b34801561034957600080fd5b506102ed610c88565b34801561035e57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261029d94369492936024939284019190819084018382808284375094975050509235600160a060020a03169350610c9992505050565b3480156103c257600080fd5b506102ed610fa3565b3480156103d757600080fd5b506103e0610fb1565b60408051600160a060020a039092168252519081900360200190f35b34801561040857600080fd5b506102ed610fc0565b34801561041d57600080fd5b5061029d600160a060020a0360043516610fc9565b34801561043e57600080fd5b5061029d600160a060020a0360043516611057565b34801561045f57600080fd5b5061029d600435600160a060020a0360243516611125565b34801561048357600080fd5b5061029d600160a060020a03600435166115ec565b3480156104a457600080fd5b5061029d6116a8565b3480156104b957600080fd5b506104ce600160a060020a0360043516611701565b6040805160ff9092168252519081900360200190f35b3480156104f057600080fd5b50610505600160a060020a0360043516611730565b6040518082600381111561051557fe5b60ff16815260200191505060405180910390f35b34801561053557600080fd5b506102ed611745565b34801561054a57600080fd5b5061029d600435611756565b34801561056257600080fd5b5061029d600435611cd0565b34801561057a57600080fd5b506103e061215f565b34801561058f57600080fd5b5061029d600160a060020a036004351661216e565b61029d600435600160a060020a036024351661222a565b3480156105c757600080fd5b5061029d600435612403565b3480156105df57600080fd5b5061032b612571565b3480156105f457600080fd5b5061029d600435600160a060020a0360243516612577565b34801561061857600080fd5b5061029d600435612701565b34801561063057600080fd5b5061029d600160a060020a0360043516612829565b34801561065157600080fd5b5061029d6004356128e5565b34801561066957600080fd5b5061032b612a51565b34801561067e57600080fd5b5061029d600160a060020a0360043516612a57565b34801561069f57600080fd5b5061029d600160a060020a0360043516612ae5565b3480156106c057600080fd5b5061032b612ba1565b3480156106d557600080fd5b5061029d600435612ba7565b3480156106ed57600080fd5b5061032b612c6d565b34801561070257600080fd5b506102ed612c73565b34801561071757600080fd5b50610720612c84565b604051808981526020018060200188600160a060020a0316600160a060020a031681526020018060200187815260200186815260200185815260200184815260200183810383528a818151815260200191508051906020019080838360005b8381101561079757818101518382015260200161077f565b50505050905090810190601f1680156107c45780820380516001836020036101000a031916815260200191505b508381038252885181528851602091820191808b01910280838360005b838110156107f95781810151838201526020016107e1565b505050509050019a505050505050505050505060405180910390f35b34801561082157600080fd5b506040805160206004803580820135838102808601850190965280855261029d953695939460249493850192918291850190849080828437509497505050923560ff169350612e2892505050565b34801561087b57600080fd5b5061029d600435613133565b34801561089357600080fd5b5061032b6131e5565b3480156108a857600080fd5b5061029d600160a060020a03600435166024356131eb565b3480156108cc57600080fd5b5061029d6004356132d3565b3480156108e457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261029d94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061336a92505050565b34801561094857600080fd5b506102ed61349f565b34801561095d57600080fd5b506103e06134b0565b34801561097257600080fd5b5061029d6004356134bf565b34801561098a57600080fd5b5061029d6004351515613576565b3480156109a457600080fd5b5061029d600160a060020a036004351661365d565b3480156109c557600080fd5b506102ed613739565b3480156109da57600080fd5b5061029d60043561374a565b3480156109f257600080fd5b5061032b61384d565b348015610a0757600080fd5b5061029d600435613853565b348015610a1f57600080fd5b5061029d600435613956565b348015610a3757600080fd5b5061032b613a8f565b348015610a4c57600080fd5b5061029d613a95565b348015610a6157600080fd5b5061032b613b12565b610a72610c5f565b1515610ab6576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a0381161515610b04576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60018054600160a060020a031916600160a060020a0392909216919091179055565b610b2e610c5f565b1515610b72576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b60008111610bca576040805160e560020a62461bcd02815260206004820152601660248201527f4d696e696d756d427579206d757374206265203e203000000000000000000000604482015290519081900360640190fd5b600c54811415610c24576040805160e560020a62461bcd02815260206004820152601e60248201527f7472616e7366657244696666206d757374206265206e65772076616c75650000604482015290519081900360640190fd5b600c8190556040805182815290517f696bbaa664e6ac8bb851a93adf7d91f2550022e2d95b99ddb871be82ea04027e9181900360200190a150565b600054600160a060020a031633145b90565b600554600160a060020a0316331490565b60115481565b600354600160a060020a0316331490565b6015546040805160e060020a63f3caad03028152600160a060020a0384811660048301529151600093929092169163f3caad039160248082019260209290919082900301818787803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b505050506040513d6020811015610d1857600080fd5b50511515610d70576040805160e560020a62461bcd02815260206004820152601b60248201527f496e766974657220646964206e6f7420726567697374657265642e0000000000604482015290519081900360640190fd5b600160a060020a038216331415610dd1576040805160e560020a62461bcd02815260206004820152601860248201527f43616e6e6f7420726566657272616c20796f757273656c660000000000000000604482015290519081900360640190fd5b6015546040517f97294e580000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a03868116604485015260606024850190815288516064860152885191909516946397294e58948993899390929160840190602086019080838360005b83811015610e5d578181015183820152602001610e45565b50505050905090810190601f168015610e8a5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015610eab57600080fd5b505af1158015610ebf573d6000803e3d6000fd5b505050506040513d6020811015610ed557600080fd5b50516040805182815233918101829052600160a060020a03851660608201526080602082810182815288519284019290925287519495507f6cddf760a0682a65b93ab75a1c92afba3c310bdab72fe56a81949110dc6ac8619486948994909389939192909160a08401919087019080838360005b83811015610f61578181015183820152602001610f49565b50505050905090810190601f168015610f8e5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050565b601054610100900460ff1681565b601554600160a060020a031681565b60105460ff1681565b610fd1613739565b80610fdf5750610fdf610c5f565b1515611035576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b60158054600160a060020a031916600160a060020a0392909216919091179055565b61105f612c73565b15156110b5576040805160e560020a62461bcd02815260206004820152600f60248201527f6f6e6c794261636b757041646d696e0000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515611103576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60068054600160a060020a031916600160a060020a0392909216919091179055565b6000806111323384613b18565b61113c8385613e94565b6011548481151561114957fe5b601754604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152336004820152306024820152905193909204670de0b6b3a76400000294508492600160a060020a039091169163dd62ed3e9160448083019260209291908290030181600087803b1580156111c657600080fd5b505af11580156111da573d6000803e3d6000fd5b505050506040513d60208110156111f057600080fd5b50511015611248576040805160e560020a62461bcd02815260206004820152601d60248201527f596f75206d7573742063616c6c20617070726f76652829206669727374000000604482015290519081900360640190fd5b6017546040805160e060020a6370a082310281523360048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561129857600080fd5b505af11580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b505190508181101561131e576040805160e560020a62461bcd02815260206004820152601a60248201527f596f752068617665206e6f7420656e6f75676820746f6b656e73000000000000604482015290519081900360640190fd5b601754604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506040513d60208110156113bb57600080fd5b50511515611413576040805160e560020a62461bcd02815260206004820152601560248201527f5472616e7366657220746f6b656e206661696c65640000000000000000000000604482015290519081900360640190fd5b601754600754604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152600a860460248201529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561148757600080fd5b505af115801561149b573d6000803e3d6000fd5b505050506040513d60208110156114b157600080fd5b50511515611509576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f6b656e20746f2061646d696e206661696c65640000604482015290519081900360640190fd5b601654604080517ff1f89e92000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301526024820188905260016044830152606482018690529151919092169163f1f89e9291608480830192600092919082900301818387803b15801561158557600080fd5b505af1158015611599573d6000803e3d6000fd5b505060408051338152600160a060020a038716602082015280820188905290517f6a26ed261f93dd650629e9362d6ed42670d1ea1f869fbdbd077eb1b310a242369350908190036060019150a150505050565b6115f4610c5f565b1515611638576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a0381161515611686576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60038054600160a060020a031916600160a060020a0392909216919091179055565b6116b0610c5f565b15156116f4576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b6010805461ff0019169055565b600160a060020a03811660009081526008602052604081205460ff16600381111561172857fe5b90505b919050565b60086020526000908152604090205460ff1681565b600454600160a060020a0316331490565b60008060006011541115156117db576040805160e560020a62461bcd02815260206004820152602260248201527f496e76616c696420646174612c20706c6561736520636f6e746163742061646d60448201527f696e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6015546040805160e060020a63f3caad030281523360048201529051600160a060020a039092169163f3caad03916024808201926020929091908290030181600087803b15801561182b57600080fd5b505af115801561183f573d6000803e3d6000fd5b505050506040513d602081101561185557600080fd5b505115156118ad576040805160e560020a62461bcd02815260206004820152601560248201527f506c656173652072656769737465722066697273740000000000000000000000604482015290519081900360640190fd5b6118b56140ec565b601154670de0b6b3a76400009084020491506118d0826141bc565b600b5482101561192a576040805160e560020a62461bcd02815260206004820152601b60248201527f416d6f756e74206d757374206265203e206d696e696e67446966660000000000604482015290519081900360640190fd5b61193433836143e4565b601654604080517f3296c7d6000000000000000000000000000000000000000000000000000000008152600481018590523360248201529051600160a060020a0390921691633296c7d69160448082019260009290919082900301818387803b1580156119a057600080fd5b505af11580156119b4573d6000803e3d6000fd5b5050601654604080517f23e85bfb000000000000000000000000000000000000000000000000000000008152336004820152602481018790529051600160a060020a0390921693506323e85bfb925060448082019260009290919082900301818387803b158015611a2457600080fd5b505af1158015611a38573d6000803e3d6000fd5b50506017546040805160e060020a6370a082310281523360048201529051600160a060020a0390921693506370a0823192506024808201926020929091908290030181600087803b158015611a8c57600080fd5b505af1158015611aa0573d6000803e3d6000fd5b505050506040513d6020811015611ab657600080fd5b5051601754604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018790529051929350600160a060020a039091169163a9059cbb916044808201926020929091908290030181600087803b158015611b2857600080fd5b505af1158015611b3c573d6000803e3d6000fd5b505050506040513d6020811015611b5257600080fd5b50511515611baa576040805160e560020a62461bcd02815260206004820152601d60248201527f5472616e7366657220746f6b656e20746f2075736572206661696c6564000000604482015290519081900360640190fd5b611bba818463ffffffff6144d516565b6017546040805160e060020a6370a082310281523360048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505050506040513d6020811015611c3457600080fd5b505114611c8b576040805160e560020a62461bcd02815260206004820152601a60248201527f5573657220746f6b656e206368616e67656420696e76616c6964000000000000604482015290519081900360640190fd5b604080513381526020810185905280820184905290517f7fb08210da114cf38e2518a9feafd477ad944ed7eb08ce5bc794ce918f3409c39181900360600190a1505050565b6000808211611d29576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c696420616d6f756e7420746f207377617000000000000000000000604482015290519081900360640190fd5b6017546040805160e060020a6370a0823102815233600482015290518492600160a060020a0316916370a082319160248083019260209291908290030181600087803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b505050506040513d6020811015611da257600080fd5b50511015611dfa576040805160e560020a62461bcd02815260206004820152601b60248201527f596f752068617665206e6f7420656e6f7567682062616c616e63650000000000604482015290519081900360640190fd5b611e0382614539565b90503031811115611e83576040805160e560020a62461bcd028152602060048201526024808201527f54686520636f6e74726163742068617665206e6f7420656e6f7567682062616c60448201527f616e636500000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611e8c816145d0565b601754604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290518492600160a060020a03169163dd62ed3e9160448083019260209291908290030181600087803b158015611ef757600080fd5b505af1158015611f0b573d6000803e3d6000fd5b505050506040513d6020811015611f2157600080fd5b50511015611f79576040805160e560020a62461bcd02815260206004820152601d60248201527f596f75206d7573742063616c6c20617070726f76652829206669727374000000604482015290519081900360640190fd5b601754604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015611fec57600080fd5b505af1158015612000573d6000803e3d6000fd5b505050506040513d602081101561201657600080fd5b5051151561206e576040805160e560020a62461bcd02815260206004820152601560248201527f5472616e7366657220746f6b656e206661696c65640000000000000000000000604482015290519081900360640190fd5b604051339082156108fc029083906000818181858888f1935050505015801561209b573d6000803e3d6000fd5b50601654604080517fc61d04a1000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a039092169163c61d04a19160248082019260009290919082900301818387803b15801561210257600080fd5b505af1158015612116573d6000803e3d6000fd5b5050604080513381526020810186905280820185905290517fd5a1cd88ddd329cc1ddf861a21708efa9ef3136b88e1420c21f91ef6f95ad0249350908190036060019150a15050565b601654600160a060020a031681565b612176610c5f565b15156121ba576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a0381161515612208576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b6010546000908190819060ff16806122555750733839481b915f408cac7aab44b766b8b18b692f7633145b15156122ab576040805160e560020a62461bcd02815260206004820152601960248201527f43616e206e6f742062757920766961204574686572206e6f7700000000000000604482015290519081900360640190fd5b6122b53385613b18565b6000851161230d576040805160e560020a62461bcd02815260206004820152601060248201527f52617465206d757374206265203e203000000000000000000000000000000000604482015290519081900360640190fd5b61232384670de0b6b3a764000034880204613e94565b60038561233387600f540361482d565b60640281151561233f57fe5b04111592506005600f54612356600f54880361482d565b60640281151561236257fe5b04111591508280156123715750815b90508015156123f0576040805160e560020a62461bcd02815260206004820152602160248201527f496e76616c696420726174652c20706c6561736520636865636b20616761696e60448201527f2100000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6123fc33853488614847565b5050505050565b61240b610c5f565b151561244f576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b60008111612495576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020614a20833981519152604482015290519081900360640190fd5b600e5481106124ee576040805160e560020a62461bcd02815260206004820152600f60248201527f4d757374206265203c206d61784a500000000000000000000000000000000000604482015290519081900360640190fd5b600d54811415612536576040805160e560020a62461bcd0281526020600482015260116024820152600080516020614a00833981519152604482015290519081900360640190fd5b600d8190556040805182815290517fed8b2fda3f77cfdc28ec25f2d800aeba9c44954c10c8e95ebfc120bd36761ec29181900360200190a150565b60145481565b6125813382613b18565b61258b8183613e94565b61259533836143e4565b601654604080517ff1f89e92000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301526024820186905260026044830152606482018690529151919092169163f1f89e9291608480830192600092919082900301818387803b15801561261157600080fd5b505af1158015612625573d6000803e3d6000fd5b5050601654600754604080517f5e7920c0000000000000000000000000000000000000000000000000000000008152600a88046004820152600160a060020a0392831660248201529051919092169350635e7920c09250604480830192600092919082900301818387803b15801561269c57600080fd5b505af11580156126b0573d6000803e3d6000fd5b505060408051338152600160a060020a038516602082015280820186905290517f7b2f4de0cb94d605245e79183c85ba07e8c449476a547bbd4fe9904e790c93709350908190036060019150a15050565b612709610c5f565b151561274d576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600d5481116127a6576040805160e560020a62461bcd02815260206004820152600f60248201527f4d757374206265203e206d696e4a500000000000000000000000000000000000604482015290519081900360640190fd5b600e548114156127ee576040805160e560020a62461bcd0281526020600482015260116024820152600080516020614a00833981519152604482015290519081900360640190fd5b600e8190556040805182815290517f945f55d166da93f9491a7daf731ced4e8c97a19f65912d6cdad10935717df6919181900360200190a150565b612831610c5f565b1515612875576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a03811615156128c3576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60048054600160a060020a031916600160a060020a0392909216919091179055565b6128ed610c88565b806128fb57506128fb610c5f565b1515612951576040805160e560020a62461bcd02815260206004820152600c60248201527f6f6e6c7945746841646d696e0000000000000000000000000000000000000000604482015290519081900360640190fd5b612959610c88565b156129be57601054610100900460ff16156129be576040805160e560020a62461bcd02815260206004820152600c60248201527f756e417574686f72697a65640000000000000000000000000000000000000000604482015290519081900360640190fd5b60008111612a04576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020614a20833981519152604482015290519081900360640190fd5b600f54811415612a4c576040805160e560020a62461bcd0281526020600482015260116024820152600080516020614a00833981519152604482015290519081900360640190fd5b600f55565b60135481565b612a5f613739565b80612a6d5750612a6d610c5f565b1515612ac3576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b60168054600160a060020a031916600160a060020a0392909216919091179055565b612aed610c5f565b1515612b31576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a0381161515612b7f576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60058054600160a060020a031916600160a060020a0392909216919091179055565b600c5490565b612baf610c5f565b1515612bf3576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b601854604080517f4bbf3a7a000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0390921691634bbf3a7a9160248082019260009290919082900301818387803b158015612c5957600080fd5b505af11580156123fc573d6000803e3d6000fd5b60125481565b600654600160a060020a0316331490565b601554604080517f72fbc8510000000000000000000000000000000000000000000000000000000081523360048201529051600092606092849284928492839283928392600160a060020a03909116916372fbc85191602480820192869290919082900301818387803b158015612cfa57600080fd5b505af1158015612d0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610100811015612d3857600080fd5b815160208301805191939283019291640100000000811115612d5957600080fd5b82016020810184811115612d6c57600080fd5b8151640100000000811182820187101715612d8657600080fd5b50506020820151604090920180519194929391640100000000811115612dab57600080fd5b82016020810184811115612dbe57600080fd5b8151856020820283011164010000000082111715612ddb57600080fd5b505092919060200180519060200190929190805190602001909291908051906020019092919080519060200190929190505050975097509750975097509750975097509091929394959697565b6000612e32611745565b80612e405750612e40610c5f565b1515612e96576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c794c41646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b8251600010612eef576040805160e560020a62461bcd02815260206004820152601660248201527f56616c7565732063616e6e6f7420626520656d70747900000000000000000000604482015290519081900360640190fd5b82516101001015612f4a576040805160e560020a62461bcd02815260206004820152600e60248201527f4d6178696d756d20697320323536000000000000000000000000000000000000604482015290519081900360640190fd5b60008260ff1610158015612f62575060038260ff1611155b1515612fb8576040805160e560020a62461bcd02815260206004820152600f60248201527f5479706520697320696e76616c69640000000000000000000000000000000000604482015290519081900360640190fd5b5060005b82518160ff1610156130ab5782513390849060ff8416908110612fdb57fe5b60209081029091010151600160a060020a03161415613044576040805160e560020a62461bcd02815260206004820152600b60248201527f596f757273656c66212121000000000000000000000000000000000000000000604482015290519081900360640190fd5b8160ff16600381111561305357fe5b60086000858460ff1681518110151561306857fe5b6020908102909101810151600160a060020a03168252810191909152604001600020805460ff1916600183600381111561309e57fe5b0217905550600101612fbc565b7f8db78fdb13b2139a1e6cdce5bfb58676ce5246a09d0a33a748d3438767a3cef8838360405180806020018360ff1660ff168152602001828103825284818151815260200191508051906020019060200280838360005b8381101561311a578181015183820152602001613102565b50505050905001935050505060405180910390a1505050565b61313b610c5f565b151561317f576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b601854604080517f48f79607000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a03909216916348f796079160248082019260009290919082900301818387803b158015612c5957600080fd5b600b5490565b60006131f5610c5f565b1515613239576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b50601854604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018490529051849283169163095ea7b39160448083019260209291908290030181600087803b1580156132a957600080fd5b505af11580156132bd573d6000803e3d6000fd5b505050506040513d60208110156123fc57600080fd5b6132db610c5f565b151561331f576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b60008111613365576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020614a20833981519152604482015290519081900360640190fd5b601355565b613372610c5f565b15156133b6576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b601854604080517f1e59c529000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260048201928352855160448301528551931692631e59c5299286928692829160640190602086019080838360005b8381101561343657818101518382015260200161341e565b50505050905090810190601f1680156134635780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561348357600080fd5b505af1158015613497573d6000803e3d6000fd5b505050505050565b600254600160a060020a0316331490565b601754600160a060020a031681565b6134c7610c71565b806134d557506134d5610c5f565b151561352b576040805160e560020a62461bcd02815260206004820152600d60248201527f6f6e6c794d61785341646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b60008111613571576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020614a20833981519152604482015290519081900360640190fd5b601455565b61357e610c5f565b15156135c2576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b60105460ff1615158115151415613611576040805160e560020a62461bcd0281526020600482015260116024820152600080516020614a00833981519152604482015290519081900360640190fd5b6010805460ff191682151517908190556040805160ff90921615158252517fc310316a673d176e866702527c019155ef72d2e8b2f3f3b48cbb4767419aea69916020908290030190a150565b613665612c73565b806136735750613673610c5f565b15156136c9576040805160e560020a62461bcd02815260206004820152600f60248201527f6f6e6c794261636b757041646d696e0000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515613717576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b600154600160a060020a0316331490565b613752610c5f565b1515613796576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600081116137ee576040805160e560020a62461bcd02815260206004820152600b60248201527f6d757374206265203e2030000000000000000000000000000000000000000000604482015290519081900360640190fd5b601154811415613848576040805160e560020a62461bcd02815260206004820152601160248201527f6d757374206265206e65772076616c7565000000000000000000000000000000604482015290519081900360640190fd5b601155565b600e5481565b61385b610c5f565b151561389f576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600081116138f7576040805160e560020a62461bcd02815260206004820152600b60248201527f6d757374206265203e2030000000000000000000000000000000000000000000604482015290519081900360640190fd5b601254811415613951576040805160e560020a62461bcd02815260206004820152601160248201527f6d757374206265206e65772076616c7565000000000000000000000000000000604482015290519081900360640190fd5b601255565b61395e610c5f565b15156139a2576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600081116139fa576040805160e560020a62461bcd02815260206004820152601660248201527f6d696e696e6744696666206d757374206265203e203000000000000000000000604482015290519081900360640190fd5b600b54811415613a54576040805160e560020a62461bcd02815260206004820152601c60248201527f6d696e696e6744696666206d757374206265206e65772076616c756500000000604482015290519081900360640190fd5b600b8190556040805182815290517fbdcbd80d633405a54cf241f3585043f618c9b2b25267bbf8144d04c37c5b6aa79181900360200190a150565b600d5481565b613a9d611745565b80613aab5750613aab610c5f565b1515613b01576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c794c41646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b6010805461ff001916610100179055565b600f5481565b6015546040805160e060020a63f3caad03028152600160a060020a0385811660048301529151919092169163f3caad039160248083019260209291908290030181600087803b158015613b6a57600080fd5b505af1158015613b7e573d6000803e3d6000fd5b505050506040513d6020811015613b9457600080fd5b50511515613bec576040805160e560020a62461bcd02815260206004820152601560248201527f506c656173652072656769737465722066697273740000000000000000000000604482015290519081900360640190fd5b6015546040805160e060020a63f3caad03028152600160a060020a0384811660048301529151919092169163f3caad039160248083019260209291908290030181600087803b158015613c3e57600080fd5b505af1158015613c52573d6000803e3d6000fd5b505050506040513d6020811015613c6857600080fd5b50511515613ce5576040805160e560020a62461bcd028152602060048201526024808201527f596f752063616e206f6e6c792061637469766520616e20657869737473206d6560448201527f6d62657200000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382811690821614613e1057601554604080517fda9c9ba7000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015284811660248301529151919092169163da9c9ba79160448083019260209291908290030181600087803b158015613d6857600080fd5b505af1158015613d7c573d6000803e3d6000fd5b505050506040513d6020811015613d9257600080fd5b50511515613e10576040805160e560020a62461bcd02815260206004820152602560248201527f5468697320757365722069736e277420696e20796f757220726566657272616c60448201527f2074726565000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600f54600010613e90576040805160e560020a62461bcd02815260206004820152602760248201527f496e76616c69642065746850726963652c20706c6561736520636f6e7461637460448201527f2061646d696e2100000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5050565b6000808211613eed576040805160e560020a62461bcd02815260206004820152601260248201527f416d6f756e74206d757374206265203e20300000000000000000000000000000604482015290519081900360640190fd5b600e54821115613f6d576040805160e560020a62461bcd02815260206004820152603660248201527f43616e206e6f74206a6f696e207769746820616d6f756e74207468617420677260448201527f6561746572206d6178206a6f696e207061636b61676500000000000000000000606482015290519081900360840190fd5b601654604080517f9042bb1e000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015291519190921691639042bb1e9160248083019260209291908290030181600087803b158015613fd557600080fd5b505af1158015613fe9573d6000803e3d6000fd5b505050506040513d6020811015613fff57600080fd5b5051905080151561406957600d54821015614064576040805160e560020a62461bcd02815260206004820152601e60248201527f4d696e696d756d20666f72206669727374206a6f696e20697320243230300000604482015290519081900360640190fd5b6140e7565b808210156140e7576040805160e560020a62461bcd02815260206004820152603760248201527f43616e206e6f74206a6f696e207769746820616d6f756e742074686174206c6f60448201527f776572207468616e20796f7572206c617374206a6f696e000000000000000000606482015290519081900360840190fd5b505050565b600060023360009081526008602052604090205460ff16600381111561410e57fe5b1415801561413a575060033360009081526008602052604090205460ff16600381111561413757fe5b14155b90508015156141b9576040805160e560020a62461bcd02815260206004820152602960248201527f596f7572206163636f756e7420676574206c6f636b65642066726f6d206d696e60448201527f696e6720746f6b656e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50565b336000908152600960205260408120805490919081908190819081908190819015156142415760135489111561423c576040805160e560020a62461bcd02815260206004820152601160248201527f416d6f756e7420697320696e76616c6964000000000000000000000000000000604482015290519081900360640190fd5b61439d565b87546000975087965094508593505b848410156142b957878481548110151561426657fe5b90600052602060002090600202019250826000015462015180420310915081156142a75760018301546142a090889063ffffffff6144d516565b96506142ae565b6001909501945b600190930192614250565b6000861115614334575060005b875486900381101561432357878682018154811015156142e257fe5b906000526020600020906002020188828154811015156142fe57fe5b60009182526020909120825460029092020190815560019182015490820155016142c6565b8754869003614332898261497b565b505b601354614347888b63ffffffff6144d516565b111561439d576040805160e560020a62461bcd02815260206004820152601260248201527f546f6f206d75636820666f7220746f6461790000000000000000000000000000604482015290519081900360640190fd5b5050604080518082019091524281526020808201988952875460018181018a556000998a529190982091516002909802909101968755965195909601949094555050505050565b601654604080517fbb1937c0000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301529151600093929092169163bb1937c09160248082019260209290919082900301818787803b15801561444f57600080fd5b505af1158015614463573d6000803e3d6000fd5b505050506040513d602081101561447957600080fd5b50519050818110156140e7576040805160e560020a62461bcd02815260206004820152601b60248201527f596f752068617665206e6f7420656e6f7567682062616c616e63650000000000604482015290519081900360640190fd5b600082820183811015614532576040805160e560020a62461bcd02815260206004820152601260248201527f536166654d61746820616464206572726f720000000000000000000000000000604482015290519081900360640190fd5b9392505050565b6000806012541115156145bc576040805160e560020a62461bcd02815260206004820152602260248201527f496e76616c696420646174612c20706c6561736520636f6e746163742061646d60448201527f696e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b601254828115156145c957fe5b0492915050565b6000806000806000806000600a805490506000141561464857601454881115614643576040805160e560020a62461bcd02815260206004820152601160248201527f416d6f756e7420697320696e76616c6964000000000000000000000000000000604482015290519081900360640190fd5b6147aa565b600a546000975087965094508593505b848410156146c157600a80548590811061466e57fe5b90600052602060002090600202019250826000015462015180420310915081156146af5760018301546146a890889063ffffffff6144d516565b96506146b6565b6001909501945b600190930192614658565b6000861115614741575060005b600a5486900381101561472d57600a80548288019081106146eb57fe5b9060005260206000209060020201600a8281548110151561470857fe5b60009182526020909120825460029092020190815560019182015490820155016146ce565b600a80548790039061473f908261497b565b505b601454614754888a63ffffffff6144d516565b11156147aa576040805160e560020a62461bcd02815260206004820152601260248201527f546f6f206d75636820666f7220746f6461790000000000000000000000000000604482015290519081900360640190fd5b50506040805180820190915242815260208101968752600a805460018101825560009190915290517fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a860029092029182015595517fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a9909601959095555050505050565b600080821215614843578160001902905061172b565b5090565b601654604080517ff1f89e92000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152670de0b6b3a76400008587020460248301819052600060448401819052606484018890529351600a8804959194929091169263f1f89e9292608480830193919282900301818387803b1580156148d657600080fd5b505af11580156148ea573d6000803e3d6000fd5b5050600754604051600160a060020a03909116925084156108fc02915084906000818181858888f19350505050158015614928573d6000803e3d6000fd5b5060408051600160a060020a0380891682528716602082015280820183905290517f2ced4e9f0876fb793bc9670927e9d22151fe5f129df989c2d4946ef5a59a97db9181900360600190a1505050505050565b8154818355818111156140e7576000838152602090206140e791610c6e9160029182028101918502015b8082111561484357600080825560018201556002016149a55600496e76616c6964206164647265737300000000000000000000000000000000006f6e6c794d61696e41646d696e000000000000000000000000000000000000004d757374206265206e65772076616c75650000000000000000000000000000004d757374206265203e2030000000000000000000000000000000000000000000a165627a7a72305820a528f06fb7c65082c5ceb552813bf577f7eb123a9ae9246b70f83af86ea899df00290000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f76000000000000000000000000000000000000000000000000000000000002ff38
Deployed Bytecode
0x60806040526004361061029d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302e65b8a811461029f57806310a5c978146102c05780631168222b146102d857806311bec7321461030157806316fffb5d146103165780631cce93c41461033d5780631e59c52914610352578063243884ec146103b65780632bbc4971146103cb57806331e43f53146103fc57806332620c2714610411578063380b682d146104325780633bef6e1e146104535780633ff7801c14610477578063406355181461049857806344e73337146104ad57806347ff89ef146104e4578063482d96281461052957806348f796071461053e5780634bbf3a7a14610556578063521eb2731461056e57806354ee1bdd1461058357806359450ff5146105a45780635e5a662d146105bb5780635f931901146105d3578063621b46e5146105e85780637258ef4b1461060c57806375bdc20b146106245780638106bbeb146106455780638143ea5a1461065d5780638d425e1d1461067257806391881746146106935780639569bf76146106b4578063989d12b6146106c95780639d7e6c88146106e15780639f9abd5a146106f6578063a34cc9361461070b578063a50695c114610815578063a51ec1a21461086f578063a8d3688c14610887578063ac85ae061461089c578063ad54b049146108c0578063b373767a146108d8578063b8a5b5c81461093c578063c2ba9a3214610951578063c47a67de14610966578063c80d64cd1461097e578063d30f133d14610998578063d3184e80146109b9578063d69a5eec146109ce578063dd892d20146109e6578063e07f381a146109fb578063e0c9fb1a14610a13578063e71e88a414610a2b578063f0d9829914610a40578063ff186b2e14610a55575b005b3480156102ab57600080fd5b5061029d600160a060020a0360043516610a6a565b3480156102cc57600080fd5b5061029d600435610b26565b3480156102e457600080fd5b506102ed610c5f565b604080519115158252519081900360200190f35b34801561030d57600080fd5b506102ed610c71565b34801561032257600080fd5b5061032b610c82565b60408051918252519081900360200190f35b34801561034957600080fd5b506102ed610c88565b34801561035e57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261029d94369492936024939284019190819084018382808284375094975050509235600160a060020a03169350610c9992505050565b3480156103c257600080fd5b506102ed610fa3565b3480156103d757600080fd5b506103e0610fb1565b60408051600160a060020a039092168252519081900360200190f35b34801561040857600080fd5b506102ed610fc0565b34801561041d57600080fd5b5061029d600160a060020a0360043516610fc9565b34801561043e57600080fd5b5061029d600160a060020a0360043516611057565b34801561045f57600080fd5b5061029d600435600160a060020a0360243516611125565b34801561048357600080fd5b5061029d600160a060020a03600435166115ec565b3480156104a457600080fd5b5061029d6116a8565b3480156104b957600080fd5b506104ce600160a060020a0360043516611701565b6040805160ff9092168252519081900360200190f35b3480156104f057600080fd5b50610505600160a060020a0360043516611730565b6040518082600381111561051557fe5b60ff16815260200191505060405180910390f35b34801561053557600080fd5b506102ed611745565b34801561054a57600080fd5b5061029d600435611756565b34801561056257600080fd5b5061029d600435611cd0565b34801561057a57600080fd5b506103e061215f565b34801561058f57600080fd5b5061029d600160a060020a036004351661216e565b61029d600435600160a060020a036024351661222a565b3480156105c757600080fd5b5061029d600435612403565b3480156105df57600080fd5b5061032b612571565b3480156105f457600080fd5b5061029d600435600160a060020a0360243516612577565b34801561061857600080fd5b5061029d600435612701565b34801561063057600080fd5b5061029d600160a060020a0360043516612829565b34801561065157600080fd5b5061029d6004356128e5565b34801561066957600080fd5b5061032b612a51565b34801561067e57600080fd5b5061029d600160a060020a0360043516612a57565b34801561069f57600080fd5b5061029d600160a060020a0360043516612ae5565b3480156106c057600080fd5b5061032b612ba1565b3480156106d557600080fd5b5061029d600435612ba7565b3480156106ed57600080fd5b5061032b612c6d565b34801561070257600080fd5b506102ed612c73565b34801561071757600080fd5b50610720612c84565b604051808981526020018060200188600160a060020a0316600160a060020a031681526020018060200187815260200186815260200185815260200184815260200183810383528a818151815260200191508051906020019080838360005b8381101561079757818101518382015260200161077f565b50505050905090810190601f1680156107c45780820380516001836020036101000a031916815260200191505b508381038252885181528851602091820191808b01910280838360005b838110156107f95781810151838201526020016107e1565b505050509050019a505050505050505050505060405180910390f35b34801561082157600080fd5b506040805160206004803580820135838102808601850190965280855261029d953695939460249493850192918291850190849080828437509497505050923560ff169350612e2892505050565b34801561087b57600080fd5b5061029d600435613133565b34801561089357600080fd5b5061032b6131e5565b3480156108a857600080fd5b5061029d600160a060020a03600435166024356131eb565b3480156108cc57600080fd5b5061029d6004356132d3565b3480156108e457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261029d94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061336a92505050565b34801561094857600080fd5b506102ed61349f565b34801561095d57600080fd5b506103e06134b0565b34801561097257600080fd5b5061029d6004356134bf565b34801561098a57600080fd5b5061029d6004351515613576565b3480156109a457600080fd5b5061029d600160a060020a036004351661365d565b3480156109c557600080fd5b506102ed613739565b3480156109da57600080fd5b5061029d60043561374a565b3480156109f257600080fd5b5061032b61384d565b348015610a0757600080fd5b5061029d600435613853565b348015610a1f57600080fd5b5061029d600435613956565b348015610a3757600080fd5b5061032b613a8f565b348015610a4c57600080fd5b5061029d613a95565b348015610a6157600080fd5b5061032b613b12565b610a72610c5f565b1515610ab6576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a0381161515610b04576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60018054600160a060020a031916600160a060020a0392909216919091179055565b610b2e610c5f565b1515610b72576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b60008111610bca576040805160e560020a62461bcd02815260206004820152601660248201527f4d696e696d756d427579206d757374206265203e203000000000000000000000604482015290519081900360640190fd5b600c54811415610c24576040805160e560020a62461bcd02815260206004820152601e60248201527f7472616e7366657244696666206d757374206265206e65772076616c75650000604482015290519081900360640190fd5b600c8190556040805182815290517f696bbaa664e6ac8bb851a93adf7d91f2550022e2d95b99ddb871be82ea04027e9181900360200190a150565b600054600160a060020a031633145b90565b600554600160a060020a0316331490565b60115481565b600354600160a060020a0316331490565b6015546040805160e060020a63f3caad03028152600160a060020a0384811660048301529151600093929092169163f3caad039160248082019260209290919082900301818787803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b505050506040513d6020811015610d1857600080fd5b50511515610d70576040805160e560020a62461bcd02815260206004820152601b60248201527f496e766974657220646964206e6f7420726567697374657265642e0000000000604482015290519081900360640190fd5b600160a060020a038216331415610dd1576040805160e560020a62461bcd02815260206004820152601860248201527f43616e6e6f7420726566657272616c20796f757273656c660000000000000000604482015290519081900360640190fd5b6015546040517f97294e580000000000000000000000000000000000000000000000000000000081523360048201818152600160a060020a03868116604485015260606024850190815288516064860152885191909516946397294e58948993899390929160840190602086019080838360005b83811015610e5d578181015183820152602001610e45565b50505050905090810190601f168015610e8a5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015610eab57600080fd5b505af1158015610ebf573d6000803e3d6000fd5b505050506040513d6020811015610ed557600080fd5b50516040805182815233918101829052600160a060020a03851660608201526080602082810182815288519284019290925287519495507f6cddf760a0682a65b93ab75a1c92afba3c310bdab72fe56a81949110dc6ac8619486948994909389939192909160a08401919087019080838360005b83811015610f61578181015183820152602001610f49565b50505050905090810190601f168015610f8e5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050565b601054610100900460ff1681565b601554600160a060020a031681565b60105460ff1681565b610fd1613739565b80610fdf5750610fdf610c5f565b1515611035576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b60158054600160a060020a031916600160a060020a0392909216919091179055565b61105f612c73565b15156110b5576040805160e560020a62461bcd02815260206004820152600f60248201527f6f6e6c794261636b757041646d696e0000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515611103576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60068054600160a060020a031916600160a060020a0392909216919091179055565b6000806111323384613b18565b61113c8385613e94565b6011548481151561114957fe5b601754604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152336004820152306024820152905193909204670de0b6b3a76400000294508492600160a060020a039091169163dd62ed3e9160448083019260209291908290030181600087803b1580156111c657600080fd5b505af11580156111da573d6000803e3d6000fd5b505050506040513d60208110156111f057600080fd5b50511015611248576040805160e560020a62461bcd02815260206004820152601d60248201527f596f75206d7573742063616c6c20617070726f76652829206669727374000000604482015290519081900360640190fd5b6017546040805160e060020a6370a082310281523360048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561129857600080fd5b505af11580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b505190508181101561131e576040805160e560020a62461bcd02815260206004820152601a60248201527f596f752068617665206e6f7420656e6f75676820746f6b656e73000000000000604482015290519081900360640190fd5b601754604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561139157600080fd5b505af11580156113a5573d6000803e3d6000fd5b505050506040513d60208110156113bb57600080fd5b50511515611413576040805160e560020a62461bcd02815260206004820152601560248201527f5472616e7366657220746f6b656e206661696c65640000000000000000000000604482015290519081900360640190fd5b601754600754604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152600a860460248201529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561148757600080fd5b505af115801561149b573d6000803e3d6000fd5b505050506040513d60208110156114b157600080fd5b50511515611509576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f6b656e20746f2061646d696e206661696c65640000604482015290519081900360640190fd5b601654604080517ff1f89e92000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301526024820188905260016044830152606482018690529151919092169163f1f89e9291608480830192600092919082900301818387803b15801561158557600080fd5b505af1158015611599573d6000803e3d6000fd5b505060408051338152600160a060020a038716602082015280820188905290517f6a26ed261f93dd650629e9362d6ed42670d1ea1f869fbdbd077eb1b310a242369350908190036060019150a150505050565b6115f4610c5f565b1515611638576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a0381161515611686576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60038054600160a060020a031916600160a060020a0392909216919091179055565b6116b0610c5f565b15156116f4576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b6010805461ff0019169055565b600160a060020a03811660009081526008602052604081205460ff16600381111561172857fe5b90505b919050565b60086020526000908152604090205460ff1681565b600454600160a060020a0316331490565b60008060006011541115156117db576040805160e560020a62461bcd02815260206004820152602260248201527f496e76616c696420646174612c20706c6561736520636f6e746163742061646d60448201527f696e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6015546040805160e060020a63f3caad030281523360048201529051600160a060020a039092169163f3caad03916024808201926020929091908290030181600087803b15801561182b57600080fd5b505af115801561183f573d6000803e3d6000fd5b505050506040513d602081101561185557600080fd5b505115156118ad576040805160e560020a62461bcd02815260206004820152601560248201527f506c656173652072656769737465722066697273740000000000000000000000604482015290519081900360640190fd5b6118b56140ec565b601154670de0b6b3a76400009084020491506118d0826141bc565b600b5482101561192a576040805160e560020a62461bcd02815260206004820152601b60248201527f416d6f756e74206d757374206265203e206d696e696e67446966660000000000604482015290519081900360640190fd5b61193433836143e4565b601654604080517f3296c7d6000000000000000000000000000000000000000000000000000000008152600481018590523360248201529051600160a060020a0390921691633296c7d69160448082019260009290919082900301818387803b1580156119a057600080fd5b505af11580156119b4573d6000803e3d6000fd5b5050601654604080517f23e85bfb000000000000000000000000000000000000000000000000000000008152336004820152602481018790529051600160a060020a0390921693506323e85bfb925060448082019260009290919082900301818387803b158015611a2457600080fd5b505af1158015611a38573d6000803e3d6000fd5b50506017546040805160e060020a6370a082310281523360048201529051600160a060020a0390921693506370a0823192506024808201926020929091908290030181600087803b158015611a8c57600080fd5b505af1158015611aa0573d6000803e3d6000fd5b505050506040513d6020811015611ab657600080fd5b5051601754604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018790529051929350600160a060020a039091169163a9059cbb916044808201926020929091908290030181600087803b158015611b2857600080fd5b505af1158015611b3c573d6000803e3d6000fd5b505050506040513d6020811015611b5257600080fd5b50511515611baa576040805160e560020a62461bcd02815260206004820152601d60248201527f5472616e7366657220746f6b656e20746f2075736572206661696c6564000000604482015290519081900360640190fd5b611bba818463ffffffff6144d516565b6017546040805160e060020a6370a082310281523360048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505050506040513d6020811015611c3457600080fd5b505114611c8b576040805160e560020a62461bcd02815260206004820152601a60248201527f5573657220746f6b656e206368616e67656420696e76616c6964000000000000604482015290519081900360640190fd5b604080513381526020810185905280820184905290517f7fb08210da114cf38e2518a9feafd477ad944ed7eb08ce5bc794ce918f3409c39181900360600190a1505050565b6000808211611d29576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c696420616d6f756e7420746f207377617000000000000000000000604482015290519081900360640190fd5b6017546040805160e060020a6370a0823102815233600482015290518492600160a060020a0316916370a082319160248083019260209291908290030181600087803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b505050506040513d6020811015611da257600080fd5b50511015611dfa576040805160e560020a62461bcd02815260206004820152601b60248201527f596f752068617665206e6f7420656e6f7567682062616c616e63650000000000604482015290519081900360640190fd5b611e0382614539565b90503031811115611e83576040805160e560020a62461bcd028152602060048201526024808201527f54686520636f6e74726163742068617665206e6f7420656e6f7567682062616c60448201527f616e636500000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611e8c816145d0565b601754604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290518492600160a060020a03169163dd62ed3e9160448083019260209291908290030181600087803b158015611ef757600080fd5b505af1158015611f0b573d6000803e3d6000fd5b505050506040513d6020811015611f2157600080fd5b50511015611f79576040805160e560020a62461bcd02815260206004820152601d60248201527f596f75206d7573742063616c6c20617070726f76652829206669727374000000604482015290519081900360640190fd5b601754604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015611fec57600080fd5b505af1158015612000573d6000803e3d6000fd5b505050506040513d602081101561201657600080fd5b5051151561206e576040805160e560020a62461bcd02815260206004820152601560248201527f5472616e7366657220746f6b656e206661696c65640000000000000000000000604482015290519081900360640190fd5b604051339082156108fc029083906000818181858888f1935050505015801561209b573d6000803e3d6000fd5b50601654604080517fc61d04a1000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a039092169163c61d04a19160248082019260009290919082900301818387803b15801561210257600080fd5b505af1158015612116573d6000803e3d6000fd5b5050604080513381526020810186905280820185905290517fd5a1cd88ddd329cc1ddf861a21708efa9ef3136b88e1420c21f91ef6f95ad0249350908190036060019150a15050565b601654600160a060020a031681565b612176610c5f565b15156121ba576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a0381161515612208576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b6010546000908190819060ff16806122555750733839481b915f408cac7aab44b766b8b18b692f7633145b15156122ab576040805160e560020a62461bcd02815260206004820152601960248201527f43616e206e6f742062757920766961204574686572206e6f7700000000000000604482015290519081900360640190fd5b6122b53385613b18565b6000851161230d576040805160e560020a62461bcd02815260206004820152601060248201527f52617465206d757374206265203e203000000000000000000000000000000000604482015290519081900360640190fd5b61232384670de0b6b3a764000034880204613e94565b60038561233387600f540361482d565b60640281151561233f57fe5b04111592506005600f54612356600f54880361482d565b60640281151561236257fe5b04111591508280156123715750815b90508015156123f0576040805160e560020a62461bcd02815260206004820152602160248201527f496e76616c696420726174652c20706c6561736520636865636b20616761696e60448201527f2100000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6123fc33853488614847565b5050505050565b61240b610c5f565b151561244f576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b60008111612495576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020614a20833981519152604482015290519081900360640190fd5b600e5481106124ee576040805160e560020a62461bcd02815260206004820152600f60248201527f4d757374206265203c206d61784a500000000000000000000000000000000000604482015290519081900360640190fd5b600d54811415612536576040805160e560020a62461bcd0281526020600482015260116024820152600080516020614a00833981519152604482015290519081900360640190fd5b600d8190556040805182815290517fed8b2fda3f77cfdc28ec25f2d800aeba9c44954c10c8e95ebfc120bd36761ec29181900360200190a150565b60145481565b6125813382613b18565b61258b8183613e94565b61259533836143e4565b601654604080517ff1f89e92000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301526024820186905260026044830152606482018690529151919092169163f1f89e9291608480830192600092919082900301818387803b15801561261157600080fd5b505af1158015612625573d6000803e3d6000fd5b5050601654600754604080517f5e7920c0000000000000000000000000000000000000000000000000000000008152600a88046004820152600160a060020a0392831660248201529051919092169350635e7920c09250604480830192600092919082900301818387803b15801561269c57600080fd5b505af11580156126b0573d6000803e3d6000fd5b505060408051338152600160a060020a038516602082015280820186905290517f7b2f4de0cb94d605245e79183c85ba07e8c449476a547bbd4fe9904e790c93709350908190036060019150a15050565b612709610c5f565b151561274d576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600d5481116127a6576040805160e560020a62461bcd02815260206004820152600f60248201527f4d757374206265203e206d696e4a500000000000000000000000000000000000604482015290519081900360640190fd5b600e548114156127ee576040805160e560020a62461bcd0281526020600482015260116024820152600080516020614a00833981519152604482015290519081900360640190fd5b600e8190556040805182815290517f945f55d166da93f9491a7daf731ced4e8c97a19f65912d6cdad10935717df6919181900360200190a150565b612831610c5f565b1515612875576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a03811615156128c3576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60048054600160a060020a031916600160a060020a0392909216919091179055565b6128ed610c88565b806128fb57506128fb610c5f565b1515612951576040805160e560020a62461bcd02815260206004820152600c60248201527f6f6e6c7945746841646d696e0000000000000000000000000000000000000000604482015290519081900360640190fd5b612959610c88565b156129be57601054610100900460ff16156129be576040805160e560020a62461bcd02815260206004820152600c60248201527f756e417574686f72697a65640000000000000000000000000000000000000000604482015290519081900360640190fd5b60008111612a04576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020614a20833981519152604482015290519081900360640190fd5b600f54811415612a4c576040805160e560020a62461bcd0281526020600482015260116024820152600080516020614a00833981519152604482015290519081900360640190fd5b600f55565b60135481565b612a5f613739565b80612a6d5750612a6d610c5f565b1515612ac3576040805160e560020a62461bcd02815260206004820152601160248201527f6f6e6c79436f6e747261637441646d696e000000000000000000000000000000604482015290519081900360640190fd5b60168054600160a060020a031916600160a060020a0392909216919091179055565b612aed610c5f565b1515612b31576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600160a060020a0381161515612b7f576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60058054600160a060020a031916600160a060020a0392909216919091179055565b600c5490565b612baf610c5f565b1515612bf3576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b601854604080517f4bbf3a7a000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a0390921691634bbf3a7a9160248082019260009290919082900301818387803b158015612c5957600080fd5b505af11580156123fc573d6000803e3d6000fd5b60125481565b600654600160a060020a0316331490565b601554604080517f72fbc8510000000000000000000000000000000000000000000000000000000081523360048201529051600092606092849284928492839283928392600160a060020a03909116916372fbc85191602480820192869290919082900301818387803b158015612cfa57600080fd5b505af1158015612d0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610100811015612d3857600080fd5b815160208301805191939283019291640100000000811115612d5957600080fd5b82016020810184811115612d6c57600080fd5b8151640100000000811182820187101715612d8657600080fd5b50506020820151604090920180519194929391640100000000811115612dab57600080fd5b82016020810184811115612dbe57600080fd5b8151856020820283011164010000000082111715612ddb57600080fd5b505092919060200180519060200190929190805190602001909291908051906020019092919080519060200190929190505050975097509750975097509750975097509091929394959697565b6000612e32611745565b80612e405750612e40610c5f565b1515612e96576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c794c41646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b8251600010612eef576040805160e560020a62461bcd02815260206004820152601660248201527f56616c7565732063616e6e6f7420626520656d70747900000000000000000000604482015290519081900360640190fd5b82516101001015612f4a576040805160e560020a62461bcd02815260206004820152600e60248201527f4d6178696d756d20697320323536000000000000000000000000000000000000604482015290519081900360640190fd5b60008260ff1610158015612f62575060038260ff1611155b1515612fb8576040805160e560020a62461bcd02815260206004820152600f60248201527f5479706520697320696e76616c69640000000000000000000000000000000000604482015290519081900360640190fd5b5060005b82518160ff1610156130ab5782513390849060ff8416908110612fdb57fe5b60209081029091010151600160a060020a03161415613044576040805160e560020a62461bcd02815260206004820152600b60248201527f596f757273656c66212121000000000000000000000000000000000000000000604482015290519081900360640190fd5b8160ff16600381111561305357fe5b60086000858460ff1681518110151561306857fe5b6020908102909101810151600160a060020a03168252810191909152604001600020805460ff1916600183600381111561309e57fe5b0217905550600101612fbc565b7f8db78fdb13b2139a1e6cdce5bfb58676ce5246a09d0a33a748d3438767a3cef8838360405180806020018360ff1660ff168152602001828103825284818151815260200191508051906020019060200280838360005b8381101561311a578181015183820152602001613102565b50505050905001935050505060405180910390a1505050565b61313b610c5f565b151561317f576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b601854604080517f48f79607000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a03909216916348f796079160248082019260009290919082900301818387803b158015612c5957600080fd5b600b5490565b60006131f5610c5f565b1515613239576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b50601854604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018490529051849283169163095ea7b39160448083019260209291908290030181600087803b1580156132a957600080fd5b505af11580156132bd573d6000803e3d6000fd5b505050506040513d60208110156123fc57600080fd5b6132db610c5f565b151561331f576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b60008111613365576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020614a20833981519152604482015290519081900360640190fd5b601355565b613372610c5f565b15156133b6576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b601854604080517f1e59c529000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260048201928352855160448301528551931692631e59c5299286928692829160640190602086019080838360005b8381101561343657818101518382015260200161341e565b50505050905090810190601f1680156134635780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561348357600080fd5b505af1158015613497573d6000803e3d6000fd5b505050505050565b600254600160a060020a0316331490565b601754600160a060020a031681565b6134c7610c71565b806134d557506134d5610c5f565b151561352b576040805160e560020a62461bcd02815260206004820152600d60248201527f6f6e6c794d61785341646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b60008111613571576040805160e560020a62461bcd02815260206004820152600b6024820152600080516020614a20833981519152604482015290519081900360640190fd5b601455565b61357e610c5f565b15156135c2576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b60105460ff1615158115151415613611576040805160e560020a62461bcd0281526020600482015260116024820152600080516020614a00833981519152604482015290519081900360640190fd5b6010805460ff191682151517908190556040805160ff90921615158252517fc310316a673d176e866702527c019155ef72d2e8b2f3f3b48cbb4767419aea69916020908290030190a150565b613665612c73565b806136735750613673610c5f565b15156136c9576040805160e560020a62461bcd02815260206004820152600f60248201527f6f6e6c794261636b757041646d696e0000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515613717576040805160e560020a62461bcd02815260206004820152600f60248201526000805160206149c0833981519152604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b600154600160a060020a0316331490565b613752610c5f565b1515613796576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600081116137ee576040805160e560020a62461bcd02815260206004820152600b60248201527f6d757374206265203e2030000000000000000000000000000000000000000000604482015290519081900360640190fd5b601154811415613848576040805160e560020a62461bcd02815260206004820152601160248201527f6d757374206265206e65772076616c7565000000000000000000000000000000604482015290519081900360640190fd5b601155565b600e5481565b61385b610c5f565b151561389f576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600081116138f7576040805160e560020a62461bcd02815260206004820152600b60248201527f6d757374206265203e2030000000000000000000000000000000000000000000604482015290519081900360640190fd5b601254811415613951576040805160e560020a62461bcd02815260206004820152601160248201527f6d757374206265206e65772076616c7565000000000000000000000000000000604482015290519081900360640190fd5b601255565b61395e610c5f565b15156139a2576040805160e560020a62461bcd02815260206004820152600d60248201526000805160206149e0833981519152604482015290519081900360640190fd5b600081116139fa576040805160e560020a62461bcd02815260206004820152601660248201527f6d696e696e6744696666206d757374206265203e203000000000000000000000604482015290519081900360640190fd5b600b54811415613a54576040805160e560020a62461bcd02815260206004820152601c60248201527f6d696e696e6744696666206d757374206265206e65772076616c756500000000604482015290519081900360640190fd5b600b8190556040805182815290517fbdcbd80d633405a54cf241f3585043f618c9b2b25267bbf8144d04c37c5b6aa79181900360200190a150565b600d5481565b613a9d611745565b80613aab5750613aab610c5f565b1515613b01576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c794c41646d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b6010805461ff001916610100179055565b600f5481565b6015546040805160e060020a63f3caad03028152600160a060020a0385811660048301529151919092169163f3caad039160248083019260209291908290030181600087803b158015613b6a57600080fd5b505af1158015613b7e573d6000803e3d6000fd5b505050506040513d6020811015613b9457600080fd5b50511515613bec576040805160e560020a62461bcd02815260206004820152601560248201527f506c656173652072656769737465722066697273740000000000000000000000604482015290519081900360640190fd5b6015546040805160e060020a63f3caad03028152600160a060020a0384811660048301529151919092169163f3caad039160248083019260209291908290030181600087803b158015613c3e57600080fd5b505af1158015613c52573d6000803e3d6000fd5b505050506040513d6020811015613c6857600080fd5b50511515613ce5576040805160e560020a62461bcd028152602060048201526024808201527f596f752063616e206f6e6c792061637469766520616e20657869737473206d6560448201527f6d62657200000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382811690821614613e1057601554604080517fda9c9ba7000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015284811660248301529151919092169163da9c9ba79160448083019260209291908290030181600087803b158015613d6857600080fd5b505af1158015613d7c573d6000803e3d6000fd5b505050506040513d6020811015613d9257600080fd5b50511515613e10576040805160e560020a62461bcd02815260206004820152602560248201527f5468697320757365722069736e277420696e20796f757220726566657272616c60448201527f2074726565000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600f54600010613e90576040805160e560020a62461bcd02815260206004820152602760248201527f496e76616c69642065746850726963652c20706c6561736520636f6e7461637460448201527f2061646d696e2100000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5050565b6000808211613eed576040805160e560020a62461bcd02815260206004820152601260248201527f416d6f756e74206d757374206265203e20300000000000000000000000000000604482015290519081900360640190fd5b600e54821115613f6d576040805160e560020a62461bcd02815260206004820152603660248201527f43616e206e6f74206a6f696e207769746820616d6f756e74207468617420677260448201527f6561746572206d6178206a6f696e207061636b61676500000000000000000000606482015290519081900360840190fd5b601654604080517f9042bb1e000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015291519190921691639042bb1e9160248083019260209291908290030181600087803b158015613fd557600080fd5b505af1158015613fe9573d6000803e3d6000fd5b505050506040513d6020811015613fff57600080fd5b5051905080151561406957600d54821015614064576040805160e560020a62461bcd02815260206004820152601e60248201527f4d696e696d756d20666f72206669727374206a6f696e20697320243230300000604482015290519081900360640190fd5b6140e7565b808210156140e7576040805160e560020a62461bcd02815260206004820152603760248201527f43616e206e6f74206a6f696e207769746820616d6f756e742074686174206c6f60448201527f776572207468616e20796f7572206c617374206a6f696e000000000000000000606482015290519081900360840190fd5b505050565b600060023360009081526008602052604090205460ff16600381111561410e57fe5b1415801561413a575060033360009081526008602052604090205460ff16600381111561413757fe5b14155b90508015156141b9576040805160e560020a62461bcd02815260206004820152602960248201527f596f7572206163636f756e7420676574206c6f636b65642066726f6d206d696e60448201527f696e6720746f6b656e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50565b336000908152600960205260408120805490919081908190819081908190819015156142415760135489111561423c576040805160e560020a62461bcd02815260206004820152601160248201527f416d6f756e7420697320696e76616c6964000000000000000000000000000000604482015290519081900360640190fd5b61439d565b87546000975087965094508593505b848410156142b957878481548110151561426657fe5b90600052602060002090600202019250826000015462015180420310915081156142a75760018301546142a090889063ffffffff6144d516565b96506142ae565b6001909501945b600190930192614250565b6000861115614334575060005b875486900381101561432357878682018154811015156142e257fe5b906000526020600020906002020188828154811015156142fe57fe5b60009182526020909120825460029092020190815560019182015490820155016142c6565b8754869003614332898261497b565b505b601354614347888b63ffffffff6144d516565b111561439d576040805160e560020a62461bcd02815260206004820152601260248201527f546f6f206d75636820666f7220746f6461790000000000000000000000000000604482015290519081900360640190fd5b5050604080518082019091524281526020808201988952875460018181018a556000998a529190982091516002909802909101968755965195909601949094555050505050565b601654604080517fbb1937c0000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301529151600093929092169163bb1937c09160248082019260209290919082900301818787803b15801561444f57600080fd5b505af1158015614463573d6000803e3d6000fd5b505050506040513d602081101561447957600080fd5b50519050818110156140e7576040805160e560020a62461bcd02815260206004820152601b60248201527f596f752068617665206e6f7420656e6f7567682062616c616e63650000000000604482015290519081900360640190fd5b600082820183811015614532576040805160e560020a62461bcd02815260206004820152601260248201527f536166654d61746820616464206572726f720000000000000000000000000000604482015290519081900360640190fd5b9392505050565b6000806012541115156145bc576040805160e560020a62461bcd02815260206004820152602260248201527f496e76616c696420646174612c20706c6561736520636f6e746163742061646d60448201527f696e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b601254828115156145c957fe5b0492915050565b6000806000806000806000600a805490506000141561464857601454881115614643576040805160e560020a62461bcd02815260206004820152601160248201527f416d6f756e7420697320696e76616c6964000000000000000000000000000000604482015290519081900360640190fd5b6147aa565b600a546000975087965094508593505b848410156146c157600a80548590811061466e57fe5b90600052602060002090600202019250826000015462015180420310915081156146af5760018301546146a890889063ffffffff6144d516565b96506146b6565b6001909501945b600190930192614658565b6000861115614741575060005b600a5486900381101561472d57600a80548288019081106146eb57fe5b9060005260206000209060020201600a8281548110151561470857fe5b60009182526020909120825460029092020190815560019182015490820155016146ce565b600a80548790039061473f908261497b565b505b601454614754888a63ffffffff6144d516565b11156147aa576040805160e560020a62461bcd02815260206004820152601260248201527f546f6f206d75636820666f7220746f6461790000000000000000000000000000604482015290519081900360640190fd5b50506040805180820190915242815260208101968752600a805460018101825560009190915290517fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a860029092029182015595517fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a9909601959095555050505050565b600080821215614843578160001902905061172b565b5090565b601654604080517ff1f89e92000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152670de0b6b3a76400008587020460248301819052600060448401819052606484018890529351600a8804959194929091169263f1f89e9292608480830193919282900301818387803b1580156148d657600080fd5b505af11580156148ea573d6000803e3d6000fd5b5050600754604051600160a060020a03909116925084156108fc02915084906000818181858888f19350505050158015614928573d6000803e3d6000fd5b5060408051600160a060020a0380891682528716602082015280820183905290517f2ced4e9f0876fb793bc9670927e9d22151fe5f129df989c2d4946ef5a59a97db9181900360600190a1505050505050565b8154818355818111156140e7576000838152602090206140e791610c6e9160029182028101918502015b8082111561484357600080825560018201556002016149a55600496e76616c6964206164647265737300000000000000000000000000000000006f6e6c794d61696e41646d696e000000000000000000000000000000000000004d757374206265206e65772076616c75650000000000000000000000000000004d757374206265203e2030000000000000000000000000000000000000000000a165627a7a72305820a528f06fb7c65082c5ceb552813bf577f7eb123a9ae9246b70f83af86ea899df0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f760000000000000000000000003839481b915f408cac7aab44b766b8b18b692f76000000000000000000000000000000000000000000000000000000000002ff38
-----Decoded View---------------
Arg [0] : _mainAdmin (address): 0x3839481b915f408cAC7AaB44b766b8B18B692f76
Arg [1] : _ethAdmin (address): 0x3839481b915f408cAC7AaB44b766b8B18B692f76
Arg [2] : _LAdmin (address): 0x3839481b915f408cAC7AaB44b766b8B18B692f76
Arg [3] : _maxSAdmin (address): 0x3839481b915f408cAC7AaB44b766b8B18B692f76
Arg [4] : _backupAdmin (address): 0x3839481b915f408cAC7AaB44b766b8B18B692f76
Arg [5] : _commissionAdmin (address): 0x3839481b915f408cAC7AaB44b766b8B18B692f76
Arg [6] : _ethPrice (uint256): 196408
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000003839481b915f408cac7aab44b766b8b18b692f76
Arg [1] : 0000000000000000000000003839481b915f408cac7aab44b766b8b18b692f76
Arg [2] : 0000000000000000000000003839481b915f408cac7aab44b766b8b18b692f76
Arg [3] : 0000000000000000000000003839481b915f408cac7aab44b766b8b18b692f76
Arg [4] : 0000000000000000000000003839481b915f408cac7aab44b766b8b18b692f76
Arg [5] : 0000000000000000000000003839481b915f408cac7aab44b766b8b18b692f76
Arg [6] : 000000000000000000000000000000000000000000000000000000000002ff38
Deployed Bytecode Sourcemap
8717:15049:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11485:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11485:191:0;-1:-1:-1;;;;;11485:191:0;;;;;14278:286;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14278:286:0;;;;;1755:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1755:93:0;;;;;;;;;;;;;;;;;;;;;;2254;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2254:93:0;;;;9369:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9369:15:0;;;;;;;;;;;;;;;;;;;;2064:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2064:91:0;;;;15726:339;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15726:339:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15726:339:0;;-1:-1:-1;;;15726:339:0;;-1:-1:-1;;;;;15726:339:0;;-1:-1:-1;15726:339:0;;-1:-1:-1;;;15726:339:0;9333:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9333:31:0;;;;9482:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9482:23:0;;;;;;;;-1:-1:-1;;;;;9482:23:0;;;;;;;;;;;;;;9301:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9301:27:0;;;;10917:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10917:114:0;-1:-1:-1;;;;;10917:114:0;;;;;12036:184;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12036:184:0;-1:-1:-1;;;;;12036:184:0;;;;;17356:762;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17356:762:0;;;-1:-1:-1;;;;;17356:762:0;;;;;11682:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11682:166:0;-1:-1:-1;;;;;11682:166:0;;;;;12692:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12692:82:0;;;;15617:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15617:103:0;-1:-1:-1;;;;;15617:103:0;;;;;;;;;;;;;;;;;;;;;;;;9017:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9017:33:0;-1:-1:-1;;;;;9017:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2161:87:0;;;;18124:851;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18124:851:0;;;;;18981:721;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18981:721:0;;;;;9510:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9510:21:0;;;;12403:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12403:201:0;-1:-1:-1;;;;;12403:201:0;;;;;16237:717;;;;-1:-1:-1;;;;;16237:717:0;;;;;13022:248;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13022:248:0;;;;;9440:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9440:35:0;;;;16960:390;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16960:390:0;;;-1:-1:-1;;;;;16960:390:0;;;;;13276:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13276:207:0;;;;;11854:176;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11854:176:0;-1:-1:-1;;;;;11854:176:0;;;;;11037:263;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11037:263:0;;;;;9409:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9409:26:0;;;;10801:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10801:110:0;-1:-1:-1;;;;;10801:110:0;;;;;12226:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12226:171:0;-1:-1:-1;;;;;12226:171:0;;;;;15525:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15525:86:0;;;;15178:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15178:71:0;;;;;9389:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9389:15:0;;;;2353:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2353:97:0;;;;16071:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16071:160:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16071:160:0;-1:-1:-1;;;;;16071:160: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;16071:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16071:160: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;16071:160:0;;;;;;;;;;;;;;;;;;;;;;;;;14570:422;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14570:422:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14570:422:0;;-1:-1:-1;;;14570:422:0;;;;;-1:-1:-1;14570:422:0;;-1:-1:-1;;;14570:422:0;15099:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15099:73:0;;;;;15437:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15437:82:0;;;;15255:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15255:116:0;-1:-1:-1;;;;;15255:116:0;;;;;;;12780:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12780:115:0;;;;;14998:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14998:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14998:95:0;;-1:-1:-1;;;14998:95:0;;-1:-1:-1;;;;;14998:95:0;;-1:-1:-1;14998:95:0;;-1:-1:-1;;;14998:95:0;1961:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1961:97:0;;;;9536:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9536:76:0;;;;12901:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12901:115:0;;;;;13489:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13489:187:0;;;;;;;11306:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11306:173:0;-1:-1:-1;;;;;11306:173:0;;;;;1854:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1854:101:0;;;;13682:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13682:156:0;;;;;9244:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9244:27:0;;;;13844:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13844:156:0;;;;;14006:266;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14006:266:0;;;;;9213:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9213:26:0;;;;12610:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12610:76:0;;;;9276:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9276:20:0;;;;11485:191;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11577:33:0;;;;11569:61;;;;;-1:-1:-1;;;;;11569:61:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11569:61:0;;;;;;;;;;;;;;;11637:13;:33;;-1:-1:-1;;;;;;11637:33:0;-1:-1:-1;;;;;11637:33:0;;;;;;;;;;11485:191::o;14278:286::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;14375:1;14359:17;;14351:52;;;;;-1:-1:-1;;;;;14351:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14435:12;;14418:29;;;14410:72;;;;;-1:-1:-1;;;;;14410:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14489:12;:28;;;14529:29;;;;;;;;;;;;;;;;;14278:286;:::o;1755:93::-;1799:4;1833:9;-1:-1:-1;;;;;1833:9:0;1819:10;:23;1755:93;;:::o;2254:::-;2332:9;;-1:-1:-1;;;;;2332:9:0;2318:10;:23;;2254:93::o;9369:15::-;;;;:::o;2064:91::-;2141:8;;-1:-1:-1;;;;;2141:8:0;2127:10;:22;;2064:91::o;15726:339::-;15809:7;;:27;;;-1:-1:-1;;;;;15809:27:0;;-1:-1:-1;;;;;15809:27:0;;;;;;;;;15941:7;;15809;;;;;:17;;:27;;;;;;;;;;;;;;;15941:7;15809;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;15809:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15809:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15809:27:0;15801:67;;;;;;;-1:-1:-1;;;;;15801:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15883:22:0;;15895:10;15883:22;;15875:59;;;;;-1:-1:-1;;;;;15875:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15951:7;;:49;;;;;15968:10;15951:49;;;;;;-1:-1:-1;;;;;15951:49:0;;;;;;;;;;;;;;;;;;;;;;:7;;;;;:16;;15980:9;;15991:8;;15951:49;;;;;;;;;;;;;:7;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;15951:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15951:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15951:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15951:49:0;16012:47;;;;;;16038:10;16012:47;;;;;;-1:-1:-1;;;;;16012:47:0;;;;;;;15951:49;16012:47;;;;;;;;;;;;;;;;;15951:49;;-1:-1:-1;16012:47:0;;15951:49;;16027:9;;16038:10;;16050:8;;16012:47;;;;;;;;;;;;;;;-1:-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;16012:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15726:339;;;:::o;9333:31::-;;;;;;;;;:::o;9482:23::-;;;-1:-1:-1;;;;;9482:23:0;;:::o;9301:27::-;;;;;;:::o;10917:114::-;1041:17;:15;:17::i;:::-;:34;;;;1062:13;:11;:13::i;:::-;1033:64;;;;;;;-1:-1:-1;;;;;1033:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10989:7;:36;;-1:-1:-1;;;;;;10989:36:0;-1:-1:-1;;;;;10989:36:0;;;;;;;;;;10917:114::o;12036:184::-;1700:15;:13;:15::i;:::-;1692:43;;;;;;;-1:-1:-1;;;;;1692:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12127:31:0;;;;12119:59;;;;;-1:-1:-1;;;;;12119:59:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12119:59:0;;;;;;;;;;;;;;;12185:11;:29;;-1:-1:-1;;;;;;12185:29:0;-1:-1:-1;;;;;12185:29:0;;;;;;;;;;12036:184::o;17356:762::-;17504:16;17668:19;17426:36;17446:10;17458:3;17426:19;:36::i;:::-;17469:28;17484:3;17489:7;17469:14;:28::i;:::-;17534:3;;17524:7;:13;;;;;;;17566:9;;:46;;;;;;17586:10;17566:46;;;;17606:4;17566:46;;;;;;17524:13;;;;17542:8;17523:28;;-1:-1:-1;17523:28:0;;-1:-1:-1;;;;;17566:9:0;;;;:19;;:46;;;;;;;;;;;;;;-1:-1:-1;17566:9:0;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;17566:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17566:46:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17566:46:0;:61;;17558:103;;;;;-1:-1:-1;;;;;17558:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17690:9;;:31;;;-1:-1:-1;;;;;17690:31:0;;17710:10;17690:31;;;;;;-1:-1:-1;;;;;17690:9:0;;;;:19;;:31;;;;;;;;;;;;;;;:9;;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;17690:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17690:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17690:31:0;;-1:-1:-1;17736:29:0;;;;17728:68;;;;;-1:-1:-1;;;;;17728:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17811:9;;:62;;;;;;17834:10;17811:62;;;;17854:4;17811:62;;;;;;;;;;;;-1:-1:-1;;;;;17811:9:0;;;;:22;;:62;;;;;;;;;;;;;;;:9;;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;17811:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17811:62:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17811:62:0;17803:96;;;;;;;-1:-1:-1;;;;;17803:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17914:9;;17933:15;;17914:53;;;;;;-1:-1:-1;;;;;17933:15:0;;;17914:53;;;;17964:2;17950:16;;17914:53;;;;;;:9;;;;;:18;;:53;;;;;;;;;;;;;;-1:-1:-1;17914:9:0;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;17914:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17914:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17914:53:0;17906:96;;;;;;;-1:-1:-1;;;;;17906:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18009:6;;:44;;;;;;-1:-1:-1;;;;;18009:44:0;;;;;;;;;;;;;:6;:44;;;;;;;;;;;;:6;;;;;:14;;:44;;;;;:6;;:44;;;;;;;:6;;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;18009:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;18065:47:0;;;18087:10;18065:47;;-1:-1:-1;;;;;18065:47:0;;;;;;;;;;;;;;;;-1:-1:-1;18065:47:0;;;;;;;-1:-1:-1;18065:47:0;17356:762;;;;:::o;11682:166::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11764:28:0;;;;11756:56;;;;;-1:-1:-1;;;;;11756:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11756:56:0;;;;;;;;;;;;;;;11819:8;:23;;-1:-1:-1;;;;;;11819:23:0;-1:-1:-1;;;;;11819:23:0;;;;;;;;;;11682:166::o;12692:82::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;12749:11;:19;;-1:-1:-1;;12749:19:0;;;12692:82::o;15617:103::-;-1:-1:-1;;;;;15699:14:0;;15672:5;15699:14;;;:3;:14;;;;;;;;15693:21;;;;;;;;15686:28;;15617:103;;;;:::o;9017:33::-;;;;;;;;;;;;;;;:::o;2161:87::-;2236:6;;-1:-1:-1;;;;;2236:6:0;2222:10;:20;;2161:87::o;18124:851::-;18328:15;18650:19;18192:1;18186:3;;:7;18178:54;;;;;;;-1:-1:-1;;;;;18178:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18247:7;;:29;;;-1:-1:-1;;;;;18247:29:0;;18265:10;18247:29;;;;;;-1:-1:-1;;;;;18247:7:0;;;;:17;;:29;;;;;;;;;;;;;;;:7;;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;18247:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18247:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18247:29:0;18239:63;;;;;;;-1:-1:-1;;;;;18239:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18309:12;:10;:12::i;:::-;18362:3;;18370:8;;18347:18;;18346:33;18328:51;;18386:27;18402:10;18386:15;:27::i;:::-;18442:10;;18428:24;;;18420:64;;;;;-1:-1:-1;;;;;18420:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18491:45;18513:10;18525;18491:21;:45::i;:::-;18543:6;;:51;;;;;;;;;;;;18583:10;18543:51;;;;;;-1:-1:-1;;;;;18543:6:0;;;;:27;;:51;;;;;:6;;:51;;;;;;;;:6;;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;18543:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;18603:6:0;;:40;;;;;;18620:10;18603:40;;;;;;;;;;;;-1:-1:-1;;;;;18603:6:0;;;;-1:-1:-1;18603:16:0;;-1:-1:-1;18603:40:0;;;;;:6;;:40;;;;;;;;:6;;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;18603:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;18672:9:0;;:31;;;-1:-1:-1;;;;;18672:31:0;;18692:10;18672:31;;;;;;-1:-1:-1;;;;;18672:9:0;;;;-1:-1:-1;18672:19:0;;-1:-1:-1;18672:31:0;;;;;;;;;;;;;;;:9;;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;18672:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18672:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18672:31:0;18718:9;;:44;;;;;;18737:10;18718:44;;;;;;;;;;;;18672:31;;-1:-1:-1;;;;;;18718:9:0;;;;:18;;:44;;;;;18672:31;;18718:44;;;;;;;;:9;;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;18718:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18718:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18718:44:0;18710:86;;;;;;;-1:-1:-1;;;;;18710:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18846:32;:14;18865:12;18846:32;:18;:32;:::i;:::-;18811:9;;:31;;;-1:-1:-1;;;;;18811:31:0;;18831:10;18811:31;;;;;;-1:-1:-1;;;;;18811:9:0;;;;:19;;:31;;;;;;;;;;;;;;;:9;;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;18811:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18811:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18811:31:0;:67;18803:106;;;;;-1:-1:-1;;;;;18803:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18921:48;;;18932:10;18921:48;;;;;;;;;;;;;;;;;;;;;;;;;18124:851;;;:::o;18981:721::-;19170:16;19036:11;;;19028:46;;;;;-1:-1:-1;;;;;19028:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19089:9;;:31;;;-1:-1:-1;;;;;19089:31:0;;19109:10;19089:31;;;;;;19124:7;;-1:-1:-1;;;;;19089:9:0;;:19;;:31;;;;;;;;;;;;;;:9;;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;19089:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19089:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19089:31:0;:42;;19081:82;;;;;-1:-1:-1;;;;;19081:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19189:32;19213:7;19189:23;:32::i;:::-;19170:51;-1:-1:-1;19244:4:0;19236:21;:36;-1:-1:-1;19236:36:0;19228:85;;;;;-1:-1:-1;;;;;19228:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19320:28;19336:11;19320:15;:28::i;:::-;19363:9;;:46;;;;;;19383:10;19363:46;;;;19403:4;19363:46;;;;;;19413:7;;-1:-1:-1;;;;;19363:9:0;;:19;;:46;;;;;;;;;;;;;;:9;;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;19363:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19363:46:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19363:46:0;:57;;19355:99;;;;;-1:-1:-1;;;;;19355:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19469:9;;:58;;;;;;19492:10;19469:58;;;;19512:4;19469:58;;;;;;;;;;;;-1:-1:-1;;;;;19469:9:0;;;;:22;;:58;;;;;;;;;;;;;;;:9;;:58;;;5:2:-1;;;;30:1;27;20:12;5:2;19469:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19469:58:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19469:58:0;19461:92;;;;;;;-1:-1:-1;;;;;19461:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19560:32;;:10;;:32;;;;;19580:11;;19560:32;;;;19580:11;19560:10;:32;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;19599:6:0;;:39;;;;;;;;;;;;;;-1:-1:-1;;;;;19599:6:0;;;;:26;;:39;;;;;:6;;:39;;;;;;;;:6;;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;19599:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;19650:46:0;;;19663:10;19650:46;;;;;;;;;;;;;;;;;;-1:-1:-1;19650:46:0;;;;;;;-1:-1:-1;19650:46:0;18981:721;;:::o;9510:21::-;;;-1:-1:-1;;;;;9510:21:0;;:::o;12403:201::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12499:35:0;;;;12491:63;;;;;-1:-1:-1;;;;;12491:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12491:63:0;;;;;;;;;;;;;;;12561:15;:37;;-1:-1:-1;;;;;;12561:37:0;-1:-1:-1;;;;;12561:37:0;;;;;;;;;;12403:201::o;16237:717::-;16321:8;;16574:29;;;;;;16321:8;;;:68;;-1:-1:-1;16347:42:0;16333:10;:56;16321:68;16313:106;;;;;;;-1:-1:-1;;;;;16313:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16426:36;16446:10;16458:3;16426:19;:36::i;:::-;16485:1;16477:9;;16469:38;;;;;-1:-1:-1;;;;;16469:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16514:53;16529:3;16557:8;16535:9;:17;;16534:32;16514:14;:53::i;:::-;16658:1;16643:5;16607:27;16622:5;16611:8;;:16;16607:25;:27::i;:::-;16637:3;16607:33;:41;;;;;;;;16606:54;;16574:86;;16753:1;16735:8;;16699:27;16711:8;;16703:5;:16;16699:25;:27::i;:::-;16729:3;16699:33;:44;;;;;;;;16698:57;;16667:88;;16779:24;:51;;;;;16807:23;16779:51;16762:68;;16845:9;16837:55;;;;;;;-1:-1:-1;;;;;16837:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16899:49;16914:10;16926:3;16931:9;16942:5;16899:14;:49::i;:::-;16237:717;;;;;:::o;13022:248::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;13098:1;13089:10;;13081:34;;;;;-1:-1:-1;;;;;13081:34:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13081:34:0;;;;;;;;;;;;;;;13139:5;;13130:14;;13122:42;;;;;-1:-1:-1;;;;;13122:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13189:5;;13179:15;;;13171:45;;;;;-1:-1:-1;;;;;13171:45:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13171:45:0;;;;;;;;;;;;;;;13223:5;:14;;;13249:15;;;;;;;;;;;;;;;;;13022:248;:::o;9440:35::-;;;;:::o;16960:390::-;17031:36;17051:10;17063:3;17031:19;:36::i;:::-;17074:28;17089:3;17094:7;17074:14;:28::i;:::-;17109:42;17131:10;17143:7;17109:21;:42::i;:::-;17158:6;;:40;;;;;;-1:-1:-1;;;;;17158:40:0;;;;;;;;;;;;;17187:1;17158:40;;;;;;;;;;;;:6;;;;;:14;;:40;;;;;:6;;:40;;;;;;;:6;;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;17158:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;17205:6:0;;17268:15;;17205:79;;;;;;17264:2;17254:12;;17205:79;;;;-1:-1:-1;;;;;17268:15:0;;;17205:79;;;;;;:6;;;;;-1:-1:-1;17205:48:0;;-1:-1:-1;17205:79:0;;;;;-1:-1:-1;;17205:79:0;;;;;;;-1:-1:-1;17205:6:0;:79;;;5:2:-1;;;;30:1;27;20:12;5:2;17205:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;17296:48:0;;;17319:10;17296:48;;-1:-1:-1;;;;;17296:48:0;;;;;;;;;;;;;;;;-1:-1:-1;17296:48:0;;;;;;;-1:-1:-1;17296:48:0;16960:390;;:::o;13276:207::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;13352:5;;13343:14;;13335:42;;;;;-1:-1:-1;;;;;13335:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13402:5;;13392:15;;;13384:45;;;;;-1:-1:-1;;;;;13384:45:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13384:45:0;;;;;;;;;;;;;;;13436:5;:14;;;13462:15;;;;;;;;;;;;;;;;;13276:207;:::o;11854:176::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11942:31:0;;;;11934:59;;;;;-1:-1:-1;;;;;11934:59:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11934:59:0;;;;;;;;;;;;;;;12000:6;:24;;-1:-1:-1;;;;;;12000:24:0;-1:-1:-1;;;;;12000:24:0;;;;;;;;;;11854:176::o;11037:263::-;1270:12;:10;:12::i;:::-;:29;;;;1286:13;:11;:13::i;:::-;1262:54;;;;;;;-1:-1:-1;;;;;1262:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11098:12;:10;:12::i;:::-;11094:72;;;11130:11;;;;;;;11129:12;11121:37;;;;;-1:-1:-1;;;;;11121:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11192:1;11180:13;;11172:37;;;;;-1:-1:-1;;;;;11172:37:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11172:37:0;;;;;;;;;;;;;;;11237:8;;11224:21;;;11216:51;;;;;-1:-1:-1;;;;;11216:51:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11216:51:0;;;;;;;;;;;;;;;11274:8;:20;11037:263::o;9409:26::-;;;;:::o;10801:110::-;1041:17;:15;:17::i;:::-;:34;;;;1062:13;:11;:13::i;:::-;1033:64;;;;;;;-1:-1:-1;;;;;1033:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10872:6;:33;;-1:-1:-1;;;;;;10872:33:0;-1:-1:-1;;;;;10872:33:0;;;;;;;;;;10801:110::o;12226:171::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12310:29:0;;;;12302:57;;;;;-1:-1:-1;;;;;12302:57:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12302:57:0;;;;;;;;;;;;;;;12366:9;:25;;-1:-1:-1;;;;;;12366:25:0;-1:-1:-1;;;;;12366:25:0;;;;;;;;;;12226:171::o;15525:86::-;15593:12;;15525:86;:::o;15178:71::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;15227:2;;:16;;;;;;;;;;;;;;-1:-1:-1;;;;;15227:2:0;;;;:12;;:16;;;;;:2;;:16;;;;;;;;:2;;:16;;;5:2:-1;;;;30:1;27;20:12;5:2;15227:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;9389:15:0;;;;:::o;2353:97::-;2433:11;;-1:-1:-1;;;;;2433:11:0;2419:10;:25;;2353:97::o;16071:160::-;16189:7;;:36;;;;;;16214:10;16189:36;;;;;;16110:4;;16116:6;;16110:4;;16116:6;;16110:4;;;;;;;;-1:-1:-1;;;;;16189:7:0;;;;:24;;:36;;;;;16110:4;;16189:36;;;;;;;;16110:4;16189:7;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;16189:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16189:36:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;16189:36: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;16189:36: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;;16189:36: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;0:383;;16189:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16182:43;;;;;;;;;;;;;;;;16071:160;;;;;;;;:::o;14570:422::-;14818:7;1373:10;:8;:10::i;:::-;:27;;;;1387:13;:11;:13::i;:::-;1365:50;;;;;;;-1:-1:-1;;;;;1365:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14647:14;;14664:1;-1:-1:-1;14639:53:0;;;;;-1:-1:-1;;;;;14639:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14707:14;;14725:3;-1:-1:-1;14707:21:0;14699:48;;;;;-1:-1:-1;;;;;14699:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14771:1;14762:5;:10;;;;:24;;;;;14785:1;14776:5;:10;;;;14762:24;14754:52;;;;;;;-1:-1:-1;;;;;14754:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14828:1:0;14813:144;14835:7;:14;14831:1;:18;;;14813:144;;;14873:10;;14887;;14873:7;;:10;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14873:24:0;;;14865:48;;;;;-1:-1:-1;;;;;14865:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14943:5;14940:9;;;;;;;;;;14922:3;:15;14926:7;14934:1;14926:10;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14922:15:0;;;;;;;;;;;-1:-1:-1;14922:15:0;:27;;-1:-1:-1;;14922:27:0;;;;;;;;;;;;;;;-1:-1:-1;14851:3:0;;14813:144;;;14968:18;14971:7;14980:5;14968:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;14968:18:0;;;;;;;;;;;;;;;;;;14570:422;;;:::o;15099:73::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;15148:2;;:18;;;;;;;;;;;;;;-1:-1:-1;;;;;15148:2:0;;;;:14;;:18;;;;;:2;;:18;;;;;;;;:2;;:18;;;5:2:-1;;;;30:1;27;20:12;15437:82:0;15503:10;;15437:82;:::o;15255:116::-;15317:9;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;-1:-1:-1;15358:2:0;;15347:18;;;;;;-1:-1:-1;;;;;15358:2:0;;;15347:18;;;;;;;;;;;;15336:3;;15347:10;;;;;:18;;;;;;;;;;;;;;15358:2;15347:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;15347:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15347:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;12780:115:0;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;12853:1;12845:9;;12837:33;;;;;-1:-1:-1;;;;;12837:33:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12837:33:0;;;;;;;;;;;;;;;12877:4;:12;12780:115::o;14998:95::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;15068:2;;:19;;;;;;-1:-1:-1;;;;;15068:19:0;;;;;;;;;;;;;;;;;;;;;:2;;;:11;;15080:2;;15084;;15068:19;;;;;;;;;;;;:2;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;15068:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15068:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15068:19:0;;;;14998:95;;:::o;1961:97::-;2041:11;;-1:-1:-1;;;;;2041:11:0;2027:10;:25;;1961:97::o;9536:76::-;;;-1:-1:-1;;;;;9536:76:0;;:::o;12901:115::-;1475:13;:11;:13::i;:::-;:30;;;;1492:13;:11;:13::i;:::-;1467:56;;;;;;;-1:-1:-1;;;;;1467:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12974:1;12966:9;;12958:33;;;;;-1:-1:-1;;;;;12958:33:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;12958:33:0;;;;;;;;;;;;;;;12998:4;:12;12901:115::o;13489:187::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;13575:8;;;;13562:21;;;;;;;13554:51;;;;;-1:-1:-1;;;;;13554:51:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13554:51:0;;;;;;;;;;;;;;;13612:8;:20;;-1:-1:-1;;13612:20:0;;;;;;;;;13644:26;;;13612:20;13661:8;;;13644:26;;;;;;;;;;;;;;;13489:187;:::o;11306:173::-;1585:15;:13;:15::i;:::-;:32;;;;1604:13;:11;:13::i;:::-;1577:60;;;;;;;-1:-1:-1;;;;;1577:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11392:29:0;;;;11384:57;;;;;-1:-1:-1;;;;;11384:57:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11384:57:0;;;;;;;;;;;;;;;11448:9;:25;;-1:-1:-1;;;;;;11448:25:0;-1:-1:-1;;;;;11448:25:0;;;;;;;;;;11306:173::o;1854:101::-;1936:13;;-1:-1:-1;;;;;1936:13:0;1922:10;:27;;1854:101::o;13682:156::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;13750:1;13743:8;;13735:32;;;;;-1:-1:-1;;;;;13735:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13790:3;;13782:11;;;13774:41;;;;;-1:-1:-1;;;;;13774:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13822:3;:10;13682:156::o;9244:27::-;;;;:::o;13844:156::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;13912:1;13905:8;;13897:32;;;;;-1:-1:-1;;;;;13897:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13952:3;;13944:11;;;13936:41;;;;;-1:-1:-1;;;;;13936:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13984:3;:10;13844:156::o;14006:266::-;946:13;:11;:13::i;:::-;938:39;;;;;;;-1:-1:-1;;;;;938:39:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;938:39:0;;;;;;;;;;;;;;;14097:1;14083:15;;14075:50;;;;;-1:-1:-1;;;;;14075:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14155:10;;14140:25;;;14132:66;;;;;-1:-1:-1;;;;;14132:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14205:10;:24;;;14241:25;;;;;;;;;;;;;;;;;14006:266;:::o;9213:26::-;;;;:::o;12610:76::-;1373:10;:8;:10::i;:::-;:27;;;;1387:13;:11;:13::i;:::-;1365:50;;;;;;;-1:-1:-1;;;;;1365:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12662:11;:18;;-1:-1:-1;;12662:18:0;;;;;12610:76::o;9276:20::-;;;;:::o;20817:436::-;20902:7;;:24;;;-1:-1:-1;;;;;20902:24:0;;-1:-1:-1;;;;;20902:24:0;;;;;;;;;:7;;;;;:17;;:24;;;;;;;;;;;;;;:7;;:24;;;5:2:-1;;;;30:1;27;20:12;5:2;20902:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20902:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20902:24:0;20894:58;;;;;;;-1:-1:-1;;;;;20894:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20967:7;;:22;;;-1:-1:-1;;;;;20967:22:0;;-1:-1:-1;;;;;20967:22:0;;;;;;;;;:7;;;;;:17;;:22;;;;;;;;;;;;;;:7;;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;20967:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20967:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20967:22:0;20959:71;;;;;;;-1:-1:-1;;;;;20959:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21041:12:0;;;;;;;21037:140;;21072:7;;:55;;;;;;-1:-1:-1;;;;;21072:55:0;;;;;;;;;;;;;;;;:7;;;;;:43;;:55;;;;;;;;;;;;;;:7;;:55;;;5:2:-1;;;;30:1;27;20:12;5:2;21072:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21072:55:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21072:55:0;21064:105;;;;;;;-1:-1:-1;;;;;21064:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21191:8;;21202:1;-1:-1:-1;21183:64:0;;;;;-1:-1:-1;;;;;21183:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20817:436;;:::o;20301:510::-;20531:12;20388:17;;;20380:48;;;;;-1:-1:-1;;;;;20380:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20460:5;;20443:22;;;20435:89;;;;;-1:-1:-1;;;;;20435:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20546:6;;:38;;;;;;-1:-1:-1;;;;;20546:38:0;;;;;;;;;:6;;;;;:31;;:38;;;;;;;;;;;;;;:6;;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;20546:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20546:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20546:38:0;;-1:-1:-1;20595:12:0;;20591:215;;;20643:5;;20626:22;;;20618:65;;;;;-1:-1:-1;;;;;20618:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20591:215;;;20714:24;;;;20706:92;;;;;-1:-1:-1;;;;;20706:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20301:510;;;:::o;21259:187::-;21301:12;21335:7;21320:10;21316:15;;;;:3;:15;;;;;;;;:26;;;;;;;;;;:56;;;;-1:-1:-1;21365:7:0;21350:10;21346:15;;;;:3;:15;;;;;;;;:26;;;;;;;;;;21316:56;21301:71;;21387:7;21379:61;;;;;;;-1:-1:-1;;;;;21379:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21259:187;:::o;21452:1082::-;21549:10;21510:27;21540:20;;;:8;:20;;;;;21571:15;;21540:20;;21510:27;;;;;;;;;;;;;21571:20;21567:914;;;21625:4;;21610:19;;;21602:49;;;;;-1:-1:-1;;;;;21602:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21567:914;;;21769:15;;21700:1;;-1:-1:-1;21700:1:0;;-1:-1:-1;21769:15:0;-1:-1:-1;21700:1:0;;-1:-1:-1;21793:324:0;21814:6;21810:1;:10;21793:324;;;21865:8;21874:1;21865:11;;;;;;;;;;;;;;;;;;;;21838:38;;21923:7;:12;;;21914:6;21908:3;:12;:27;21887:48;;21949:13;21946:162;;;22021:14;;;;21998:38;;:18;;:38;:22;:38;:::i;:::-;21977:59;;21946:162;;;22067:29;;;;;21946:162;21822:3;;;;;21793:324;;;22159:1;22129:27;:31;22125:266;;;-1:-1:-1;22187:1:0;22173:152;22194:15;;:45;;;22190:49;;22173:152;;;22272:8;22285:27;22281:1;:31;22272:41;;;;;;;;;;;;;;;;;;;;22258:8;22267:1;22258:11;;;;;;;;;;;;;;;;;;:55;;:11;;;;;:55;;;;;;;;;;;;22241:3;22173:152;;;22335:46;;;;;;:8;:46;;:::i;:::-;;22125:266;22446:4;;22407:35;:18;22430:11;22407:35;:22;:35;:::i;:::-;:43;;22399:74;;;;;-1:-1:-1;;;;;22399:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22501:26:0;;;;;;;;;22510:3;22501:26;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;-1:-1;22487:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21452:1082:0:o;23555:208::-;23656:6;;:30;;;;;;-1:-1:-1;;;;;23656:30:0;;;;;;;;;23635:18;;23656:6;;;;;:23;;:30;;;;;;;;;;;;;;;23635:18;23656:6;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;23656:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23656:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23656:30:0;;-1:-1:-1;23701:24:0;;;;23693:64;;;;;-1:-1:-1;;;;;23693:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7928:158;7986:7;8014:5;;;8034:6;;;;8026:37;;;;;-1:-1:-1;;;;;8026:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8079:1;7928:158;-1:-1:-1;;;7928:158:0:o;19734:169::-;19803:4;19830:1;19824:3;;:7;19816:54;;;;;;;-1:-1:-1;;;;;19816:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19894:3;;19884:7;:13;;;;;;;;;19734:169;-1:-1:-1;;19734:169:0:o;22540:1009::-;22697:23;22733:32;22778:11;22821:6;22861:24;22910:18;23201:6;22598:8;:15;;;;22617:1;22598:20;22594:906;;;22648:4;;22637:15;;;22629:45;;;;;-1:-1:-1;;;;;22629:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;22594:906;;;22792:8;:15;22723:1;;-1:-1:-1;22723:1:0;;-1:-1:-1;22792:15:0;-1:-1:-1;22723:1:0;;-1:-1:-1;22816:324:0;22837:6;22833:1;:10;22816:324;;;22888:8;:11;;22897:1;;22888:11;;;;;;;;;;;;;;;;22861:38;;22946:7;:12;;;22937:6;22931:3;:12;:27;22910:48;;22972:13;22969:162;;;23044:14;;;;23021:38;;:18;;:38;:22;:38;:::i;:::-;23000:59;;22969:162;;;23090:29;;;;;22969:162;22845:3;;;;;22816:324;;;23182:1;23152:27;:31;23148:266;;;-1:-1:-1;23210:1:0;23196:152;23217:8;:15;:45;;;23213:49;;23196:152;;;23295:8;:41;;23304:31;;;;23295:41;;;;;;;;;;;;;;;;23281:8;23290:1;23281:11;;;;;;;;;;;;;;;;;;:55;;:11;;;;;:55;;;;;;;;;;;;23264:3;23196:152;;;23358:8;:46;;;;;;;;;;:::i;:::-;;23148:266;23465:4;;23430:31;:18;23453:7;23430:31;:22;:31;:::i;:::-;:39;;23422:70;;;;;-1:-1:-1;;;;;23422:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23520:22:0;;;;;;;;;23529:3;23520:22;;;;;;;;23506:8;27:10:-1;;39:1;23:18;;45:23;;-1:-1;23506:37:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22540:1009:0:o;2475:149::-;2523:4;2549:1;2540:6;:10;2536:57;;;2573:6;-1:-1:-1;;2573:11:0;2561:24;;;;2536:57;-1:-1:-1;2611:6:0;2475:149::o;19909:386::-;20129:6;;:55;;;;;;-1:-1:-1;;;;;20129:55:0;;;;;;;20113:8;20083:25;;;20082:40;20129:55;;;;;;20012:18;20129:55;;;;;;;;;;;;;;20053:2;20033:22;;;20082:40;;20129:6;;;;;:14;;:55;;;;;20012:18;;20129:55;;;;;20012:18;20129:6;:55;;;5:2:-1;;;;30:1;27;20:12;5:2;20129:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;20191:15:0;;:39;;-1:-1:-1;;;;;20191:15:0;;;;-1:-1:-1;20191:39:0;;;;;-1:-1:-1;20216:13:0;;20191:15;:39;:15;:39;20216:13;20191:15;:39;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;20242:47:0;;;-1:-1:-1;;;;;20242:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19909:386;;;;;;:::o;8717:15049::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://a528f06fb7c65082c5ceb552813bf577f7eb123a9ae9246b70f83af86ea899df
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $2,310.83 | 0.00242198 | $5.6 |
Loading...
Loading
[ Download: CSV Export ]
[ 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.