ETH Price: $3,096.59 (+1.19%)
Gas: 8 Gwei

Contract

0x9A8fd979f655F8E41D086B596F14BcA16F53ad15
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Reinvest190105762024-01-15 6:44:23177 days ago1705301063IN
0x9A8fd979...16F53ad15
0 ETH0.0014246319.7692303
Reinvest175373262023-06-22 19:46:23383 days ago1687463183IN
0x9A8fd979...16F53ad15
0 ETH0.0011922516.54466379
Withdraw173137292023-05-22 8:44:47415 days ago1684745087IN
0x9A8fd979...16F53ad15
0 ETH0.0033660334.5755313
Sell165084982023-01-28 23:07:35528 days ago1674947255IN
0x9A8fd979...16F53ad15
0 ETH0.0014101713
Reinvest164550172023-01-21 11:56:47536 days ago1674302207IN
0x9A8fd979...16F53ad15
0 ETH0.0012078616.76127224
Reinvest164406922023-01-19 11:56:23538 days ago1674129383IN
0x9A8fd979...16F53ad15
0 ETH0.0011310815.6957253
Reinvest163208912023-01-02 18:30:47555 days ago1672684247IN
0x9A8fd979...16F53ad15
0 ETH0.0021347729.62372129
Sell162565672022-12-24 19:04:35563 days ago1671908675IN
0x9A8fd979...16F53ad15
0 ETH0.0014607613.46641969
Withdraw162565652022-12-24 19:04:11563 days ago1671908651IN
0x9A8fd979...16F53ad15
0 ETH0.0014516512.68344699
Reinvest159300982022-11-09 4:30:11609 days ago1667968211IN
0x9A8fd979...16F53ad15
0 ETH0.0015920522.09250423
Reinvest159000662022-11-04 23:54:11613 days ago1667606051IN
0x9A8fd979...16F53ad15
0 ETH0.000982513.63394594
Withdraw158866412022-11-03 2:54:59615 days ago1667444099IN
0x9A8fd979...16F53ad15
0 ETH0.0016234416.67585173
Sell158866152022-11-03 2:49:35615 days ago1667443775IN
0x9A8fd979...16F53ad15
0 ETH0.0016950415.6261221
Withdraw158677272022-10-31 11:24:59618 days ago1667215499IN
0x9A8fd979...16F53ad15
0 ETH0.0040003834.95217454
Reinvest158444272022-10-28 5:20:23621 days ago1666934423IN
0x9A8fd979...16F53ad15
0 ETH0.0008902312.35352361
Reinvest158370682022-10-27 4:37:35622 days ago1666845455IN
0x9A8fd979...16F53ad15
0 ETH0.0007467510.36248011
Withdraw158335112022-10-26 16:41:59623 days ago1666802519IN
0x9A8fd979...16F53ad15
0 ETH0.0024504225.17053575
Reinvest158304012022-10-26 6:17:23623 days ago1666765043IN
0x9A8fd979...16F53ad15
0 ETH0.000895612.42801795
Transfer158172122022-10-24 9:56:47625 days ago1666605407IN
0x9A8fd979...16F53ad15
0 ETH0.0005088811.90567291
Transfer158171252022-10-24 9:39:23625 days ago1666604363IN
0x9A8fd979...16F53ad15
0 ETH0.0004429910.36422252
Transfer158166192022-10-24 7:57:59625 days ago1666598279IN
0x9A8fd979...16F53ad15
0 ETH0.0010956414.24196202
Withdraw157419162022-10-13 21:37:23635 days ago1665697043IN
0x9A8fd979...16F53ad15
0 ETH0.0021787419.03613066
Reinvest156922552022-10-06 23:10:35642 days ago1665097835IN
0x9A8fd979...16F53ad15
0 ETH0.000398835.55348626
Reinvest156618862022-10-02 17:13:35647 days ago1664730815IN
0x9A8fd979...16F53ad15
0 ETH0.000671299.34730018
Reinvest155339962022-09-14 16:38:21665 days ago1663173501IN
0x9A8fd979...16F53ad15
0 ETH0.001479520.60110526
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
cKRILL

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-11-30
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;

interface Callable {
	function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool);
}

interface KRILL {
	function balanceOf(address) external view returns (uint256);
	function transfer(address, uint256) external returns (bool);
	function transferFrom(address, address, uint256) external returns (bool);
}

