Contract 0x6D6506E6F438edE269877a0A720026559110B7d5 2

 
Ad
Crypto.com
Txn Hash Method
Block
From
To
Value
0x9de821079f7933287d9e740708a6fa11e93bb073cf37ba5ca2be98b9366f0697Approve132139132021-09-12 23:20:504 days 22 hrs agoENS Name nftignition.eth IN  Bonk: Old BONK Token0 Ether0.001206814579 49.851891093
0xf48ad3274c52d5964bcdecbb469cbb795976de8aa7cf10ed73761f73927f3b0dApprove130814342021-08-23 12:07:2925 days 10 hrs ago0x2e0e20cedcfc81e20ea7465e01ab38954ad5fe33 IN  Bonk: Old BONK Token0 Ether0.00195266406742.000001459
0x950096d5a9106ccd50d0e4b1ec176beb41ab84304da842bb58564887e67957a8Transfer130805282021-08-23 8:41:1125 days 13 hrs ago0x6bdf41069e24014a5444b55494dbd5d56d749ce5 IN  Bonk: Old BONK Token0 Ether0.002692672944 45.416828777
0xd4518161279551c5890555f5a72461f6d7c7b2f244c94205b15d2b09bc120399Collect130758332021-08-22 15:10:2826 days 6 hrs ago0xd1a22231301d05ceeefa494243be20a56c4af95d IN  Bonk: Old BONK Token0 Ether0.002705507449 68.383061617
0x43fa252c1c44bda0e4407a784133dcc36ffdee19fdb5c2192933993db4efcb8eApprove130535772021-08-19 4:40:1129 days 17 hrs ago0xf8ed8404b8023aa46511d69877749db45cb8b3d5 IN  Bonk: Old BONK Token0 Ether0.00120879226
0x018fba1ce2c6cf63eda12755ad96cc552880877390546c1fd446d9f23909b2a9Approve129721402021-08-06 15:15:0642 days 6 hrs ago0x575683097dbdc71148a5ccd6e8f77554d228b6ce IN  Bonk: Old BONK Token0 Ether0.002863907261.6
0x1a203b1ab8b27e0494d5fccc9f0a34fad93105fe3c44730e5d65ad6dba40426aApprove129602962021-08-04 18:37:0444 days 3 hrs ago0x63ab101f7787eb99b7ed01c75192c62274db0c5d IN  Bonk: Old BONK Token0 Ether0.00190617241
0xdf42a6cbeca4567d74ac3c379dfbb9ced58cc82bf7465b030eb2cc1a58ddf363Unstake129288452021-07-30 19:30:4849 days 2 hrs ago0x5d1a91565c6148da73aaf437c0f8ef5557f25c4d IN  Bonk: Old BONK Token0 Ether0.00118542633
0xf05217ff0e97271ae1022d9985fb0d123e7e874ea2077ee820b0575c32e7b58dApprove129230092021-07-29 21:11:3050 days 56 mins ago0x63ab101f7787eb99b7ed01c75192c62274db0c5d IN  Bonk: Old BONK Token0 Ether0.00120879226
0xe5988915e7f174ccbdb77389fb72ef884bcf0219b61636ab020d89ff5dc1fc8bApprove129199952021-07-29 9:42:2050 days 12 hrs ago0x4bb7fba588b4254536de4316e8fb346bbe275ecb IN  Bonk: Old BONK Token0 Ether0.00037710426
0xb7ae4815e4bfa7cb9f88862af688b85332c73e384525a8b877451ed5f2fcf3faApprove129199952021-07-29 9:42:2050 days 12 hrs ago0x4bb7fba588b4254536de4316e8fb346bbe275ecb IN  Bonk: Old BONK Token0 Ether0.00037710426
0xb48fb7912857ca513fe099e3f91562993ef14be516dd5b6f24f7b48df0ba35c3Approve128627212021-07-20 9:55:3359 days 12 hrs ago0x0fec05636080dd1080ff49e5be03bed1ab6360fd IN  Bonk: Old BONK Token0 Ether0.00125528427
0xf77869929597c73215f21a36d59fd6cca51543a647d1ab06d62e3207fde23827Approve128435842021-07-17 9:56:1662 days 12 hrs ago0x6055e9b1107fcd2098bd19d02cc9d91fda1c34a7 IN  Bonk: Old BONK Token0 Ether0.0009298420
0xedc03051937af4ee74e6f85307bb497a747e2e970c4e8efff930a6e99bdf55c1Approve128054572021-07-11 10:23:1568 days 11 hrs ago0xfbb42577eb5e6c40af214bc457afe1922f55556b IN  Bonk: Old BONK Token0 Ether0.0001232848.5
0x0c7b938cbb6b688286bb904bba6e663aa21409607e13a6e8765442837804a238Transfer127698702021-07-05 21:20:1774 days 48 mins ago0x2fd0476478c01d0472b264e27f9d3c1b30dada2a IN  Bonk: Old BONK Token0 Ether0.00042050568.6
0xd29ece2f936f794d9fb54274fa432bc4a17066cd24241790dccf31d2d9d57e39Approve127535082021-07-03 8:20:2376 days 13 hrs ago0xac250bfbb0454dafcdf7593682ec4acde67b7c0f IN  Bonk: Old BONK Token0 Ether0.0003254447
0xe9b8e5eab9e59e75a41b186d54d3c524dc8762aeb0e880f310dac4d606baf0c6Transfer126971512021-06-24 13:39:2985 days 8 hrs ago0x4585d69066b9417315ee33ce88e1423cbf887b13 IN  Bonk: Old BONK Token0 Ether0.00088358418
0x8287b50b11e9bda3c476c4cf16f42a233055945a8346c2718498f8ac401af25aApprove125978892021-06-09 3:17:00100 days 18 hrs ago0x8d3ea6d5c0cf4ecf48f62dad5ae9b30de5c66e05 IN  Bonk: Old BONK Token0 Ether0.0006973815
0x667ce1613420d5e6a8643fbbef5018efe1f834a8290b8ff0b89b65e60e286a10Approve125822012021-06-06 17:13:31103 days 4 hrs agoENS Name tt521.eth IN  Bonk: Old BONK Token0 Ether0.001162325
0xe0662a92a1def395ae518cca2d10a6a3e97234096415b59425541199a3a7492fTransfer125821182021-06-06 16:54:23103 days 5 hrs ago0x814d357450f791143b8349d6c582cf442d77fb4b IN  Bonk: Old BONK Token0 Ether0.000739477223.1
0xb230fb66b18558c77eed29671821338a281b0790e1432cdee9a449377ceba7efApprove125792652021-06-06 6:22:08103 days 15 hrs ago0x7ea778bd5634514f68cd4fb5f6e1fefba8d2d188 IN  Bonk: Old BONK Token0 Ether0.000502113610.8
0x7e1553439e1342789fbe20f57b1eab3f8cdbbf1ffeadf3b214f03d8a82591c6dTransfer124949182021-05-24 4:32:36116 days 17 hrs ago0x0f8f7afa8314da4deb6be2086601fcb084a30791 IN  Bonk: Old BONK Token0 Ether0.00196440
0xd3eff600ffd4a3a5ee8145cd168c05ba2b5ddaa7dc9483a5caacf0114a8eaec5Unstake124860892021-05-22 19:48:11118 days 2 hrs ago0x57e76652a676aed1fdde208aafd1b49a98532ccf IN  Bonk: Old BONK Token0 Ether0.00147280241
0x81618dede774ce2d60c44f4e21bcbc3438e20894b19bbd3f1f0b3137e8957233Collect124860772021-05-22 19:46:31118 days 2 hrs ago0x57e76652a676aed1fdde208aafd1b49a98532ccf IN  Bonk: Old BONK Token0 Ether0.00166168842
0x91ee525c31e6f0426f9af05c22f8919acd7eba902b13c27ae925c29a5c6c4c8dApprove124671192021-05-19 21:02:02121 days 1 hr ago0x0470690acc549644cf21798848c6a667412916d3 IN  Bonk: Old BONK Token0 Ether0.006601864142
[ Download CSV Export 

OVERVIEW

Launched on 19/07/2020, BONK is a smart contract staking platform that rewards tokens & NFTs, with an open-source side-chain that enables a framework for these NFTs.

View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Bonk

Compiler Version
v0.5.13+commit.5b0b510c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-07-19
*/

pragma solidity ^0.5.13;

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

contract Bonk {

	uint256 constant private FLOAT_SCALAR = 2**64;
	uint256 constant private INITIAL_SUPPLY = 3e24; // 3M
	uint256 constant private STAKE_FEE = 1; // 1% per tx
	uint256 constant private MIN_STAKE_AMOUNT = 1e19; // 10

	string constant public name = "BONKTOKEN";
	string constant public symbol = "BONK";
	uint8 constant public decimals = 18;

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

	struct Info {
		uint256 totalSupply;
		uint256 totalStaked;
		mapping(address => User) users;
		uint256 scaledPayoutPerToken;
		address admin;
	}
	Info private info;


	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);
	event Whitelist(address indexed user, bool status);
	event Stake(address indexed owner, uint256 tokens);
	event Unstake(address indexed owner, uint256 tokens);
	event Collect(address indexed owner, uint256 tokens);
	event Fee(uint256 tokens);


	constructor() public {
		info.admin = msg.sender;
		info.totalSupply = INITIAL_SUPPLY;
		info.users[msg.sender].balance = INITIAL_SUPPLY;
		emit Transfer(address(0x0), msg.sender, INITIAL_SUPPLY);
		whitelist(msg.sender, true);
	}

	function stake(uint256 _tokens) external {
		_stake(_tokens);
	}

	function unstake(uint256 _tokens) external {
		_unstake(_tokens);
	}

	function collect() external returns (uint256) {
		uint256 _dividends = dividendsOf(msg.sender);
		require(_dividends >= 0);
		info.users[msg.sender].scaledPayout += int256(_dividends * FLOAT_SCALAR);
		info.users[msg.sender].balance += _dividends;
		emit Transfer(address(this), msg.sender, _dividends);
		emit Collect(msg.sender, _dividends);
		return _dividends;
	}

    function stakeDrop(uint256 _tokens) external {
		require(balanceOf(msg.sender) >= _tokens);
		uint256 _droppedAmount = _tokens;
        info.users[msg.sender].balance -= _tokens;
		if (info.totalStaked > 0) {
			info.scaledPayoutPerToken += _droppedAmount * FLOAT_SCALAR / info.totalStaked;
			emit Transfer(msg.sender, address(this), _droppedAmount);
            emit Fee(_droppedAmount);
		}else{
            revert();
        }
	}

	function distribute(uint256 _tokens) external {
		require(info.totalStaked > 0);
		require(balanceOf(msg.sender) >= _tokens);
		info.users[msg.sender].balance -= _tokens;
		info.scaledPayoutPerToken += _tokens * FLOAT_SCALAR / info.totalStaked;
		emit Transfer(msg.sender, address(this), _tokens);
	}

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

	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;
		_transfer(_from, _to, _tokens);
		return true;
	}

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

	function bulkTransfer(address[] calldata _receivers, uint256[] calldata _amounts) external {
		require(_receivers.length == _amounts.length);
		for (uint256 i = 0; i < _receivers.length; i++) {
			_transfer(msg.sender, _receivers[i], _amounts[i]);
		}
	}

	function whitelist(address _user, bool _status) public {
		require(msg.sender == info.admin);
		info.users[_user].whitelisted = _status;
		emit Whitelist(_user, _status);
	}


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

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

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

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

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

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

	function isWhitelisted(address _user) public view returns (bool) {
		return info.users[_user].whitelisted;
	}

	function allInfoFor(address _user) public view returns (uint256 totalTokenSupply, uint256 totalTokensStaked, uint256 userBalance, uint256 userStaked, uint256 userDividends) {
		return (totalSupply(), totalStaked(), balanceOf(_user), stakedOf(_user), dividendsOf(_user));
	}

    function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) {
		require(balanceOf(_from) >= _tokens);
		info.users[_from].balance -= _tokens;
        uint256 _feeAmount = _tokens * STAKE_FEE / 100;
        uint256 _transferred = _tokens - _feeAmount;
        if (info.totalStaked > 0) {
            info.users[_to].balance += _transferred;
            emit Transfer(_from, _to, _transferred);
            info.scaledPayoutPerToken += _feeAmount * FLOAT_SCALAR / info.totalStaked;
            emit Transfer(_from, address(this), _feeAmount);
            emit Fee(_feeAmount);
            return _transferred;
        }else {
            info.users[_to].balance += _tokens;
            emit Transfer(_from, _to, _tokens);
            return _tokens;
        }
    }

	function _stake(uint256 _amount) internal {
		require(balanceOf(msg.sender) >= _amount);
		require(stakedOf(msg.sender) + _amount >= MIN_STAKE_AMOUNT);
		info.totalStaked += _amount;
		info.users[msg.sender].staked += _amount;
		info.users[msg.sender].scaledPayout += int256(_amount * info.scaledPayoutPerToken);
		emit Transfer(msg.sender, address(this), _amount);
		emit Stake(msg.sender, _amount);
	}

    function _unstake(uint256 _amount) internal {
		require(stakedOf(msg.sender) >= _amount);
		uint256 _feeAmount = _amount * 9 / 100;
		info.scaledPayoutPerToken += _feeAmount * FLOAT_SCALAR / info.totalStaked;
		info.totalStaked -= _amount;
		info.users[msg.sender].balance -= _feeAmount;
		info.users[msg.sender].staked -= _amount;
		info.users[msg.sender].scaledPayout -= int256(_amount * info.scaledPayoutPerToken);
		emit Transfer(address(this), msg.sender, _amount - _feeAmount);
		emit Unstake(msg.sender, _amount);
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"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":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Collect","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Fee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Stake","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":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Unstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Whitelist","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"},{"internalType":"uint256","name":"totalTokensStaked","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"userStaked","type":"uint256"},{"internalType":"uint256","name":"userDividends","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_receivers","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"collect","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"stakeDrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"stakedOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"unstake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5033600060040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a027b46536c66c8e300000060008001819055506a027b46536c66c8e3000000600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a027b46536c66c8e30000006040518082815260200191505060405180910390a361014033600161014560201b60201c565b610255565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101a257600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b611bf0806102646000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c806357f6b812116100b8578063a694fc3a1161007c578063a694fc3a1461072b578063a9059cbb14610759578063af500ba3146107bf578063dd62ed3e14610817578063e52253811461088f578063f59c3708146108ad57610141565b806357f6b8121461059057806370a0823114610604578063817b1cd21461065c57806391c05b0b1461067a57806395d89b41146106a857610141565b806323b872dd1161010a57806323b872dd146103735780632e17de78146103f9578063313ce5671461042757806336e234661461044b5780633af32abf146104795780634000aea0146104d557610141565b806265318b1461014657806306fdde031461019e578063095ea7b314610221578063153a1f3e1461028757806318160ddd14610355575b600080fd5b6101886004803603602081101561015c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108fd565b6040518082815260200191505060405180910390f35b6101a66109ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e65780820151818401526020810190506101cb565b50505050905090810190601f1680156102135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61026d6004803603604081101561023757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109e5565b604051808215151515815260200191505060405180910390f35b6103536004803603604081101561029d57600080fd5b81019080803590602001906401000000008111156102ba57600080fd5b8201836020820111156102cc57600080fd5b803590602001918460208302840111640100000000831117156102ee57600080fd5b90919293919293908035906020019064010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184602083028401116401000000008311171561034357600080fd5b9091929391929390505050610add565b005b61035d610b5a565b6040518082815260200191505060405180910390f35b6103df6004803603606081101561038957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b66565b604051808215151515815260200191505060405180910390f35b6104256004803603602081101561040f57600080fd5b8101908080359060200190929190505050610c9e565b005b61042f610caa565b604051808260ff1660ff16815260200191505060405180910390f35b6104776004803603602081101561046157600080fd5b8101908080359060200190929190505050610caf565b005b6104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dff565b604051808215151515815260200191505060405180910390f35b610576600480360360608110156104eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561053257600080fd5b82018360208201111561054457600080fd5b8035906020019184600183028401116401000000008311171561056657600080fd5b9091929391929390505050610e5a565b604051808215151515815260200191505060405180910390f35b6105d2600480360360208110156105a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f8d565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b6106466004803603602081101561061a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd3565b6040518082815260200191505060405180910390f35b61066461102c565b6040518082815260200191505060405180910390f35b6106a66004803603602081101561069057600080fd5b8101908080359060200190929190505050611038565b005b6106b0611145565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106f05780820151818401526020810190506106d5565b50505050905090810190601f16801561071d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107576004803603602081101561074157600080fd5b810190808035906020019092919050505061117e565b005b6107a56004803603604081101561076f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061118a565b604051808215151515815260200191505060405180910390f35b610801600480360360208110156107d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a2565b6040518082815260200191505060405180910390f35b6108796004803603604081101561082d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111f0565b6040518082815260200191505060405180910390f35b61089761127c565b6040518082815260200191505060405180910390f35b6108fb600480360360408110156108c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611403565b005b600068010000000000000000600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546000600301540203816109a457fe5b049050919050565b6040518060400160405280600981526020017f424f4e4b544f4b454e000000000000000000000000000000000000000000000081525081565b600081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b818190508484905014610aef57600080fd5b60008090505b84849050811015610b5357610b4533868684818110610b1057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610b3957fe5b90506020020135611513565b508080600101915050610af5565b5050505050565b60008060000154905090565b600081600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610bf757600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610c92848484611513565b50600190509392505050565b610ca7816117f2565b50565b601281565b80610cb933610fd3565b1015610cc457600080fd5b600081905081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282540392505081905550600080600101541115610df65760006001015468010000000000000000820281610d4257fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37f557809284da7314475b1582804ae28e5f1349efc1fe970ea25d50fce75eb4f43816040518082815260200191505060405180910390a1610dfb565b600080fd5b5050565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b600080610e68338787611513565b90506000863b905060008163ffffffff161115610f7f578673ffffffffffffffffffffffffffffffffffffffff16636be32e73338488886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b158015610f3a57600080fd5b505af1158015610f4e573d6000803e3d6000fd5b505050506040513d6020811015610f6457600080fd5b8101908080519060200190929190505050610f7e57600080fd5b5b600192505050949350505050565b6000806000806000610f9d610b5a565b610fa561102c565b610fae88610fd3565b610fb7896111a2565b610fc08a6108fd565b9450945094509450945091939590929450565b6000610fde826111a2565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154039050919050565b60008060010154905090565b600080600101541161104957600080fd5b8061105333610fd3565b101561105e57600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282540392505081905550600060010154680100000000000000008202816110ca57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6040518060400160405280600481526020017f424f4e4b0000000000000000000000000000000000000000000000000000000081525081565b61118781611a11565b50565b6000611197338484611513565b506001905092915050565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b60008060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080611288336108fd565b9050600081101561129857600080fd5b680100000000000000008102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999826040518082815260200191505060405180910390a28091505090565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461146057600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b60008161151f85610fd3565b101561152a57600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555060006064600184028161158c57fe5b0490506000818403905060008060010154111561172d5780600060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000600101546801000000000000000083028161167457fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37f557809284da7314475b1582804ae28e5f1349efc1fe970ea25d50fce75eb4f43826040518082815260200191505060405180910390a180925050506117eb565b83600060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a383925050505b9392505050565b806117fc336111a2565b101561180757600080fd5b60006064600983028161181657fe5b0490506000600101546801000000000000000082028161183257fe5b046000600301600082825401925050819055508160006001016000828254039250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825403925050819055506000600301548202600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd836040518082815260200191505060405180910390a25050565b80611a1b33610fd3565b1015611a2657600080fd5b678ac7230489e8000081611a39336111a2565b011015611a4557600080fd5b8060006001016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825401925050819055506000600301548102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a826040518082815260200191505060405180910390a25056fea265627a7a723158202c824d146bfbc9edf72e641a247397fcc4fc768f5f5aa066e182600d34031aa664736f6c634300050d0032

Deployed ByteCode Sourcemap

159:6994:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;159:6994:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4637:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4637:200:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;399:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;399:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2933:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2933:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3769:259;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3769:259:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3769:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3769:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3769:259:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3769:259:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3769:259:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3769:259:0;;;;;;;;;;;;:::i;:::-;;4217:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3141:266;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3141:266:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1577:70;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1577:70:0;;;;;;;;;;;;;;;;;:::i;:::-;;486:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2035:444;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2035:444:0;;;;;;;;;;;;;;;;;:::i;:::-;;4983:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4983:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3412:352;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3412:352:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3412:352:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3412:352:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3412:352:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5099:275;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5099:275:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4399:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4399:124:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4308:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2484:306;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2484:306:0;;;;;;;;;;;;;;;;;:::i;:::-;;444:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;444:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1506:66;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1506:66:0;;;;;;;;;;;;;;;;;:::i;:::-;;2795:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2795:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4528:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4528:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4842:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4842:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1652:375;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4033:177;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4033:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4637:200;4694:7;219:5;4786:4;:10;;:17;4797:5;4786:17;;;;;;;;;;;;;;;:30;;;4758:4;:10;;:17;4769:5;4758:17;;;;;;;;;;;;;;;:24;;;4730:4;:25;;;:52;4723:93;4715:117;;;;;;4708:124;;4637:200;;;:::o;399:41::-;;;;;;;;;;;;;;;;;;;:::o;2933:203::-;3003:4;3059:7;3014:4;:10;;:22;3025:10;3014:22;;;;;;;;;;;;;;;:32;;:42;3047:8;3014:42;;;;;;;;;;;;;;;:52;;;;3097:8;3076:39;;3085:10;3076:39;;;3107:7;3076:39;;;;;;;;;;;;;;;;;;3127:4;3120:11;;2933:203;;;;:::o;3769:259::-;3894:8;;:15;;3873:10;;:17;;:36;3865:45;;;;;;3920:9;3932:1;3920:13;;3915:109;3939:10;;:17;;3935:1;:21;3915:109;;;3969:49;3979:10;3991;;4002:1;3991:13;;;;;;;;;;;;;;;4006:8;;4015:1;4006:11;;;;;;;;;;;;;3969:9;:49::i;:::-;;3958:3;;;;;;;3915:109;;;;3769:259;;;;:::o;4217:86::-;4261:7;4282:4;:16;;;4275:23;;4217:86;:::o;3141:266::-;3226:4;3288:7;3245:4;:10;;:17;3256:5;3245:17;;;;;;;;;;;;;;;:27;;:39;3273:10;3245:39;;;;;;;;;;;;;;;;:50;;3237:59;;;;;;3344:7;3301:4;:10;;:17;3312:5;3301:17;;;;;;;;;;;;;;;:27;;:39;3329:10;3301:39;;;;;;;;;;;;;;;;:50;;;;;;;;;;;3356:30;3366:5;3373:3;3378:7;3356:9;:30::i;:::-;;3398:4;3391:11;;3141:266;;;;;:::o;1577:70::-;1625:17;1634:7;1625:8;:17::i;:::-;1577:70;:::o;486:35::-;519:2;486:35;:::o;2035:444::-;2118:7;2093:21;2103:10;2093:9;:21::i;:::-;:32;;2085:41;;;;;;2131:22;2156:7;2131:32;;2208:7;2174:4;:10;;:22;2185:10;2174:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;2243:1;2224:4;:16;;;:20;2220:255;;;2313:4;:16;;;219:5;2281:14;:29;:48;;;;;;2252:4;:25;;;:77;;;;;;;;;;;2369:4;2340:51;;2349:10;2340:51;;;2376:14;2340:51;;;;;;;;;;;;;;;;;;2411:19;2415:14;2411:19;;;;;;;;;;;;;;;;;;2220:255;;;2455:8;;;2220:255;2035:444;;:::o;4983:111::-;5042:4;5060;:10;;:17;5071:5;5060:17;;;;;;;;;;;;;;;:29;;;;;;;;;;;;5053:36;;4983:111;;;:::o;3412:352::-;3507:4;3518:20;3541:35;3551:10;3563:3;3568:7;3541:9;:35::i;:::-;3518:58;;3582:12;3635:3;3623:16;3614:25;;3660:1;3652:5;:9;;;3648:96;;;3686:3;3677:27;;;3705:10;3717:12;3731:5;;3677:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3677:60:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3677:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3677:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3677:60:0;;;;;;;;;;;;;;;;3669:69;;;;;;3648:96;3755:4;3748:11;;;;3412:352;;;;;;:::o;5099:275::-;5155:24;5181:25;5208:19;5229:18;5249:21;5285:13;:11;:13::i;:::-;5300;:11;:13::i;:::-;5315:16;5325:5;5315:9;:16::i;:::-;5333:15;5342:5;5333:8;:15::i;:::-;5350:18;5362:5;5350:11;:18::i;:::-;5277:92;;;;;;;;;;5099:275;;;;;;;:::o;4399:124::-;4454:7;4503:15;4512:5;4503:8;:15::i;:::-;4475:4;:10;;:17;4486:5;4475:17;;;;;;;;;;;;;;;:25;;;:43;4468:50;;4399:124;;;:::o;4308:86::-;4352:7;4373:4;:16;;;4366:23;;4308:86;:::o;2484:306::-;2562:1;2543:4;:16;;;:20;2535:29;;;;;;2602:7;2577:21;2587:10;2577:9;:21::i;:::-;:32;;2569:41;;;;;;2649:7;2615:4;:10;;:22;2626:10;2615:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;2715:4;:16;;;219:5;2690:7;:22;:41;;;;;;2661:4;:25;;;:70;;;;;;;;;;;2770:4;2741:44;;2750:10;2741:44;;;2777:7;2741:44;;;;;;;;;;;;;;;;;;2484:306;:::o;444:38::-;;;;;;;;;;;;;;;;;;;:::o;1506:66::-;1552:15;1559:7;1552:6;:15::i;:::-;1506:66;:::o;2795:133::-;2861:4;2872:35;2882:10;2894:3;2899:7;2872:9;:35::i;:::-;;2919:4;2912:11;;2795:133;;;;:::o;4528:104::-;4582:7;4603:4;:10;;:17;4614:5;4603:17;;;;;;;;;;;;;;;:24;;;4596:31;;4528:104;;;:::o;4842:136::-;4915:7;4936:4;:10;;:17;4947:5;4936:17;;;;;;;;;;;;;;;:27;;:37;4964:8;4936:37;;;;;;;;;;;;;;;;4929:44;;4842:136;;;;:::o;1652:375::-;1689:7;1703:18;1724:23;1736:10;1724:11;:23::i;:::-;1703:44;;1774:1;1760:10;:15;;1752:24;;;;;;219:5;1827:10;:25;1781:4;:10;;:22;1792:10;1781:22;;;;;;;;;;;;;;;:35;;;:72;;;;;;;;;;;1892:10;1858:4;:10;;:22;1869:10;1858:22;;;;;;;;;;;;;;;:30;;;:44;;;;;;;;;;;1936:10;1912:47;;1929:4;1912:47;;;1948:10;1912:47;;;;;;;;;;;;;;;;;;1977:10;1969:31;;;1989:10;1969:31;;;;;;;;;;;;;;;;;;2012:10;2005:17;;;1652:375;:::o;4033:177::-;4115:4;:10;;;;;;;;;;;;4101:24;;:10;:24;;;4093:33;;;;;;4163:7;4131:4;:10;;:17;4142:5;4131:17;;;;;;;;;;;;;;;:29;;;:39;;;;;;;;;;;;;;;;;;4190:5;4180:25;;;4197:7;4180:25;;;;;;;;;;;;;;;;;;;;;;4033:177;;:::o;5382:811::-;5464:7;5506;5486:16;5496:5;5486:9;:16::i;:::-;:27;;5478:36;;;;;;5548:7;5519:4;:10;;:17;5530:5;5519:17;;;;;;;;;;;;;;;:25;;;:36;;;;;;;;;;;5566:18;5609:3;321:1;5587:7;:19;:25;;;;;;5566:46;;5623:20;5656:10;5646:7;:20;5623:43;;5700:1;5681:4;:16;;;:20;5677:509;;;5745:12;5718:4;:10;;:15;5729:3;5718:15;;;;;;;;;;;;;;;:23;;;:39;;;;;;;;;;;5793:3;5777:34;;5786:5;5777:34;;;5798:12;5777:34;;;;;;;;;;;;;;;;;;5883:4;:16;;;219:5;5855:10;:25;:44;;;;;;5826:4;:25;;;:73;;;;;;;;;;;5943:4;5919:42;;5928:5;5919:42;;;5950:10;5919:42;;;;;;;;;;;;;;;;;;5981:15;5985:10;5981:15;;;;;;;;;;;;;;;;;;6018:12;6011:19;;;;;;5677:509;6089:7;6062:4;:10;;:15;6073:3;6062:15;;;;;;;;;;;;;;;:23;;;:34;;;;;;;;;;;6132:3;6116:29;;6125:5;6116:29;;;6137:7;6116:29;;;;;;;;;;;;;;;;;;6167:7;6160:14;;;;5382:811;;;;;;:::o;6617:533::-;6698:7;6674:20;6683:10;6674:8;:20::i;:::-;:31;;6666:40;;;;;;6711:18;6746:3;6742:1;6732:7;:11;:17;;;;;;6711:38;;6811:4;:16;;;219:5;6783:10;:25;:44;;;;;;6754:4;:25;;;:73;;;;;;;;;;;6852:7;6832:4;:16;;;:27;;;;;;;;;;;6898:10;6864:4;:10;;:22;6875:10;6864:22;;;;;;;;;;;;;;;:30;;;:44;;;;;;;;;;;6946:7;6913:4;:10;;:22;6924:10;6913:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;7014:4;:25;;;7004:7;:35;6958:4;:10;;:22;6969:10;6958:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;7074:10;7050:57;;7067:4;7050:57;;;7096:10;7086:7;:20;7050:57;;;;;;;;;;;;;;;;;;7125:10;7117:28;;;7137:7;7117:28;;;;;;;;;;;;;;;;;;6617:533;;:::o;6198:411::-;6278:7;6253:21;6263:10;6253:9;:21::i;:::-;:32;;6245:41;;;;;;383:4;6322:7;6299:20;6308:10;6299:8;:20::i;:::-;:30;:50;;6291:59;;;;;;6375:7;6355:4;:16;;;:27;;;;;;;;;;;6420:7;6387:4;:10;;:22;6398:10;6387:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;6488:4;:25;;;6478:7;:35;6432:4;:10;;:22;6443:10;6432:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;6553:4;6524:44;;6533:10;6524:44;;;6560:7;6524:44;;;;;;;;;;;;;;;;;;6584:10;6578:26;;;6596:7;6578:26;;;;;;;;;;;;;;;;;;6198:411;:::o

Swarm Source

bzzr://2c824d146bfbc9edf72e641a247397fcc4fc768f5f5aa066e182600d34031aa6
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.