ETH Price: $2,423.93 (+0.27%)

Token

BFI-Theta (BFI-T)
 

Overview

Max Total Supply

95,156,838.176655139931 BFI-T

Holders

91

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 12 Decimals)

Balance
12,370.618110584353 BFI-T

Value
$0.00
0x1d7fe43995fd37bb87c73094cd70b0649a6df75d
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BFI_Theta

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-08-17
*/

// Blitz Finance-Theta (BFI-T) Token is 1 of 4 index tokens aims to lay the 
    // foundation for a novel monetary regime that does not act under a monetary 
    // authority or require oversight, yet still is able to sustain macroeconomic 
    // stability.
    
    
    // BFI-T can be considered as the triggering layer of the ecosystem. Price of 
    // BFI-T Token sets the parameters of a chain reaction towards each token. Price 
    // of BFI-T Token determines how BFI-Alpha Token supply will be adjusted dynamically. 
    // A drop in BFI-Theta Token’s price triggers the burn of a fraction of BFI-Alpha 
    // Token supply. In addition, BFI-T Token is inherently deflationary where 1% of 
    // each transaction is burned and deducted from the supply. 

        pragma solidity ^0.5.13;
        
        interface Callable {
        	function tokenCallback(address _from, uint256 _tokens, bytes calldata _data) external returns (bool);
        }
        
    // Price of BFI-Theta Token has a regulatory role on the supply of BFI-Alpha Token, that is the staking token of 
    // the Blitz Genesis Index, where a price drop in BFI-Theta Token triggers supply reduction in BFI-Alpha Token as a 
    // stability measure in BFI-Alpha Token price in order to protect BFI-Alpha Token Stakers. However the burn function 
    // does not affect the staked supply. BFI-Theta has trading pairs with ETH and all the other tokens in the Blitz Genesis Index.    
        
        contract BFI_Theta {
        
        	uint256 constant private Constant = 2**64;
        	uint256 constant private Total_BFIT = 96500000000000000000;
        	uint256 constant private Burn_Ratio = 1;
        	uint256 constant private Burn_Threshold = 2;     
        	uint256 constant private Freeze_Size = 1e20; 
        	
        	string constant public name = "BFI-Theta";
        	string constant public symbol = "BFI-T";
        	uint8 constant public decimals = 12;
        
        	struct User {
        		bool whitelisted;
        		uint256 balance;
        		uint256 frozen;
        		mapping(address => uint256) allowance;
        		int256 scaledPayout;
        	}
        
        	struct Info {
        		uint256 totalSupply;
        		uint256 totalFrozen;
        		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 Freeze(address indexed owner, uint256 tokens);
        	event Unfreeze(address indexed owner, uint256 tokens);
        	event Collect(address indexed owner, uint256 tokens);
        	event Burn(uint256 tokens);
        
    // BFI-Theta Token’s secondary regulatory task is to adjust the supply of BFI-Beta Token that is 
    // the staking reward token of the Blitz Genesis Index. If price of BFI-Theta Token drops, it results 
    // in minting of BFI-Beta Token. Purpose of the connection is to ensure the stability in the staking 
    // reward price, so to assure stakers about the amount of staking reward they will receive despite 
    // drastic market volatility. BFI-Beta has a single trading pair that is with BFI-Theta.   
    
        	constructor() public {
        		info.admin = msg.sender;
        		info.totalSupply = Total_BFIT;
        		info.users[msg.sender].balance = Total_BFIT;
        		emit Transfer(address(0x0), msg.sender, Total_BFIT);
        		whitelist(msg.sender, true);
        	}
        
        	function freeze(uint256 _tokens) external {
        		_freeze(_tokens);
        	}
        
        	function unfreeze(uint256 _tokens) external {
        		_unfreeze(_tokens);
        	}
        
        	function collect() external returns (uint256) {
        		uint256 _dividends = dividendsOf(msg.sender);
        		require(_dividends >= 0);
        		info.users[msg.sender].scaledPayout += int256(_dividends * Constant);
        		info.users[msg.sender].balance += _dividends;
        		emit Transfer(address(this), msg.sender, _dividends);
        		emit Collect(msg.sender, _dividends);
        		return _dividends;
        	}
        
        	function burn(uint256 _tokens) external {
        		require(balanceOf(msg.sender) >= _tokens);
        		info.users[msg.sender].balance -= _tokens;
        		uint256 _burnedAmount = _tokens;
        		if (info.totalFrozen > 0) {
        			_burnedAmount /= 2;
        			info.scaledPayoutPerToken += _burnedAmount * Constant / info.totalFrozen;
        			emit Transfer(msg.sender, address(this), _burnedAmount);
        		}
        		info.totalSupply -= _burnedAmount;
        		emit Transfer(msg.sender, address(0x0), _burnedAmount);
        		emit Burn(_burnedAmount);
        	}
        
        	function distribute(uint256 _tokens) external {
        		require(info.totalFrozen > 0);
        		require(balanceOf(msg.sender) >= _tokens);
        		info.users[msg.sender].balance -= _tokens;
        		info.scaledPayoutPerToken += _tokens * Constant / info.totalFrozen;
        		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 totalFrozen() public view returns (uint256) {
        		return info.totalFrozen;
        	}
        
        	function balanceOf(address _user) public view returns (uint256) {
        		return info.users[_user].balance - frozenOf(_user);
        	}
        
        	function frozenOf(address _user) public view returns (uint256) {
        		return info.users[_user].frozen;
        	}
        
        	function dividendsOf(address _user) public view returns (uint256) {
        		return uint256(int256(info.scaledPayoutPerToken * info.users[_user].frozen) - info.users[_user].scaledPayout) / Constant;
        	}
        
        	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 totalTokensFrozen, uint256 userBalance, uint256 userFrozen, uint256 userDividends) {
        		return (totalSupply(), totalFrozen(), balanceOf(_user), frozenOf(_user), dividendsOf(_user));
        	}
        
        
        	function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) {
        		require(balanceOf(_from) >= _tokens);
        		info.users[_from].balance -= _tokens;
        		uint256 _burnedAmount = _tokens * Burn_Ratio / 100;
        		if (totalSupply() - _burnedAmount < Total_BFIT * Burn_Threshold / 100 || isWhitelisted(_from)) {
        			_burnedAmount = 0;
        		}
        		uint256 _transferred = _tokens - _burnedAmount;
        		info.users[_to].balance += _transferred;
        		emit Transfer(_from, _to, _transferred);
        		if (_burnedAmount > 0) {
        			if (info.totalFrozen > 0) {
        				_burnedAmount /= 2;
        				info.scaledPayoutPerToken += _burnedAmount * Constant / info.totalFrozen;
        				emit Transfer(_from, address(this), _burnedAmount);
        			}
        			info.totalSupply -= _burnedAmount;
        			emit Transfer(_from, address(0x0), _burnedAmount);
        			emit Burn(_burnedAmount);
        		}
        		return _transferred;
        	}
        
        	function _freeze(uint256 _amount) internal {
        		require(balanceOf(msg.sender) >= _amount);
        		require(frozenOf(msg.sender) + _amount >= Freeze_Size);
        		info.totalFrozen += _amount;
        		info.users[msg.sender].frozen += _amount;
        		info.users[msg.sender].scaledPayout += int256(_amount * info.scaledPayoutPerToken);
        		emit Transfer(msg.sender, address(this), _amount);
        		emit Freeze(msg.sender, _amount);
        	}
        
        	function _unfreeze(uint256 _amount) internal {
        		require(frozenOf(msg.sender) >= _amount);
        		uint256 _burnedAmount = _amount * Burn_Ratio / 100;
        		info.scaledPayoutPerToken += _burnedAmount * Constant / info.totalFrozen;
        		info.totalFrozen -= _amount;
        		info.users[msg.sender].balance -= _burnedAmount;
        		info.users[msg.sender].frozen -= _amount;
        		info.users[msg.sender].scaledPayout -= int256(_amount * info.scaledPayoutPerToken);
        		emit Transfer(address(this), msg.sender, _amount - _burnedAmount);
        		emit Unfreeze(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":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Burn","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":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Freeze","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":"Unfreeze","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":"totalTokensFrozen","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"userFrozen","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":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"burn","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":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"frozenOf","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":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFrozen","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":"unfreeze","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"}]

608060405234801561001057600080fd5b5033600060040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555068053b34deb899320000600080018190555068053b34deb899320000600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef68053b34deb8993200006040518082815260200191505060405180910390a361013a33600161013f60201b60201c565b61024f565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461019c57600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b611c768061025e6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c806342966c68116100b857806395d89b411161007c57806395d89b4114610700578063a9059cbb14610783578063d7a78db8146107e9578063dd62ed3e14610817578063e52253811461088f578063f59c3708146108ad57610141565b806342966c68146105aa57806357f6b812146105d85780636623fc461461064c57806370a082311461067a57806391c05b0b146106d257610141565b80631bf6e00d1161010a5780631bf6e00d146103735780631e7f87bc146103cb57806323b872dd146103e9578063313ce5671461046f5780633af32abf146104935780634000aea0146104ef57610141565b806265318b1461014657806306fdde031461019e578063095ea7b314610221578063153a1f3e1461028757806318160ddd14610355575b600080fd5b6101886004803603602081101561015c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108fd565b6040518082815260200191505060405180910390f35b6101a66109ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e65780820151818401526020810190506101cb565b50505050905090810190601f1680156102135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61026d6004803603604081101561023757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109e5565b604051808215151515815260200191505060405180910390f35b6103536004803603604081101561029d57600080fd5b81019080803590602001906401000000008111156102ba57600080fd5b8201836020820111156102cc57600080fd5b803590602001918460208302840111640100000000831117156102ee57600080fd5b90919293919293908035906020019064010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184602083028401116401000000008311171561034357600080fd5b9091929391929390505050610add565b005b61035d610b5a565b6040518082815260200191505060405180910390f35b6103b56004803603602081101561038957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b66565b6040518082815260200191505060405180910390f35b6103d3610bb4565b6040518082815260200191505060405180910390f35b610455600480360360608110156103ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc0565b604051808215151515815260200191505060405180910390f35b610477610cf8565b604051808260ff1660ff16815260200191505060405180910390f35b6104d5600480360360208110156104a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cfd565b604051808215151515815260200191505060405180910390f35b6105906004803603606081101561050557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561054c57600080fd5b82018360208201111561055e57600080fd5b8035906020019184600183028401116401000000008311171561058057600080fd5b9091929391929390505050610d58565b604051808215151515815260200191505060405180910390f35b6105d6600480360360208110156105c057600080fd5b8101908080359060200190929190505050610e8b565b005b61061a600480360360208110156105ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611057565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b6106786004803603602081101561066257600080fd5b810190808035906020019092919050505061109d565b005b6106bc6004803603602081101561069057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110a9565b6040518082815260200191505060405180910390f35b6106fe600480360360208110156106e857600080fd5b8101908080359060200190929190505050611102565b005b61070861120f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074857808201518184015260208101905061072d565b50505050905090810190601f1680156107755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107cf6004803603604081101561079957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611248565b604051808215151515815260200191505060405180910390f35b610815600480360360208110156107ff57600080fd5b8101908080359060200190929190505050611260565b005b6108796004803603604081101561082d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126c565b6040518082815260200191505060405180910390f35b6108976112f8565b6040518082815260200191505060405180910390f35b6108fb600480360360408110156108c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061147f565b005b600068010000000000000000600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546000600301540203816109a457fe5b049050919050565b6040518060400160405280600981526020017f4246492d5468657461000000000000000000000000000000000000000000000081525081565b600081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b818190508484905014610aef57600080fd5b60008090505b84849050811015610b5357610b4533868684818110610b1057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610b3957fe5b9050602002013561158f565b508080600101915050610af5565b5050505050565b60008060000154905090565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b60008060010154905090565b600081600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610c5157600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610cec84848461158f565b50600190509392505050565b600c81565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b600080610d6633878761158f565b90506000863b905060008163ffffffff161115610e7d578673ffffffffffffffffffffffffffffffffffffffff16636be32e73338488886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b158015610e3857600080fd5b505af1158015610e4c573d6000803e3d6000fd5b505050506040513d6020811015610e6257600080fd5b8101908080519060200190929190505050610e7c57600080fd5b5b600192505050949350505050565b80610e95336110a9565b1015610ea057600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000819050600080600101541115610fa45760028181610f0f57fe5b04905060006001015468010000000000000000820281610f2b57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b806000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a15050565b6000806000806000611067610b5a565b61106f610bb4565b611078886110a9565b61108189610b66565b61108a8a6108fd565b9450945094509450945091939590929450565b6110a681611877565b50565b60006110b482610b66565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154039050919050565b600080600101541161111357600080fd5b8061111d336110a9565b101561112857600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000600101546801000000000000000082028161119457fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6040518060400160405280600581526020017f4246492d5400000000000000000000000000000000000000000000000000000081525081565b600061125533848461158f565b506001905092915050565b61126981611a96565b50565b60008060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080611304336108fd565b9050600081101561131457600080fd5b680100000000000000008102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999826040518082815260200191505060405180910390a28091505090565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114dc57600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b60008161159b856110a9565b10156115a657600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555060006064600184028161160857fe5b0490506064600268053b34deb899320000028161162157fe5b048161162b610b5a565b03108061163d575061163c85610cfd565b5b1561164757600090505b6000818403905080600060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600082111561186b576000806001015411156117bb576002828161172657fe5b0491506000600101546801000000000000000083028161174257fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b816000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a15b80925050509392505050565b8061188133610b66565b101561188c57600080fd5b60006064600183028161189b57fe5b049050600060010154680100000000000000008202816118b757fe5b046000600301600082825401925050819055508160006001016000828254039250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825403925050819055506000600301548202600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f836040518082815260200191505060405180910390a25050565b80611aa0336110a9565b1015611aab57600080fd5b68056bc75e2d6310000081611abf33610b66565b011015611acb57600080fd5b8060006001016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825401925050819055506000600301548102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0826040518082815260200191505060405180910390a25056fea265627a7a72315820800f0aa2da492613900242da81fc4128cd34a6fd9a2f76c02d4ac62045af3f0464736f6c634300050d0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101415760003560e01c806342966c68116100b857806395d89b411161007c57806395d89b4114610700578063a9059cbb14610783578063d7a78db8146107e9578063dd62ed3e14610817578063e52253811461088f578063f59c3708146108ad57610141565b806342966c68146105aa57806357f6b812146105d85780636623fc461461064c57806370a082311461067a57806391c05b0b146106d257610141565b80631bf6e00d1161010a5780631bf6e00d146103735780631e7f87bc146103cb57806323b872dd146103e9578063313ce5671461046f5780633af32abf146104935780634000aea0146104ef57610141565b806265318b1461014657806306fdde031461019e578063095ea7b314610221578063153a1f3e1461028757806318160ddd14610355575b600080fd5b6101886004803603602081101561015c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108fd565b6040518082815260200191505060405180910390f35b6101a66109ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e65780820151818401526020810190506101cb565b50505050905090810190601f1680156102135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61026d6004803603604081101561023757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109e5565b604051808215151515815260200191505060405180910390f35b6103536004803603604081101561029d57600080fd5b81019080803590602001906401000000008111156102ba57600080fd5b8201836020820111156102cc57600080fd5b803590602001918460208302840111640100000000831117156102ee57600080fd5b90919293919293908035906020019064010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184602083028401116401000000008311171561034357600080fd5b9091929391929390505050610add565b005b61035d610b5a565b6040518082815260200191505060405180910390f35b6103b56004803603602081101561038957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b66565b6040518082815260200191505060405180910390f35b6103d3610bb4565b6040518082815260200191505060405180910390f35b610455600480360360608110156103ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc0565b604051808215151515815260200191505060405180910390f35b610477610cf8565b604051808260ff1660ff16815260200191505060405180910390f35b6104d5600480360360208110156104a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cfd565b604051808215151515815260200191505060405180910390f35b6105906004803603606081101561050557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561054c57600080fd5b82018360208201111561055e57600080fd5b8035906020019184600183028401116401000000008311171561058057600080fd5b9091929391929390505050610d58565b604051808215151515815260200191505060405180910390f35b6105d6600480360360208110156105c057600080fd5b8101908080359060200190929190505050610e8b565b005b61061a600480360360208110156105ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611057565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b6106786004803603602081101561066257600080fd5b810190808035906020019092919050505061109d565b005b6106bc6004803603602081101561069057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110a9565b6040518082815260200191505060405180910390f35b6106fe600480360360208110156106e857600080fd5b8101908080359060200190929190505050611102565b005b61070861120f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074857808201518184015260208101905061072d565b50505050905090810190601f1680156107755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107cf6004803603604081101561079957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611248565b604051808215151515815260200191505060405180910390f35b610815600480360360208110156107ff57600080fd5b8101908080359060200190929190505050611260565b005b6108796004803603604081101561082d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126c565b6040518082815260200191505060405180910390f35b6108976112f8565b6040518082815260200191505060405180910390f35b6108fb600480360360408110156108c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061147f565b005b600068010000000000000000600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546000600301540203816109a457fe5b049050919050565b6040518060400160405280600981526020017f4246492d5468657461000000000000000000000000000000000000000000000081525081565b600081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b818190508484905014610aef57600080fd5b60008090505b84849050811015610b5357610b4533868684818110610b1057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610b3957fe5b9050602002013561158f565b508080600101915050610af5565b5050505050565b60008060000154905090565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b60008060010154905090565b600081600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610c5157600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610cec84848461158f565b50600190509392505050565b600c81565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b600080610d6633878761158f565b90506000863b905060008163ffffffff161115610e7d578673ffffffffffffffffffffffffffffffffffffffff16636be32e73338488886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b158015610e3857600080fd5b505af1158015610e4c573d6000803e3d6000fd5b505050506040513d6020811015610e6257600080fd5b8101908080519060200190929190505050610e7c57600080fd5b5b600192505050949350505050565b80610e95336110a9565b1015610ea057600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000819050600080600101541115610fa45760028181610f0f57fe5b04905060006001015468010000000000000000820281610f2b57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b806000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a15050565b6000806000806000611067610b5a565b61106f610bb4565b611078886110a9565b61108189610b66565b61108a8a6108fd565b9450945094509450945091939590929450565b6110a681611877565b50565b60006110b482610b66565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154039050919050565b600080600101541161111357600080fd5b8061111d336110a9565b101561112857600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506000600101546801000000000000000082028161119457fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6040518060400160405280600581526020017f4246492d5400000000000000000000000000000000000000000000000000000081525081565b600061125533848461158f565b506001905092915050565b61126981611a96565b50565b60008060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080611304336108fd565b9050600081101561131457600080fd5b680100000000000000008102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999826040518082815260200191505060405180910390a28091505090565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114dc57600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b60008161159b856110a9565b10156115a657600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555060006064600184028161160857fe5b0490506064600268053b34deb899320000028161162157fe5b048161162b610b5a565b03108061163d575061163c85610cfd565b5b1561164757600090505b6000818403905080600060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600082111561186b576000806001015411156117bb576002828161172657fe5b0491506000600101546801000000000000000083028161174257fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b816000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a15b80925050509392505050565b8061188133610b66565b101561188c57600080fd5b60006064600183028161189b57fe5b049050600060010154680100000000000000008202816118b757fe5b046000600301600082825401925050819055508160006001016000828254039250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000828254039250508190555081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825403925050819055506000600301548202600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f836040518082815260200191505060405180910390a25050565b80611aa0336110a9565b1015611aab57600080fd5b68056bc75e2d6310000081611abf33610b66565b011015611acb57600080fd5b8060006001016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825401925050819055506000600301548102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0826040518082815260200191505060405180910390a25056fea265627a7a72315820800f0aa2da492613900242da81fc4128cd34a6fd9a2f76c02d4ac62045af3f0464736f6c634300050d0032

Deployed Bytecode Sourcemap

1510:9329:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1510:9329:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7758:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7758:212:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1852: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;1852:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5615:235;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5615:235:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6650:299;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6650:299:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6650:299:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6650:299: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;6650:299:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6650:299:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6650:299: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;6650:299:0;;;;;;;;;;;;:::i;:::-;;7210:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7617:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7617:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7333:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5871:306;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5871:306:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1956:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8164:127;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8164:127:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6198:431;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6198:431:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6198:431:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6198:431: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;6198:431:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4451:594;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4451:594:0;;;;;;;;;;;;;;;;;:::i;:::-;;8312:291;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8312:291:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3886:88;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3886:88:0;;;;;;;;;;;;;;;;;:::i;:::-;;7456:140;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7456:140:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5066:350;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5066:350:0;;;;;;;;;;;;;;;;;:::i;:::-;;1905:39;;;:::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;1905:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5437:157;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5437:157:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3781:84;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3781:84:0;;;;;;;;;;;;;;;;;:::i;:::-;;7991:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7991:152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3995:435;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6970:209;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6970:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7758:212;7815:7;1587:5;7915:4;:10;;:17;7926:5;7915:17;;;;;;;;;;;;;;;:30;;;7887:4;:10;;:17;7898:5;7887:17;;;;;;;;;;;;;;;:24;;;7859:4;:25;;;:52;7852:93;7844:113;;;;;;7837:120;;7758:212;;;:::o;1852:41::-;;;;;;;;;;;;;;;;;;;:::o;5615:235::-;5685:4;5749:7;5704:4;:10;;:22;5715:10;5704:22;;;;;;;;;;;;;;;:32;;:42;5737:8;5704:42;;;;;;;;;;;;;;;:52;;;;5795:8;5774:39;;5783:10;5774:39;;;5805:7;5774:39;;;;;;;;;;;;;;;;;;5833:4;5826:11;;5615:235;;;;:::o;6650:299::-;6783:8;;:15;;6762:10;;:17;;:36;6754:45;;;;;;6817:9;6829:1;6817:13;;6812:125;6836:10;;:17;;6832:1;:21;6812:125;;;6874:49;6884:10;6896;;6907:1;6896:13;;;;;;;;;;;;;;;6911:8;;6920:1;6911:11;;;;;;;;;;;;;6874:9;:49::i;:::-;;6855:3;;;;;;;6812:125;;;;6650:299;;;;:::o;7210:102::-;7254:7;7283:4;:16;;;7276:23;;7210:102;:::o;7617:120::-;7671:7;7700:4;:10;;:17;7711:5;7700:17;;;;;;;;;;;;;;;:24;;;7693:31;;7617:120;;;:::o;7333:102::-;7377:7;7406:4;:16;;;7399:23;;7333:102;:::o;5871:306::-;5956:4;6026:7;5983:4;:10;;:17;5994:5;5983:17;;;;;;;;;;;;;;;:27;;:39;6011:10;5983:39;;;;;;;;;;;;;;;;:50;;5975:59;;;;;;6090:7;6047:4;:10;;:17;6058:5;6047:17;;;;;;;;;;;;;;;:27;;:39;6075:10;6047:39;;;;;;;;;;;;;;;;:50;;;;;;;;;;;6110:30;6120:5;6127:3;6132:7;6110:9;:30::i;:::-;;6160:4;6153:11;;5871:306;;;;;:::o;1956:35::-;1989:2;1956:35;:::o;8164:127::-;8223:4;8249;:10;;:17;8260:5;8249:17;;;;;;;;;;;;;;;:29;;;;;;;;;;;;8242:36;;8164:127;;;:::o;6198:431::-;6293:4;6312:20;6335:35;6345:10;6357:3;6362:7;6335:9;:35::i;:::-;6312:58;;6383:12;6452:3;6440:16;6431:25;;6493:1;6485:5;:9;;;6481:112;;;6527:3;6518:27;;;6546:10;6558:12;6572:5;;6518: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;;6518:60:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6518:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6518:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6518:60:0;;;;;;;;;;;;;;;;6510:69;;;;;;6481:112;6612:4;6605:11;;;;6198:431;;;;;;:::o;4451:594::-;4537:7;4512:21;4522:10;4512:9;:21::i;:::-;:32;;4504:41;;;;;;4592:7;4558:4;:10;;:22;4569:10;4558:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;4612:21;4636:7;4612:31;;4679:1;4660:4;:16;;;:20;4656:227;;;4713:1;4696:18;;;;;;;;;4784:4;:16;;;1587:5;4757:13;:24;:43;;;;;;4728:4;:25;;;:72;;;;;;;;;;;4848:4;4819:50;;4828:10;4819:50;;;4855:13;4819:50;;;;;;;;;;;;;;;;;;4656:227;4915:13;4895:4;:16;;;:33;;;;;;;;;;;4975:3;4946:49;;4955:10;4946:49;;;4981:13;4946:49;;;;;;;;;;;;;;;;;;5013:19;5018:13;5013:19;;;;;;;;;;;;;;;;;;4451:594;;:::o;8312:291::-;8368:24;8394:25;8421:19;8442:18;8462:21;8506:13;:11;:13::i;:::-;8521;:11;:13::i;:::-;8536:16;8546:5;8536:9;:16::i;:::-;8554:15;8563:5;8554:8;:15::i;:::-;8571:18;8583:5;8571:11;:18::i;:::-;8498:92;;;;;;;;;;8312:291;;;;;;;:::o;3886:88::-;3943:18;3953:7;3943:9;:18::i;:::-;3886:88;:::o;7456:140::-;7511:7;7568:15;7577:5;7568:8;:15::i;:::-;7540:4;:10;;:17;7551:5;7540:17;;;;;;;;;;;;;;;:25;;;:43;7533:50;;7456:140;;;:::o;5066:350::-;5152:1;5133:4;:16;;;:20;5125:29;;;;;;5200:7;5175:21;5185:10;5175:9;:21::i;:::-;:32;;5167:41;;;;;;5255:7;5221:4;:10;;:22;5232:10;5221:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;5325:4;:16;;;1587:5;5304:7;:18;:37;;;;;;5275:4;:25;;;:66;;;;;;;;;;;5388:4;5359:44;;5368:10;5359:44;;;5395:7;5359:44;;;;;;;;;;;;;;;;;;5066:350;:::o;1905:39::-;;;;;;;;;;;;;;;;;;;:::o;5437:157::-;5503:4;5522:35;5532:10;5544:3;5549:7;5522:9;:35::i;:::-;;5577:4;5570:11;;5437:157;;;;:::o;3781:84::-;3836:16;3844:7;3836;:16::i;:::-;3781:84;:::o;7991:152::-;8064:7;8093:4;:10;;:17;8104:5;8093:17;;;;;;;;;;;;;;;:27;;:37;8121:8;8093:37;;;;;;;;;;;;;;;;8086:44;;7991:152;;;;:::o;3995:435::-;4032:7;4054:18;4075:23;4087:10;4075:11;:23::i;:::-;4054:44;;4133:1;4119:10;:15;;4111:24;;;;;;1587:5;4194:10;:21;4148:4;:10;;:22;4159:10;4148:22;;;;;;;;;;;;;;;:35;;;:68;;;;;;;;;;;4263:10;4229:4;:10;;:22;4240:10;4229:22;;;;;;;;;;;;;;;:30;;;:44;;;;;;;;;;;4315:10;4291:47;;4308:4;4291:47;;;4327:10;4291:47;;;;;;;;;;;;;;;;;;4364:10;4356:31;;;4376:10;4356:31;;;;;;;;;;;;;;;;;;4407:10;4400:17;;;3995:435;:::o;6970:209::-;7060:4;:10;;;;;;;;;;;;7046:24;;:10;:24;;;7038:33;;;;;;7116:7;7084:4;:10;;:17;7095:5;7084:17;;;;;;;;;;;;;;;:29;;;:39;;;;;;;;;;;;;;;;;;7151:5;7141:25;;;7158:7;7141:25;;;;;;;;;;;;;;;;;;;;;;6970:209;;:::o;8634:1048::-;8716:7;8766;8746:16;8756:5;8746:9;:16::i;:::-;:27;;8738:36;;;;;;8816:7;8787:4;:10;;:17;8798:5;8787:17;;;;;;;;;;;;;;;:25;;;:36;;;;;;;;;;;8836:21;8883:3;1712:1;8860:7;:20;:26;;;;;;8836:50;;8965:3;1767:1;1642:20;8935:27;:33;;;;;;8919:13;8903;:11;:13::i;:::-;:29;:65;:89;;;;8972:20;8986:5;8972:13;:20::i;:::-;8903:89;8899:140;;;9024:1;9008:17;;8899:140;9051:20;9084:13;9074:7;:23;9051:46;;9137:12;9110:4;:10;;:15;9121:3;9110:15;;;;;;;;;;;;;;;:23;;;:39;;;;;;;;;;;9183:3;9167:34;;9176:5;9167:34;;;9188:12;9167:34;;;;;;;;;;;;;;;;;;9234:1;9218:13;:17;9214:424;;;9274:1;9255:4;:16;;;:20;9251:226;;;9309:1;9292:18;;;;;;;;;9381:4;:16;;;1587:5;9354:13;:24;:43;;;;;;9325:4;:25;;;:72;;;;;;;;;;;9441:4;9417:45;;9426:5;9417:45;;;9448:13;9417:45;;;;;;;;;;;;;;;;;;9251:226;9510:13;9490:4;:16;;;:33;;;;;;;;;;;9566:3;9542:44;;9551:5;9542:44;;;9572:13;9542:44;;;;;;;;;;;;;;;;;;9605:19;9610:13;9605:19;;;;;;;;;;;;;;;;;;9214:424;9657:12;9650:19;;;;8634:1048;;;;;:::o;10196:632::-;10286:7;10262:20;10271:10;10262:8;:20::i;:::-;:31;;10254:40;;;;;;10307:21;10354:3;1712:1;10331:7;:20;:26;;;;;;10307:50;;10426:4;:16;;;1587:5;10399:13;:24;:43;;;;;;10370:4;:25;;;:72;;;;;;;;;;;10475:7;10455:4;:16;;;:27;;;;;;;;;;;10529:13;10495:4;:10;;:22;10506:10;10495:22;;;;;;;;;;;;;;;:30;;;:47;;;;;;;;;;;10588:7;10555:4;:10;;:22;10566:10;10555:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;10664:4;:25;;;10654:7;:35;10608:4;:10;;:22;10619:10;10608:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;10732:10;10708:60;;10725:4;10708:60;;;10754:13;10744:7;:23;10708:60;;;;;;;;;;;;;;;;;;10795:10;10786:29;;;10807:7;10786:29;;;;;;;;;;;;;;;;;;10196:632;;:::o;9703:472::-;9792:7;9767:21;9777:10;9767:9;:21::i;:::-;:32;;9759:41;;;;;;1824:4;9844:7;9821:20;9830:10;9821:8;:20::i;:::-;:30;:45;;9813:54;;;;;;9900:7;9880:4;:16;;;:27;;;;;;;;;;;9953:7;9920:4;:10;;:22;9931:10;9920:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;10029:4;:25;;;10019:7;:35;9973:4;:10;;:22;9984:10;9973:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;10102:4;10073:44;;10082:10;10073:44;;;10109:7;10073:44;;;;;;;;;;;;;;;;;;10142:10;10135:27;;;10154:7;10135:27;;;;;;;;;;;;;;;;;;9703:472;:::o

Swarm Source

bzzr://800f0aa2da492613900242da81fc4128cd34a6fd9a2f76c02d4ac62045af3f04
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.