contract cKRILL {

	uint256 constant private FLOAT_SCALAR = 2**64;
	uint256 constant private BUY_TAX = 10;
	uint256 constant private SELL_TAX = 10;
	uint256 constant private STARTING_PRICE = 1e18;
	uint256 constant private INCREMENT = 1e13;

	string constant public name = "Krill Compounder";
	string constant public symbol = "cKRILL";
	uint8 constant public decimals = 18;

	struct User {
		uint256 balance;
		mapping(address => uint256) allowance;
		int256 scaledPayout;
	}

	struct Info {
		uint256 totalSupply;
		mapping(address => User) users;
		uint256 scaledKrillPerToken;
		uint256 openingTime;
		KRILL krill;
	}
	Info private info;


	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);
	event Buy(address indexed buyer, uint256 amountSpent, uint256 tokensReceived);
	event Sell(address indexed seller, uint256 tokensSpent, uint256 amountReceived);
	event Withdraw(address indexed user, uint256 amount);
	event Reinvest(address indexed user, uint256 amount);


	constructor(KRILL _krill, uint256 _openingTime) {
		info.krill = _krill;
		info.openingTime = _openingTime;
	}

	function disburse(uint256 _amount) external {
		require(_amount > 0);
		uint256 _balanceBefore = info.krill.balanceOf(address(this));
		info.krill.transferFrom(msg.sender, address(this), _amount);
		uint256 _amountReceived = info.krill.balanceOf(address(this)) - _balanceBefore;
		info.scaledKrillPerToken += _amountReceived * FLOAT_SCALAR / info.totalSupply;
	}

	function buy(uint256 _amount) external returns (uint256) {
		return buyFor(_amount, msg.sender);
	}

	function buyFor(uint256 _amount, address _user) public returns (uint256) {
		require(_amount > 0);
		uint256 _balanceBefore = info.krill.balanceOf(address(this));
		info.krill.transferFrom(msg.sender, address(this), _amount);
		uint256 _amountReceived = info.krill.balanceOf(address(this)) - _balanceBefore;
		return _buy(_amountReceived, _user);
	}

	function tokenCallback(address _from, uint256 _tokens, bytes calldata) external returns (bool) {
		require(msg.sender == address(info.krill));
		require(_tokens > 0);
		_buy(_tokens, _from);
		return true;
	}

	function sell(uint256 _tokens) external returns (uint256) {
		require(balanceOf(msg.sender) >= _tokens);
		return _sell(_tokens);
	}

	function withdraw() external returns (uint256) {
		uint256 _dividends = dividendsOf(msg.sender);
		require(_dividends > 0);
		info.users[msg.sender].scaledPayout += int256(_dividends * FLOAT_SCALAR);
		info.krill.transfer(msg.sender, _dividends);
		emit Withdraw(msg.sender, _dividends);
		return _dividends;
	}

	function reinvest() external returns (uint256) {
		uint256 _dividends = dividendsOf(msg.sender);
		require(_dividends > 0);
		info.users[msg.sender].scaledPayout += int256(_dividends * FLOAT_SCALAR);
		emit Reinvest(msg.sender, _dividends);
		return _buy(_dividends, msg.sender);
	}

	function transfer(address _to, uint256 _tokens) external returns (bool) {
		return _transfer(msg.sender, _to, _tokens);
	}

	function approve(address _spender, uint256 _tokens) external returns (bool) {
		info.users[msg.sender].allowance[_spender] = _tokens;
		emit Approval(msg.sender, _spender, _tokens);
		return true;
	}

	function transferFrom(address _from, address _to, uint256 _tokens) external returns (bool) {
		require(info.users[_from].allowance[msg.sender] >= _tokens);
		info.users[_from].allowance[msg.sender] -= _tokens;
		return _transfer(_from, _to, _tokens);
	}

	function transferAndCall(address _to, uint256 _tokens, bytes calldata _data) external returns (bool) {
		_transfer(msg.sender, _to, _tokens);
		uint32 _size;
		assembly {
			_size := extcodesize(_to)
		}
		if (_size > 0) {
			require(Callable(_to).tokenCallback(msg.sender, _tokens, _data));
		}
		return true;
	}


	function totalSupply() public view returns (uint256) {
		return info.totalSupply;
	}

	function currentPrices() public view returns (uint256 truePrice, uint256 buyPrice, uint256 sellPrice) {
		truePrice = STARTING_PRICE + INCREMENT * totalSupply() / 1e18;
		buyPrice = truePrice * 100 / (100 - BUY_TAX);
		sellPrice = truePrice * (100 - SELL_TAX) / 100;
	}

	function balanceOf(address _user) public view returns (uint256) {
		return info.users[_user].balance;
	}

	function dividendsOf(address _user) public view returns (uint256) {
		return uint256(int256(info.scaledKrillPerToken * balanceOf(_user)) - info.users[_user].scaledPayout) / FLOAT_SCALAR;
	}

	function allInfoFor(address _user) external view returns (uint256 contractBalance, uint256 totalTokenSupply, uint256 truePrice, uint256 buyPrice, uint256 sellPrice, uint256 openingTime, uint256 userETH, uint256 userKRILL, uint256 userBalance, uint256 userDividends, uint256 userLiquidValue) {
		contractBalance = info.krill.balanceOf(address(this));
		totalTokenSupply = totalSupply();
		(truePrice, buyPrice, sellPrice) = currentPrices();
		openingTime = info.openingTime;
		userETH = _user.balance;
		userKRILL = info.krill.balanceOf(_user);
		userBalance = balanceOf(_user);
		userDividends = dividendsOf(_user);
		userLiquidValue = calculateResult(userBalance, false, false) + userDividends;
	}

	function allowance(address _user, address _spender) external view returns (uint256) {
		return info.users[_user].allowance[_spender];
	}

	function calculateResult(uint256 _amount, bool _isBuy, bool _inverse) public view returns (uint256) {
		uint256 _buyPrice;
		uint256 _sellPrice;
		( , _buyPrice, _sellPrice) = currentPrices();
		uint256 _rate = (_isBuy ? _buyPrice : _sellPrice);
		uint256 _increment = INCREMENT * (_isBuy ? 100 : (100 - SELL_TAX)) / (_isBuy ? (100 - BUY_TAX) : 100);
		if ((_isBuy && !_inverse) || (!_isBuy && _inverse)) {
			if (_inverse) {
				return (2 * _rate - _sqrt(4 * _rate * _rate + _increment * _increment - 4 * _rate * _increment - 8 * _amount * _increment) - _increment) * 1e18 / (2 * _increment);
			} else {
				return (_sqrt((_increment + 2 * _rate) * (_increment + 2 * _rate) + 8 * _amount * _increment) - _increment - 2 * _rate) * 1e18 / (2 * _increment);
			}
		} else {
			if (_inverse) {
				return (_rate * _amount + (_increment * (_amount + 1e18) / 2e18) * _amount) / 1e18;
			} else {
				return (_rate * _amount - (_increment * (_amount + 1e18) / 2e18) * _amount) / 1e18;
			}
		}
	}


	function _transfer(address _from, address _to, uint256 _tokens) internal returns (bool) {
		require(info.users[_from].balance >= _tokens);
		info.users[_from].balance -= _tokens;
		info.users[_from].scaledPayout -= int256(_tokens * info.scaledKrillPerToken);
		info.users[_to].balance += _tokens;
		info.users[_to].scaledPayout += int256(_tokens * info.scaledKrillPerToken);
		emit Transfer(_from, _to, _tokens);
		return true;
	}

	function _buy(uint256 _amount, address _user) internal returns (uint256 tokens) {
		require(block.timestamp >= info.openingTime);
		uint256 _tax = _amount * BUY_TAX / 100;
		tokens = calculateResult(_amount, true, false);
		info.totalSupply += tokens;
		info.users[_user].balance += tokens;
		info.users[_user].scaledPayout += int256(tokens * info.scaledKrillPerToken);
		info.scaledKrillPerToken += _tax * FLOAT_SCALAR / info.totalSupply;
		emit Transfer(address(0x0), _user, tokens);
		emit Buy(_user, _amount, tokens);
	}

	function _sell(uint256 _tokens) internal returns (uint256 amount) {
		require(info.users[msg.sender].balance >= _tokens);
		amount = calculateResult(_tokens, false, false);
		uint256 _tax = amount * SELL_TAX / (100 - SELL_TAX);
		info.totalSupply -= _tokens;
		info.users[msg.sender].balance -= _tokens;
		info.users[msg.sender].scaledPayout -= int256(_tokens * info.scaledKrillPerToken);
		info.scaledKrillPerToken += _tax * FLOAT_SCALAR / info.totalSupply;
		info.krill.transfer(msg.sender, amount);
		emit Transfer(msg.sender, address(0x0), _tokens);
		emit Sell(msg.sender, _tokens, amount);
	}

	function _sqrt(uint256 _n) internal pure returns (uint256 result) {
		uint256 _tmp = (_n + 1) / 2;
		result = _n;
		while (_tmp < result) {
			result = _tmp;
			_tmp = (_n / _tmp + _tmp) / 2;
		}
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract KRILL","name":"_krill","type":"address"},{"internalType":"uint256","name":"_openingTime","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountSpent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensReceived","type":"uint256"}],"name":"Buy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Reinvest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensSpent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountReceived","type":"uint256"}],"name":"Sell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"internalType":"uint256","name":"contractBalance","type":"uint256"},{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"},{"internalType":"uint256","name":"truePrice","type":"uint256"},{"internalType":"uint256","name":"buyPrice","type":"uint256"},{"internalType":"uint256","name":"sellPrice","type":"uint256"},{"internalType":"uint256","name":"openingTime","type":"uint256"},{"internalType":"uint256","name":"userETH","type":"uint256"},{"internalType":"uint256","name":"userKRILL","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"userDividends","type":"uint256"},{"internalType":"uint256","name":"userLiquidValue","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_user","type":"address"}],"name":"buyFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_isBuy","type":"bool"},{"internalType":"bool","name":"_inverse","type":"bool"}],"name":"calculateResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentPrices","outputs":[{"internalType":"uint256","name":"truePrice","type":"uint256"},{"internalType":"uint256","name":"buyPrice","type":"uint256"},{"internalType":"uint256","name":"sellPrice","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"disburse","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reinvest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"tokenCallback","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161192038038061192083398101604081905261002f91610058565b600480546001600160a01b0319166001600160a01b039390931692909217909155600355610092565b6000806040838503121561006b57600080fd5b82516001600160a01b038116811461008257600080fd5b6020939093015192949293505050565b61187f806100a16000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806357f6b812116100b8578063a9059cbb1161007c578063a9059cbb14610320578063bd77ac2c14610333578063d96a094a14610348578063dd62ed3e1461035b578063e4849b3214610395578063fdb5a03e146103a857600080fd5b806357f6b812146102465780636be32e73146102ac57806370a08231146102bf57806395d89b41146102e8578063a3a8573a1461030d57600080fd5b8063259bfdd7116100ff578063259bfdd7146101db578063313ce567146101fe5780633472956c146102185780633ccfd60b1461022b5780634000aea01461023357600080fd5b806265318b1461013b57806306fdde0314610161578063095ea7b31461019d57806318160ddd146101c057806323b872dd146101c8575b600080fd5b61014e6101493660046114a6565b6103b0565b6040519081526020015b60405180910390f35b6101906040518060400160405280601081526020016f25b934b6361021b7b6b837bab73232b960811b81525081565b60405161015891906114c1565b6101b06101ab366004611516565b6103fd565b6040519015158152602001610158565b60005461014e565b6101b06101d6366004611540565b610462565b6101e36104e4565b60408051938452602084019290925290820152606001610158565b610206601281565b60405160ff9091168152602001610158565b61014e61022636600461158d565b610574565b61014e6107e5565b6101b06102413660046115cf565b6108e6565b6102596102543660046114a6565b61098c565b604080519b8c5260208c019a909a52988a01979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015261014082015261016001610158565b6101b06102ba3660046115cf565b610b32565b61014e6102cd3660046114a6565b6001600160a01b031660009081526001602052604090205490565b6101906040518060400160405280600681526020016518d2d492531360d21b81525081565b61014e61031b366004611656565b610b63565b6101b061032e366004611516565b610cf6565b610346610341366004611682565b610d03565b005b61014e610356366004611682565b610eba565b61014e61036936600461169b565b6001600160a01b0391821660009081526001602081815260408084209490951683529201909152205490565b61014e6103a3366004611682565b610ec6565b61014e610eeb565b6001600160a01b038116600090815260016020526040812060028101549054600160401b91906002546103e391906116db565b6103ed91906116fa565b6103f79190611739565b92915050565b3360008181526001602081815260408084206001600160a01b0388168086529301825280842086905551858152929391927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350600192915050565b6001600160a01b0383166000908152600160208181526040808420338552909201905281205482111561049457600080fd5b6001600160a01b03841660009081526001602081815260408084203385529092019052812080548492906104c990849061175b565b909155506104da9050848484610f80565b90505b9392505050565b6000806000670de0b6b3a76400006104fb60005490565b61050b906509184e72a0006116db565b6105159190611739565b61052790670de0b6b3a7640000611772565b9250610535600a606461175b565b6105408460646116db565b61054a9190611739565b91506064610559600a8261175b565b61056390856116db565b61056d9190611739565b9050909192565b60008060006105816104e4565b909350915060009050856105955781610597565b825b90506000866105a75760646105b3565b6105b3600a606461175b565b876105c9576105c4600a606461175b565b6105cc565b60645b6105dc906509184e72a0006116db565b6105e69190611739565b90508680156105f3575085155b806106045750861580156106045750855b156107415785156106d35761061a8160026116db565b8161068d8161062a8c60086116db565b61063491906116db565b846106408760046116db565b61064a91906116db565b61065486806116db565b876106608160046116db565b61066a91906116db565b6106749190611772565b61067e919061175b565b610688919061175b565b6110d2565b6106988560026116db565b6106a2919061175b565b6106ac919061175b565b6106be90670de0b6b3a76400006116db565b6106c89190611739565b9450505050506104dd565b6106de8160026116db565b6106e98360026116db565b82610698816106f98d60086116db565b61070391906116db565b61070e8760026116db565b6107189087611772565b6107238860026116db565b61072d9088611772565b61073791906116db565b6106889190611772565b851561079657670de0b6b3a764000088671bc16d674ec800006107648284611772565b61076e90856116db565b6107789190611739565b61078291906116db565b61078c8a856116db565b6106be9190611772565b670de0b6b3a764000088671bc16d674ec800006107b38284611772565b6107bd90856116db565b6107c79190611739565b6107d191906116db565b6107db8a856116db565b6106be919061175b565b6000806107f1336103b0565b90506000811161080057600080fd5b61080e600160401b826116db565b336000908152600160205260408120600201805490919061083090849061178a565b90915550506004805460405163a9059cbb60e01b81523392810192909252602482018390526001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab91906117cb565b5060405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2919050565b60006108f3338686610f80565b50843b63ffffffff81161561098057604051636be32e7360e01b81526001600160a01b03871690636be32e73906109349033908990899089906004016117e8565b6020604051808303816000875af1158015610953573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097791906117cb565b61098057600080fd5b50600195945050505050565b600480546040516370a0823160e01b8152309281019290925260009182918291829182918291829182918291829182916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156109ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a129190611830565b9a50610a1d60005490565b9950610a276104e4565b809950819a50829b5050505060006003015495508b6001600160a01b0316319450600060040160009054906101000a90046001600160a01b03166001600160a01b03166370a082318d6040518263ffffffff1660e01b8152600401610a9b91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610ab8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adc9190611830565b9350610afd8c6001600160a01b031660009081526001602052604090205490565b9250610b088c6103b0565b915081610b1784600080610574565b610b219190611772565b905091939597999b90929496989a50565b6004546000906001600160a01b03163314610b4c57600080fd5b60008411610b5957600080fd5b610980848661112b565b6000808311610b7157600080fd5b600480546040516370a0823160e01b815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be39190611830565b600480546040516323b872dd60e01b81523392810192909252306024830152604482018790529192506001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610c40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6491906117cb565b50600480546040516370a0823160e01b8152309281019290925260009183916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd79190611830565b610ce1919061175b565b9050610ced818561112b565b95945050505050565b60006104dd338484610f80565b60008111610d1057600080fd5b600480546040516370a0823160e01b815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d829190611830565b600480546040516323b872dd60e01b81523392810192909252306024830152604482018590529192506001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0391906117cb565b50600480546040516370a0823160e01b8152309281019290925260009183916001600160a01b0316906370a0823190602401602060405180830381865afa158015610e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e769190611830565b610e80919061175b565b600054909150610e94600160401b836116db565b610e9e9190611739565b60028054600090610eb0908490611772565b9091555050505050565b60006103f78233610b63565b33600090815260016020526040812054821115610ee257600080fd5b6103f7826112a8565b600080610ef7336103b0565b905060008111610f0657600080fd5b610f14600160401b826116db565b3360009081526001602052604081206002018054909190610f3690849061178a565b909155505060405181815233907fbd654390d0d973e8c8376ed6053be8658870df892687852cc5c914d700291b879060200160405180910390a2610f7a813361112b565b91505090565b6001600160a01b038316600090815260016020526040812054821115610fa557600080fd5b6001600160a01b03841660009081526001602052604081208054849290610fcd90849061175b565b9091555050600254610fdf90836116db565b6001600160a01b0385166000908152600160205260408120600201805490919061100a9084906116fa565b90915550506001600160a01b03831660009081526001602052604081208054849290611037908490611772565b909155505060025461104990836116db565b6001600160a01b0384166000908152600160205260408120600201805490919061107490849061178a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110c091815260200190565b60405180910390a35060019392505050565b60008060026110e2846001611772565b6110ec9190611739565b90508291505b818110156111255790508060028161110a8186611739565b6111149190611772565b61111e9190611739565b90506110f2565b50919050565b60035460009042101561113d57600080fd5b6000606461114c600a866116db565b6111569190611739565b90506111658460016000610574565b91508160008001600082825461117b9190611772565b90915550506001600160a01b038316600090815260016020526040812080548492906111a8908490611772565b90915550506002546111ba90836116db565b6001600160a01b038416600090815260016020526040812060020180549091906111e590849061178a565b90915550506000546111fb600160401b836116db565b6112059190611739565b60028054600090611217908490611772565b90915550506040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360408051858152602081018490526001600160a01b038516917f1cbc5ab135991bd2b6a4b034a04aa2aa086dac1371cb9b16b8b5e2ed6b036bed910160405180910390a25092915050565b336000908152600160205260408120548211156112c457600080fd5b6112d082600080610574565b905060006112e0600a606461175b565b6112eb600a846116db565b6112f59190611739565b90508260008001600082825461130b919061175b565b9091555050336000908152600160205260408120805485929061132f90849061175b565b909155505060025461134190846116db565b33600090815260016020526040812060020180549091906113639084906116fa565b9091555050600054611379600160401b836116db565b6113839190611739565b60028054600090611395908490611772565b90915550506004805460405163a9059cbb60e01b81523392810192909252602482018490526001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141091906117cb565b5060405183815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3604080518481526020810184905233917fed7a144fad14804d5c249145e3e0e2b63a9eb455b76aee5bc92d711e9bba3e4a910160405180910390a250919050565b80356001600160a01b03811681146114a157600080fd5b919050565b6000602082840312156114b857600080fd5b6104dd8261148a565b600060208083528351808285015260005b818110156114ee578581018301518582016040015282016114d2565b81811115611500576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561152957600080fd5b6115328361148a565b946020939093013593505050565b60008060006060848603121561155557600080fd5b61155e8461148a565b925061156c6020850161148a565b9150604084013590509250925092565b801515811461158a57600080fd5b50565b6000806000606084860312156115a257600080fd5b8335925060208401356115b48161157c565b915060408401356115c48161157c565b809150509250925092565b600080600080606085870312156115e557600080fd5b6115ee8561148a565b935060208501359250604085013567ffffffffffffffff8082111561161257600080fd5b818701915087601f83011261162657600080fd5b81358181111561163557600080fd5b88602082850101111561164757600080fd5b95989497505060200194505050565b6000806040838503121561166957600080fd5b823591506116796020840161148a565b90509250929050565b60006020828403121561169457600080fd5b5035919050565b600080604083850312156116ae57600080fd5b6116b78361148a565b91506116796020840161148a565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156116f5576116f56116c5565b500290565b60008083128015600160ff1b850184121615611718576117186116c5565b6001600160ff1b0384018313811615611733576117336116c5565b50500390565b60008261175657634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561176d5761176d6116c5565b500390565b60008219821115611785576117856116c5565b500190565b600080821280156001600160ff1b03849003851316156117ac576117ac6116c5565b600160ff1b83900384128116156117c5576117c56116c5565b50500190565b6000602082840312156117dd57600080fd5b81516104dd8161157c565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f191601019392505050565b60006020828403121561184257600080fd5b505191905056fea2646970667358221220bf7dd50c30b1794352c1c8147d06eb5f27f8fa471cc8be9d0c8ab31227080ea564736f6c634300080a0033000000000000000000000000f59bfeed034092e399cc43ff79edab15e2e187350000000000000000000000000000000000000000000000000000000061a61240

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101365760003560e01c806357f6b812116100b8578063a9059cbb1161007c578063a9059cbb14610320578063bd77ac2c14610333578063d96a094a14610348578063dd62ed3e1461035b578063e4849b3214610395578063fdb5a03e146103a857600080fd5b806357f6b812146102465780636be32e73146102ac57806370a08231146102bf57806395d89b41146102e8578063a3a8573a1461030d57600080fd5b8063259bfdd7116100ff578063259bfdd7146101db578063313ce567146101fe5780633472956c146102185780633ccfd60b1461022b5780634000aea01461023357600080fd5b806265318b1461013b57806306fdde0314610161578063095ea7b31461019d57806318160ddd146101c057806323b872dd146101c8575b600080fd5b61014e6101493660046114a6565b6103b0565b6040519081526020015b60405180910390f35b6101906040518060400160405280601081526020016f25b934b6361021b7b6b837bab73232b960811b81525081565b60405161015891906114c1565b6101b06101ab366004611516565b6103fd565b6040519015158152602001610158565b60005461014e565b6101b06101d6366004611540565b610462565b6101e36104e4565b60408051938452602084019290925290820152606001610158565b610206601281565b60405160ff9091168152602001610158565b61014e61022636600461158d565b610574565b61014e6107e5565b6101b06102413660046115cf565b6108e6565b6102596102543660046114a6565b61098c565b604080519b8c5260208c019a909a52988a01979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015261014082015261016001610158565b6101b06102ba3660046115cf565b610b32565b61014e6102cd3660046114a6565b6001600160a01b031660009081526001602052604090205490565b6101906040518060400160405280600681526020016518d2d492531360d21b81525081565b61014e61031b366004611656565b610b63565b6101b061032e366004611516565b610cf6565b610346610341366004611682565b610d03565b005b61014e610356366004611682565b610eba565b61014e61036936600461169b565b6001600160a01b0391821660009081526001602081815260408084209490951683529201909152205490565b61014e6103a3366004611682565b610ec6565b61014e610eeb565b6001600160a01b038116600090815260016020526040812060028101549054600160401b91906002546103e391906116db565b6103ed91906116fa565b6103f79190611739565b92915050565b3360008181526001602081815260408084206001600160a01b0388168086529301825280842086905551858152929391927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350600192915050565b6001600160a01b0383166000908152600160208181526040808420338552909201905281205482111561049457600080fd5b6001600160a01b03841660009081526001602081815260408084203385529092019052812080548492906104c990849061175b565b909155506104da9050848484610f80565b90505b9392505050565b6000806000670de0b6b3a76400006104fb60005490565b61050b906509184e72a0006116db565b6105159190611739565b61052790670de0b6b3a7640000611772565b9250610535600a606461175b565b6105408460646116db565b61054a9190611739565b91506064610559600a8261175b565b61056390856116db565b61056d9190611739565b9050909192565b60008060006105816104e4565b909350915060009050856105955781610597565b825b90506000866105a75760646105b3565b6105b3600a606461175b565b876105c9576105c4600a606461175b565b6105cc565b60645b6105dc906509184e72a0006116db565b6105e69190611739565b90508680156105f3575085155b806106045750861580156106045750855b156107415785156106d35761061a8160026116db565b8161068d8161062a8c60086116db565b61063491906116db565b846106408760046116db565b61064a91906116db565b61065486806116db565b876106608160046116db565b61066a91906116db565b6106749190611772565b61067e919061175b565b610688919061175b565b6110d2565b6106988560026116db565b6106a2919061175b565b6106ac919061175b565b6106be90670de0b6b3a76400006116db565b6106c89190611739565b9450505050506104dd565b6106de8160026116db565b6106e98360026116db565b82610698816106f98d60086116db565b61070391906116db565b61070e8760026116db565b6107189087611772565b6107238860026116db565b61072d9088611772565b61073791906116db565b6106889190611772565b851561079657670de0b6b3a764000088671bc16d674ec800006107648284611772565b61076e90856116db565b6107789190611739565b61078291906116db565b61078c8a856116db565b6106be9190611772565b670de0b6b3a764000088671bc16d674ec800006107b38284611772565b6107bd90856116db565b6107c79190611739565b6107d191906116db565b6107db8a856116db565b6106be919061175b565b6000806107f1336103b0565b90506000811161080057600080fd5b61080e600160401b826116db565b336000908152600160205260408120600201805490919061083090849061178a565b90915550506004805460405163a9059cbb60e01b81523392810192909252602482018390526001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab91906117cb565b5060405181815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2919050565b60006108f3338686610f80565b50843b63ffffffff81161561098057604051636be32e7360e01b81526001600160a01b03871690636be32e73906109349033908990899089906004016117e8565b6020604051808303816000875af1158015610953573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097791906117cb565b61098057600080fd5b50600195945050505050565b600480546040516370a0823160e01b8152309281019290925260009182918291829182918291829182918291829182916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156109ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a129190611830565b9a50610a1d60005490565b9950610a276104e4565b809950819a50829b5050505060006003015495508b6001600160a01b0316319450600060040160009054906101000a90046001600160a01b03166001600160a01b03166370a082318d6040518263ffffffff1660e01b8152600401610a9b91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610ab8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adc9190611830565b9350610afd8c6001600160a01b031660009081526001602052604090205490565b9250610b088c6103b0565b915081610b1784600080610574565b610b219190611772565b905091939597999b90929496989a50565b6004546000906001600160a01b03163314610b4c57600080fd5b60008411610b5957600080fd5b610980848661112b565b6000808311610b7157600080fd5b600480546040516370a0823160e01b815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be39190611830565b600480546040516323b872dd60e01b81523392810192909252306024830152604482018790529192506001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610c40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6491906117cb565b50600480546040516370a0823160e01b8152309281019290925260009183916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd79190611830565b610ce1919061175b565b9050610ced818561112b565b95945050505050565b60006104dd338484610f80565b60008111610d1057600080fd5b600480546040516370a0823160e01b815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d829190611830565b600480546040516323b872dd60e01b81523392810192909252306024830152604482018590529192506001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0391906117cb565b50600480546040516370a0823160e01b8152309281019290925260009183916001600160a01b0316906370a0823190602401602060405180830381865afa158015610e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e769190611830565b610e80919061175b565b600054909150610e94600160401b836116db565b610e9e9190611739565b60028054600090610eb0908490611772565b9091555050505050565b60006103f78233610b63565b33600090815260016020526040812054821115610ee257600080fd5b6103f7826112a8565b600080610ef7336103b0565b905060008111610f0657600080fd5b610f14600160401b826116db565b3360009081526001602052604081206002018054909190610f3690849061178a565b909155505060405181815233907fbd654390d0d973e8c8376ed6053be8658870df892687852cc5c914d700291b879060200160405180910390a2610f7a813361112b565b91505090565b6001600160a01b038316600090815260016020526040812054821115610fa557600080fd5b6001600160a01b03841660009081526001602052604081208054849290610fcd90849061175b565b9091555050600254610fdf90836116db565b6001600160a01b0385166000908152600160205260408120600201805490919061100a9084906116fa565b90915550506001600160a01b03831660009081526001602052604081208054849290611037908490611772565b909155505060025461104990836116db565b6001600160a01b0384166000908152600160205260408120600201805490919061107490849061178a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110c091815260200190565b60405180910390a35060019392505050565b60008060026110e2846001611772565b6110ec9190611739565b90508291505b818110156111255790508060028161110a8186611739565b6111149190611772565b61111e9190611739565b90506110f2565b50919050565b60035460009042101561113d57600080fd5b6000606461114c600a866116db565b6111569190611739565b90506111658460016000610574565b91508160008001600082825461117b9190611772565b90915550506001600160a01b038316600090815260016020526040812080548492906111a8908490611772565b90915550506002546111ba90836116db565b6001600160a01b038416600090815260016020526040812060020180549091906111e590849061178a565b90915550506000546111fb600160401b836116db565b6112059190611739565b60028054600090611217908490611772565b90915550506040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360408051858152602081018490526001600160a01b038516917f1cbc5ab135991bd2b6a4b034a04aa2aa086dac1371cb9b16b8b5e2ed6b036bed910160405180910390a25092915050565b336000908152600160205260408120548211156112c457600080fd5b6112d082600080610574565b905060006112e0600a606461175b565b6112eb600a846116db565b6112f59190611739565b90508260008001600082825461130b919061175b565b9091555050336000908152600160205260408120805485929061132f90849061175b565b909155505060025461134190846116db565b33600090815260016020526040812060020180549091906113639084906116fa565b9091555050600054611379600160401b836116db565b6113839190611739565b60028054600090611395908490611772565b90915550506004805460405163a9059cbb60e01b81523392810192909252602482018490526001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141091906117cb565b5060405183815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3604080518481526020810184905233917fed7a144fad14804d5c249145e3e0e2b63a9eb455b76aee5bc92d711e9bba3e4a910160405180910390a250919050565b80356001600160a01b03811681146114a157600080fd5b919050565b6000602082840312156114b857600080fd5b6104dd8261148a565b600060208083528351808285015260005b818110156114ee578581018301518582016040015282016114d2565b81811115611500576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561152957600080fd5b6115328361148a565b946020939093013593505050565b60008060006060848603121561155557600080fd5b61155e8461148a565b925061156c6020850161148a565b9150604084013590509250925092565b801515811461158a57600080fd5b50565b6000806000606084860312156115a257600080fd5b8335925060208401356115b48161157c565b915060408401356115c48161157c565b809150509250925092565b600080600080606085870312156115e557600080fd5b6115ee8561148a565b935060208501359250604085013567ffffffffffffffff8082111561161257600080fd5b818701915087601f83011261162657600080fd5b81358181111561163557600080fd5b88602082850101111561164757600080fd5b95989497505060200194505050565b6000806040838503121561166957600080fd5b823591506116796020840161148a565b90509250929050565b60006020828403121561169457600080fd5b5035919050565b600080604083850312156116ae57600080fd5b6116b78361148a565b91506116796020840161148a565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156116f5576116f56116c5565b500290565b60008083128015600160ff1b850184121615611718576117186116c5565b6001600160ff1b0384018313811615611733576117336116c5565b50500390565b60008261175657634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561176d5761176d6116c5565b500390565b60008219821115611785576117856116c5565b500190565b600080821280156001600160ff1b03849003851316156117ac576117ac6116c5565b600160ff1b83900384128116156117c5576117c56116c5565b50500190565b6000602082840312156117dd57600080fd5b81516104dd8161157c565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f191601019392505050565b60006020828403121561184257600080fd5b505191905056fea2646970667358221220bf7dd50c30b1794352c1c8147d06eb5f27f8fa471cc8be9d0c8ab31227080ea564736f6c634300080a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000f59bfeed034092e399cc43ff79edab15e2e187350000000000000000000000000000000000000000000000000000000061a61240

-----Decoded View---------------
Arg [0] : _krill (address): 0xf59BfEED034092E399Cc43Ff79EdAb15e2e18735
Arg [1] : _openingTime (uint256): 1638273600

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f59bfeed034092e399cc43ff79edab15e2e18735
Arg [1] : 0000000000000000000000000000000000000000000000000000000061a61240


Deployed Bytecode Sourcemap

418:8323:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4868:191;;;;;;:::i;:::-;;:::i;:::-;;;529:25:1;;;517:2;502:18;4868:191:0;;;;;;;;669:48;;;;;;;;;;;;;;;-1:-1:-1;;;669:48:0;;;;;;;;;;;;:::i;3588:203::-;;;;;;:::i;:::-;;:::i;:::-;;;1591:14:1;;1584:22;1566:41;;1554:2;1539:18;3588:203:0;1426:187:1;4388:86:0;4432:7;4453:16;4388:86;;3796:257;;;;;;:::i;:::-;;:::i;4479:273::-;;;:::i;:::-;;;;2153:25:1;;;2209:2;2194:18;;2187:34;;;;2237:18;;;2230:34;2141:2;2126:18;4479:273:0;1951:319:1;765:35:0;;798:2;765:35;;;;;2447:4:1;2435:17;;;2417:36;;2405:2;2390:18;765:35:0;2275:184:1;5920:1010:0;;;;;;:::i;:::-;;:::i;2843:318::-;;;:::i;4058:323::-;;;;;;:::i;:::-;;:::i;5064:708::-;;;;;;:::i;:::-;;:::i;:::-;;;;4202:25:1;;;4258:2;4243:18;;4236:34;;;;4286:18;;;4279:34;;;;4344:2;4329:18;;4322:34;;;;4387:3;4372:19;;4365:35;;;;4431:3;4416:19;;4409:35;;;;4475:3;4460:19;;4453:35;4519:3;4504:19;;4497:35;4563:3;4548:19;;4541:35;4607:3;4592:19;;4585:35;4651:3;4636:19;;4629:36;4189:3;4174:19;5064:708:0;3774:897:1;2485:213:0;;;;;;:::i;:::-;;:::i;4757:106::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4833:17:0;4812:7;4833:17;;;:10;:17;;;;;:25;;4757:106;721:40;;;;;;;;;;;;;;;-1:-1:-1;;;721:40:0;;;;;2125:355;;;;;;:::i;:::-;;:::i;3459:124::-;;;;;;:::i;:::-;;:::i;1646:368::-;;;;;;:::i;:::-;;:::i;:::-;;2019:101;;;;;;:::i;:::-;;:::i;5777:138::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5873:17:0;;;5852:7;5873:17;;;:10;:17;;;;;;;;:37;;;;;;:27;;:37;;;;;;5777:138;2703:135;;;;;;:::i;:::-;;:::i;3166:288::-;;;:::i;4868:191::-;-1:-1:-1;;;;;5008:17:0;;4925:7;5008:17;;;:10;:17;;;;;:30;;;;4833:25;;-1:-1:-1;;;480:5:0;5008:30;4961:24;;:43;;;;:::i;:::-;4954:84;;;;:::i;:::-;4946:108;;;;:::i;:::-;4939:115;4868:191;-1:-1:-1;;4868:191:0:o;3588:203::-;3680:10;3658:4;3669:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3669:42:0;;;;;:32;;:42;;;;;:52;;;3731:39;529:25:1;;;3658:4:0;;3669:42;;3731:39;;502:18:1;3731:39:0;;;;;;;-1:-1:-1;3782:4:0;3588:203;;;;:::o;3796:257::-;-1:-1:-1;;;;;3900:17:0;;3881:4;3900:17;;;:10;:17;;;;;;;;3928:10;3900:39;;:27;;;:39;;;;;:50;-1:-1:-1;3900:50:0;3892:59;;;;;;-1:-1:-1;;;;;3956:17:0;;:4;:17;;;:10;:17;;;;;;;;3984:10;3956:39;;:27;;;:39;;;;:50;;3999:7;;3956:4;:50;;3999:7;;3956:50;:::i;:::-;;;;-1:-1:-1;4018:30:0;;-1:-1:-1;4028:5:0;4035:3;4040:7;4018:9;:30::i;:::-;4011:37;;3796:257;;;;;;:::o;4479:273::-;4525:17;4544:16;4562:17;4643:4;4627:13;4432:7;4453:16;;4388:86;4627:13;4615:25;;659:4;4615:25;:::i;:::-;:32;;;;:::i;:::-;4598:49;;614:4;4598:49;:::i;:::-;4586:61;-1:-1:-1;4682:13:0;524:2;4682:3;:13;:::i;:::-;4663:15;:9;4675:3;4663:15;:::i;:::-;:33;;;;:::i;:::-;4652:44;-1:-1:-1;4744:3:0;4726:14;566:2;4744:3;4726:14;:::i;:::-;4713:28;;:9;:28;:::i;:::-;:34;;;;:::i;:::-;4701:46;;4479:273;;;:::o;5920:1010::-;6011:7;6025:17;6047:18;6099:15;:13;:15::i;:::-;6070:44;;-1:-1:-1;6070:44:0;-1:-1:-1;6119:13:0;;-1:-1:-1;6136:6:0;:31;;6157:10;6136:31;;;6145:9;6136:31;6119:49;;6173:18;6243:6;:30;;6270:3;6243:30;;;6253:13;524:2;6253:3;:13;:::i;:::-;6207:6;:31;;6223:14;566:2;6223:3;:14;:::i;:::-;6207:31;;;6216:3;6207:31;6194:45;;659:4;6194:45;:::i;:::-;:80;;;;:::i;:::-;6173:101;;6284:6;:19;;;;;6295:8;6294:9;6284:19;6283:46;;;;6310:6;6309:7;:19;;;;;6320:8;6309:19;6279:647;;;6341:8;6337:355;;;6505:14;6509:10;6505:1;:14;:::i;:::-;6483:10;6378:102;6483:10;6455:11;6459:7;6455:1;:11;:::i;:::-;:24;;;;:::i;:::-;6442:10;6430:9;6434:5;6430:1;:9;:::i;:::-;:22;;;;:::i;:::-;6404:23;6417:10;;6404:23;:::i;:::-;6396:5;6384:9;6396:5;6384:1;:9;:::i;:::-;:17;;;;:::i;:::-;:43;;;;:::i;:::-;:68;;;;:::i;:::-;:95;;;;:::i;:::-;6378:5;:102::i;:::-;6366:9;6370:5;6366:1;:9;:::i;:::-;:114;;;;:::i;:::-;:127;;;;:::i;:::-;6365:136;;6497:4;6365:136;:::i;:::-;:155;;;;:::i;:::-;6358:162;;;;;;;;6337:355;6670:14;6674:10;6670:1;:14;:::i;:::-;6649:9;6653:5;6649:1;:9;:::i;:::-;6636:10;6548:85;6636:10;6608:11;6612:7;6608:1;:11;:::i;:::-;:24;;;;:::i;:::-;6595:9;6599:5;6595:1;:9;:::i;:::-;6582:22;;:10;:22;:::i;:::-;6568:9;6572:5;6568:1;:9;:::i;:::-;6555:22;;:10;:22;:::i;:::-;6554:51;;;;:::i;:::-;:78;;;;:::i;6279:647::-;6713:8;6709:212;;;6808:4;6797:7;6789:4;6771:14;6797:7;6808:4;6771:14;:::i;:::-;6757:29;;:10;:29;:::i;:::-;:36;;;;:::i;:::-;6756:48;;;;:::i;:::-;6738:15;6746:7;6738:5;:15;:::i;:::-;:66;;;;:::i;6709:212::-;6910:4;6899:7;6891:4;6873:14;6899:7;6910:4;6873:14;:::i;:::-;6859:29;;:10;:29;:::i;:::-;:36;;;;:::i;:::-;6858:48;;;;:::i;:::-;6840:15;6848:7;6840:5;:15;:::i;:::-;:66;;;;:::i;2843:318::-;2881:7;2895:18;2916:23;2928:10;2916:11;:23::i;:::-;2895:44;;2965:1;2952:10;:14;2944:23;;;;;;3018:25;-1:-1:-1;;;3018:10:0;:25;:::i;:::-;2983:10;2972:4;:22;;;:10;:22;;;;;:35;;:72;;:35;;:4;:72;;;;;:::i;:::-;;;;-1:-1:-1;;3049:10:0;;;:43;;-1:-1:-1;;;3049:43:0;;3069:10;3049:43;;;6891:51:1;;;;6958:18;;;6951:34;;;-1:-1:-1;;;;;3049:10:0;;:19;;6864:18:1;;3049:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3102:32:0;;529:25:1;;;3111:10:0;;3102:32;;517:2:1;502:18;3102:32:0;;;;;;;3146:10;2843:318;-1:-1:-1;2843:318:0:o;4058:323::-;4153:4;4164:35;4174:10;4186:3;4191:7;4164:9;:35::i;:::-;-1:-1:-1;4245:16:0;;4274:9;;;;4270:91;;4299:55;;-1:-1:-1;;;4299:55:0;;-1:-1:-1;;;;;4299:27:0;;;;;:55;;4327:10;;4339:7;;4348:5;;;;4299:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4291:64;;;;;;-1:-1:-1;4372:4:0;;4058:323;-1:-1:-1;;;;;4058:323:0:o;5064:708::-;5378:10;;;:35;;-1:-1:-1;;;5378:35:0;;5407:4;5378:35;;;7956:51:1;;;;5122:23:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5378:10:0;;;;:20;;7929:18:1;;5378:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5360:53;;5437:13;4432:7;4453:16;;4388:86;5437:13;5418:32;;5490:15;:13;:15::i;:::-;5455:50;;;;;;;;;;;;5524:4;:16;;;5510:30;;5555:5;-1:-1:-1;;;;;5555:13:0;;5545:23;;5585:4;:10;;;;;;;;;;-1:-1:-1;;;;;5585:10:0;-1:-1:-1;;;;;5585:20:0;;5606:5;5585:27;;;;;;;;;;;;;;-1:-1:-1;;;;;7974:32:1;;;;7956:51;;7944:2;7929:18;;7810:203;5585:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5573:39;;5631:16;5641:5;-1:-1:-1;;;;;4833:17:0;4812:7;4833:17;;;:10;:17;;;;;:25;;4757:106;5631:16;5617:30;;5668:18;5680:5;5668:11;:18::i;:::-;5652:34;;5754:13;5709:42;5725:11;5738:5;5745;5709:15;:42::i;:::-;:58;;;;:::i;:::-;5691:76;;5064:708;;;;;;;;;;;;;:::o;2485:213::-;2615:10;;2574:4;;-1:-1:-1;;;;;2615:10:0;2593;:33;2585:42;;;;;;2650:1;2640:7;:11;2632:20;;;;;;2657;2662:7;2671:5;2657:4;:20::i;2125:355::-;2189:7;2221:1;2211:7;:11;2203:20;;;;;;2253:10;;;:35;;-1:-1:-1;;;2253:35:0;;2282:4;2253:35;;;7956:51:1;;;;2228:22:0;;-1:-1:-1;;;;;2253:10:0;;;;:20;;7929:18:1;;2253:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2293:10;;;:59;;-1:-1:-1;;;2293:59:0;;2317:10;2293:59;;;8447:34:1;;;;2337:4:0;8497:18:1;;;8490:43;8549:18;;;8542:34;;;2228:60:0;;-1:-1:-1;;;;;;2293:10:0;;;;:23;;8382:18:1;;2293:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2383:10:0;;;:35;;-1:-1:-1;;;2383:35:0;;2412:4;2383:35;;;7956:51:1;;;;2357:23:0;;2421:14;;-1:-1:-1;;;;;2383:10:0;;:20;;7929:18:1;;2383:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;;;;:::i;:::-;2357:78;;2447:28;2452:15;2469:5;2447:4;:28::i;:::-;2440:35;2125:355;-1:-1:-1;;;;;2125:355:0:o;3459:124::-;3525:4;3543:35;3553:10;3565:3;3570:7;3543:9;:35::i;1646:368::-;1713:1;1703:7;:11;1695:20;;;;;;1745:10;;;:35;;-1:-1:-1;;;1745:35:0;;1774:4;1745:35;;;7956:51:1;;;;1720:22:0;;-1:-1:-1;;;;;1745:10:0;;;;:20;;7929:18:1;;1745:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1785:10;;;:59;;-1:-1:-1;;;1785:59:0;;1809:10;1785:59;;;8447:34:1;;;;1829:4:0;8497:18:1;;;8490:43;8549:18;;;8542:34;;;1720:60:0;;-1:-1:-1;;;;;;1785:10:0;;;;:23;;8382:18:1;;1785:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1875:10:0;;;:35;;-1:-1:-1;;;1875:35:0;;1904:4;1875:35;;;7956:51:1;;;;1849:23:0;;1913:14;;-1:-1:-1;;;;;1875:10:0;;:20;;7929:18:1;;1875:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;;;;:::i;:::-;1993:4;:16;1849:78;;-1:-1:-1;1960:30:0;-1:-1:-1;;;1849:78:0;1960:30;:::i;:::-;:49;;;;:::i;:::-;1932:24;:77;;:4;;:77;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1646:368:0:o;2019:101::-;2067:7;2088:27;2095:7;2104:10;2088:6;:27::i;2703:135::-;2784:10;2752:7;4833:17;;;:10;:17;;;;;:25;2799:7;-1:-1:-1;2774:32:0;2766:41;;;;;;2819:14;2825:7;2819:5;:14::i;3166:288::-;3204:7;3218:18;3239:23;3251:10;3239:11;:23::i;:::-;3218:44;;3288:1;3275:10;:14;3267:23;;;;;;3341:25;-1:-1:-1;;;3341:10:0;:25;:::i;:::-;3306:10;3295:4;:22;;;:10;:22;;;;;:35;;:72;;:35;;:4;:72;;;;;:::i;:::-;;;;-1:-1:-1;;3377:32:0;;529:25:1;;;3386:10:0;;3377:32;;517:2:1;502:18;3377:32:0;;;;;;;3421:28;3426:10;3438;3421:4;:28::i;:::-;3414:35;;;3166:288;:::o;6937:438::-;-1:-1:-1;;;;;7038:17:0;;7019:4;7038:17;;;:10;:17;;;;;:25;:36;-1:-1:-1;7038:36:0;7030:45;;;;;;-1:-1:-1;;;;;7080:17:0;;:4;:17;;;:10;:17;;;;;:36;;7109:7;;7080:4;:36;;7109:7;;7080:36;:::i;:::-;;;;-1:-1:-1;;7172:24:0;;7162:34;;:7;:34;:::i;:::-;-1:-1:-1;;;;;7121:17:0;;:4;:17;;;:10;:17;;;;;:30;;:76;;:30;;:4;:76;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;7202:15:0;;:4;:15;;;:10;:15;;;;;:34;;7229:7;;7202:4;:34;;7229:7;;7202:34;:::i;:::-;;;;-1:-1:-1;;7290:24:0;;7280:34;;:7;:34;:::i;:::-;-1:-1:-1;;;;;7241:15:0;;:4;:15;;;:10;:15;;;;;:28;;:74;;:28;;:4;:74;;;;;:::i;:::-;;;;;;;;7341:3;-1:-1:-1;;;;;7325:29:0;7334:5;-1:-1:-1;;;;;7325:29:0;;7346:7;7325:29;;;;529:25:1;;517:2;502:18;;383:177;7325:29:0;;;;;;;;-1:-1:-1;7366:4:0;6937:438;;;;;:::o;8533:205::-;8583:14;;8630:1;8620:6;:2;8625:1;8620:6;:::i;:::-;8619:12;;;;:::i;:::-;8604:27;;8645:2;8636:11;;8652:82;8666:6;8659:4;:13;8652:82;;;8689:4;-1:-1:-1;8689:4:0;8727:1;8689:4;8707:9;8689:4;8707:2;:9;:::i;:::-;:16;;;;:::i;:::-;8706:22;;;;:::i;:::-;8699:29;;8652:82;;;8599:139;8533:205;;;:::o;7380:534::-;7492:16;;7444:14;;7473:15;:35;;7465:44;;;;;;7514:12;7549:3;7529:17;524:2;7529:7;:17;:::i;:::-;:23;;;;:::i;:::-;7514:38;;7566:37;7582:7;7591:4;7597:5;7566:15;:37::i;:::-;7557:46;;7628:6;7608:4;:16;;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;7639:17:0;;:4;:17;;;:10;:17;;;;;:35;;7668:6;;7639:4;:35;;7668:6;;7639:35;:::i;:::-;;;;-1:-1:-1;;7729:24:0;;7720:33;;:6;:33;:::i;:::-;-1:-1:-1;;;;;7679:17:0;;:4;:17;;;:10;:17;;;;;:30;;:75;;:30;;:4;:75;;;;;:::i;:::-;;;;-1:-1:-1;;7809:4:0;:16;7787:19;-1:-1:-1;;;7787:4:0;:19;:::i;:::-;:38;;;;:::i;:::-;7759:24;:66;;:4;;:66;;;;;:::i;:::-;;;;-1:-1:-1;;7835:37:0;;529:25:1;;;-1:-1:-1;;;;;7835:37:0;;;7852:3;;7835:37;;517:2:1;502:18;7835:37:0;;;;;;;7882:27;;;8761:25:1;;;8817:2;8802:18;;8795:34;;;-1:-1:-1;;;;;7882:27:0;;;;;8734:18:1;7882:27:0;;;;;;;7460:454;7380:534;;;;:::o;7919:609::-;8009:10;7969:14;7998:22;;;:10;:22;;;;;:30;:41;-1:-1:-1;7998:41:0;7990:50;;;;;;8054:38;8070:7;8079:5;8086;8054:15;:38::i;:::-;8045:47;-1:-1:-1;8097:12:0;8133:14;566:2;8133:3;:14;:::i;:::-;8112:17;566:2;8112:6;:17;:::i;:::-;:36;;;;:::i;:::-;8097:51;;8173:7;8153:4;:16;;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;;8196:10:0;8185:4;:22;;;:10;:22;;;;;:41;;8219:7;;8185:4;:41;;8219:7;;8185:41;:::i;:::-;;;;-1:-1:-1;;8287:24:0;;8277:34;;:7;:34;:::i;:::-;8242:10;8231:4;:22;;;:10;:22;;;;;:35;;:81;;:35;;:4;:81;;;;;:::i;:::-;;;;-1:-1:-1;;8367:4:0;:16;8345:19;-1:-1:-1;;;8345:4:0;:19;:::i;:::-;:38;;;;:::i;:::-;8317:24;:66;;:4;;:66;;;;;:::i;:::-;;;;-1:-1:-1;;8388:10:0;;;:39;;-1:-1:-1;;;8388:39:0;;8408:10;8388:39;;;6891:51:1;;;;6958:18;;;6951:34;;;-1:-1:-1;;;;;8388:10:0;;:19;;6864:18:1;;8388:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8437:43:0;;529:25:1;;;8466:3:0;;8446:10;;8437:43;;517:2:1;502:18;8437:43:0;;;;;;;8490:33;;;8761:25:1;;;8817:2;8802:18;;8795:34;;;8495:10:0;;8490:33;;8734:18:1;8490:33:0;;;;;;;7985:543;7919:609;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;565:597::-;677:4;706:2;735;724:9;717:21;767:6;761:13;810:6;805:2;794:9;790:18;783:34;835:1;845:140;859:6;856:1;853:13;845:140;;;954:14;;;950:23;;944:30;920:17;;;939:2;916:26;909:66;874:10;;845:140;;;1003:6;1000:1;997:13;994:91;;;1073:1;1068:2;1059:6;1048:9;1044:22;1040:31;1033:42;994:91;-1:-1:-1;1146:2:1;1125:15;-1:-1:-1;;1121:29:1;1106:45;;;;1153:2;1102:54;;565:597;-1:-1:-1;;;565:597:1:o;1167:254::-;1235:6;1243;1296:2;1284:9;1275:7;1271:23;1267:32;1264:52;;;1312:1;1309;1302:12;1264:52;1335:29;1354:9;1335:29;:::i;:::-;1325:39;1411:2;1396:18;;;;1383:32;;-1:-1:-1;;;1167:254:1:o;1618:328::-;1695:6;1703;1711;1764:2;1752:9;1743:7;1739:23;1735:32;1732:52;;;1780:1;1777;1770:12;1732:52;1803:29;1822:9;1803:29;:::i;:::-;1793:39;;1851:38;1885:2;1874:9;1870:18;1851:38;:::i;:::-;1841:48;;1936:2;1925:9;1921:18;1908:32;1898:42;;1618:328;;;;;:::o;2464:118::-;2550:5;2543:13;2536:21;2529:5;2526:32;2516:60;;2572:1;2569;2562:12;2516:60;2464:118;:::o;2587:444::-;2658:6;2666;2674;2727:2;2715:9;2706:7;2702:23;2698:32;2695:52;;;2743:1;2740;2733:12;2695:52;2779:9;2766:23;2756:33;;2839:2;2828:9;2824:18;2811:32;2852:28;2874:5;2852:28;:::i;:::-;2899:5;-1:-1:-1;2956:2:1;2941:18;;2928:32;2969:30;2928:32;2969:30;:::i;:::-;3018:7;3008:17;;;2587:444;;;;;:::o;3036:733::-;3124:6;3132;3140;3148;3201:2;3189:9;3180:7;3176:23;3172:32;3169:52;;;3217:1;3214;3207:12;3169:52;3240:29;3259:9;3240:29;:::i;:::-;3230:39;;3316:2;3305:9;3301:18;3288:32;3278:42;;3371:2;3360:9;3356:18;3343:32;3394:18;3435:2;3427:6;3424:14;3421:34;;;3451:1;3448;3441:12;3421:34;3489:6;3478:9;3474:22;3464:32;;3534:7;3527:4;3523:2;3519:13;3515:27;3505:55;;3556:1;3553;3546:12;3505:55;3596:2;3583:16;3622:2;3614:6;3611:14;3608:34;;;3638:1;3635;3628:12;3608:34;3683:7;3678:2;3669:6;3665:2;3661:15;3657:24;3654:37;3651:57;;;3704:1;3701;3694:12;3651:57;3036:733;;;;-1:-1:-1;;3735:2:1;3727:11;;-1:-1:-1;;;3036:733:1:o;4676:254::-;4744:6;4752;4805:2;4793:9;4784:7;4780:23;4776:32;4773:52;;;4821:1;4818;4811:12;4773:52;4857:9;4844:23;4834:33;;4886:38;4920:2;4909:9;4905:18;4886:38;:::i;:::-;4876:48;;4676:254;;;;;:::o;4935:180::-;4994:6;5047:2;5035:9;5026:7;5022:23;5018:32;5015:52;;;5063:1;5060;5053:12;5015:52;-1:-1:-1;5086:23:1;;4935:180;-1:-1:-1;4935:180:1:o;5120:260::-;5188:6;5196;5249:2;5237:9;5228:7;5224:23;5220:32;5217:52;;;5265:1;5262;5255:12;5217:52;5288:29;5307:9;5288:29;:::i;:::-;5278:39;;5336:38;5370:2;5359:9;5355:18;5336:38;:::i;5385:127::-;5446:10;5441:3;5437:20;5434:1;5427:31;5477:4;5474:1;5467:15;5501:4;5498:1;5491:15;5517:168;5557:7;5623:1;5619;5615:6;5611:14;5608:1;5605:21;5600:1;5593:9;5586:17;5582:45;5579:71;;;5630:18;;:::i;:::-;-1:-1:-1;5670:9:1;;5517:168::o;5690:267::-;5729:4;5758:9;;;5783:10;;-1:-1:-1;;;5802:19:1;;5795:27;;5779:44;5776:70;;;5826:18;;:::i;:::-;-1:-1:-1;;;;;5873:27:1;;5866:35;;5858:44;;5855:70;;;5905:18;;:::i;:::-;-1:-1:-1;;5942:9:1;;5690:267::o;5962:217::-;6002:1;6028;6018:132;;6072:10;6067:3;6063:20;6060:1;6053:31;6107:4;6104:1;6097:15;6135:4;6132:1;6125:15;6018:132;-1:-1:-1;6164:9:1;;5962:217::o;6184:125::-;6224:4;6252:1;6249;6246:8;6243:34;;;6257:18;;:::i;:::-;-1:-1:-1;6294:9:1;;6184:125::o;6314:128::-;6354:3;6385:1;6381:6;6378:1;6375:13;6372:39;;;6391:18;;:::i;:::-;-1:-1:-1;6427:9:1;;6314:128::o;6447:265::-;6486:3;6514:9;;;6539:10;;-1:-1:-1;;;;;6558:27:1;;;6551:35;;6535:52;6532:78;;;6590:18;;:::i;:::-;-1:-1:-1;;;6637:19:1;;;6630:27;;6622:36;;6619:62;;;6661:18;;:::i;:::-;-1:-1:-1;;6697:9:1;;6447:265::o;6996:245::-;7063:6;7116:2;7104:9;7095:7;7091:23;7087:32;7084:52;;;7132:1;7129;7122:12;7084:52;7164:9;7158:16;7183:28;7205:5;7183:28;:::i;7246:559::-;-1:-1:-1;;;;;7459:32:1;;7441:51;;7523:2;7508:18;;7501:34;;;7571:2;7566;7551:18;;7544:30;;;7590:18;;7583:34;;;7610:6;7660;7654:3;7639:19;;7626:49;7725:1;7695:22;;;7719:3;7691:32;;;7684:43;;;;7788:2;7767:15;;;-1:-1:-1;;7763:29:1;7748:45;7744:55;;7246:559;-1:-1:-1;;;7246:559:1:o;8018:184::-;8088:6;8141:2;8129:9;8120:7;8116:23;8112:32;8109:52;;;8157:1;8154;8147:12;8109:52;-1:-1:-1;8180:16:1;;8018:184;-1:-1:-1;8018:184:1:o

Swarm Source

ipfs://bf7dd50c30b1794352c1c8147d06eb5f27f8fa471cc8be9d0c8ab31227080ea5

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.