ETH Price: $2,413.94 (+1.80%)

Token

PoWM (POWM)
 

Overview

Max Total Supply

798,061,357.416976065504617928 POWM

Holders

78

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
90.278385468920372332 POWM

Value
$0.00
0x9d2773e66d41a28CAE8eBbdBB7d396Fe51Ae03De
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:
PoWM

Compiler Version
v0.6.10+commit.00c0fcaf

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-06-22
*/

pragma solidity ^0.6.10;

//Powm Coin Master Contract

contract PoWM {
    uint256 constant private INITIAL_SUPPLY = 8e26;
	string constant public name = "PoWM";
	string constant public symbol = "POWM";
	uint256 constant private POINT_AT = 2**64;
	uint256 constant private MIN_STAKING_AMOUNT = 2e19;
	uint256 constant private MIN_CIRCULATION = 1;
	uint256 constant private DEFLATION_QUANT = 12;
	uint8 constant public decimals = 18;
	event Whitelist(address indexed user, bool status);
	event Stakelist(address indexed user, bool status);
	event AddedStaker(address indexed user);
	event Stake(address indexed owner, uint256 tokens);
	event Burn(uint256 tokens);
	event Unstake(address indexed owner, uint256 tokens);
	event Withdrawal(address indexed owner, uint256 tokens);
	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);
	function stakersCount() public view returns(uint total) {
        return stakers.length;
    }
    function stakersAll() public view returns( address  [] memory){
        return stakers;
    }
	struct Entity {
	    uint256 stakerIndex;
		bool whitelisted;
		bool stakelisted;
		uint256 invites;
		uint256 balance;
		uint256 frozen;
		mapping(address => uint256) allowance;
		int256 scaledPayout;
	}
	struct Entities {
		uint256 totalSupply;
		uint256 totalStaked;
		mapping(address => Entity) users;
		uint256 scaledPayoutPerToken;
		address admin;
	}
	Entities private info;
	address[] public stakers;
	constructor() public {
		info.admin = msg.sender;
		info.totalSupply = INITIAL_SUPPLY;
		whitelist(msg.sender, true);
		info.users[msg.sender].balance = INITIAL_SUPPLY;
		emit Transfer(address(0x0), msg.sender, INITIAL_SUPPLY);
	}

	function withdraw_dividends() external returns (uint256) {
		uint256 _dividends = dividendsOf(msg.sender);
		require(_dividends >= 0);
		info.users[msg.sender].scaledPayout += int256(_dividends * POINT_AT);
		info.users[msg.sender].balance += _dividends;
		emit Transfer(address(this), msg.sender, _dividends);
		emit Withdrawal(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.totalStaked > 0) {
			_burnedAmount /= 2;
			info.scaledPayoutPerToken += _burnedAmount * POINT_AT / info.totalStaked;
			emit Transfer(msg.sender, address(this), _burnedAmount);
		}
		info.totalSupply -= _burnedAmount;
		emit Transfer(msg.sender, address(0x0), _burnedAmount);
		emit Burn(_burnedAmount);
	}

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

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

	function transfer(address _to, uint256 _tokens) external returns (bool) {
		_transfer(msg.sender, _to, _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 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 deleteStaker(uint index) public {
        require(msg.sender == info.admin);
        require(index < stakers.length);
        stakers[index] = stakers[stakers.length-1];
        stakers.pop();
    }
    function setStakelistedStatus(address _user, bool _status) public {
        require(msg.sender == info.admin);
		info.users[_user].stakelisted = _status;
    }
    function setInvites(address _user, uint amount) public {
        require(msg.sender == info.admin);
        info.users[_user].invites = amount;
    }
	function stakelistAdmin(address _user, bool _status, uint256 invites) public {
		require(msg.sender == info.admin);
		info.users[_user].stakelisted = _status;
		if (_status && !(info.users[_user].stakerIndex > 0)) {
		    info.users[_user].stakerIndex = stakers.length;
		    stakers.push(_user);
		    if (invites > 0) {
		    setInvites(_user, invites);
		    }
		} else {
		    //pad last staker for correct indexing after deleting from array
		    info.users[stakers[stakers.length-1]].stakerIndex = info.users[_user].stakerIndex;
		    deleteStaker(info.users[_user].stakerIndex);
		    info.users[_user].stakerIndex = 0;
		    setInvites(_user, invites);
		}
		emit Stakelist(_user, _status);
	}
	function stakelistUser(address _user) public {
		require(info.users[msg.sender].invites > 0);
		require(!(info.users[_user].stakerIndex > 0));
		info.users[msg.sender].invites--;
		info.users[_user].stakelisted = true;
		info.users[_user].stakerIndex = stakers.length;
		stakers.push(_user);
		emit AddedStaker(_user);
	}
	function totalSupply() public view returns (uint256) {
		return info.totalSupply;
	}

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

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

	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].frozen;
	}

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

	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 isStakelisted(address _user) public view returns (bool) {
		return info.users[_user].stakelisted;
	}

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

	function allInfoFor(address _user) public view returns
	(uint256 totalTokenSupply, uint256 totalTokensFrozen, uint256 userBalance,
	uint256 userFrozen, uint256 userDividends, bool stakeListed, uint256 invites) {
		return (totalSupply(), totalStaked(), balanceOf(_user),
		stakedOf(_user), dividendsOf(_user), isStakelisted(_user), invitesCount(_user));
	}


	function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) {
		require(balanceOf(_from) >= _tokens);
		info.users[_from].balance -= _tokens;
		uint256 _burnedAmount = _tokens * DEFLATION_QUANT / 100;
		if (totalSupply() - _burnedAmount < INITIAL_SUPPLY * MIN_CIRCULATION / 100 || isWhitelisted(_from)) {
			_burnedAmount = 0;
		}
		uint256 _transferred = _tokens - _burnedAmount;
		info.users[_to].balance += _transferred;
		emit Transfer(_from, _to, _transferred);
		if (_burnedAmount > 0) {
			if (info.totalStaked > 0) {
				_burnedAmount /= 2;
				info.scaledPayoutPerToken += _burnedAmount * POINT_AT / info.totalStaked;
				emit Transfer(_from, address(this), _burnedAmount);
			}
			info.totalSupply -= _burnedAmount;
			emit Transfer(_from, address(0x0), _burnedAmount);
			emit Burn(_burnedAmount);
		}
		return _transferred;
	}

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

	function unstakeCoins(uint256 _amount) internal {
		require(stakedOf(msg.sender) >= _amount);
		uint256 _burnedAmount = _amount * DEFLATION_QUANT / 100;
		info.scaledPayoutPerToken += _burnedAmount * POINT_AT / info.totalStaked;
		info.totalStaked -= _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 Unstake(msg.sender, _amount);
	}

	function stake(uint256 amount) external {
		stakeCoins(amount);
	}

	function unstake(uint256 amount) external {
		unstakeCoins(amount);
	}
}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AddedStaker","type":"event"},{"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":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Stakelist","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Withdrawal","type":"event"},{"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"},{"internalType":"bool","name":"stakeListed","type":"bool"},{"internalType":"uint256","name":"invites","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_receivers","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"deleteStaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"invitesCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isStakelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"send_interest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setInvites","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setStakelistedStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"stakedOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint256","name":"invites","type":"uint256"}],"name":"stakelistAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"stakelistUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakersAll","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakersCount","outputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw_dividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5033600060040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b0295be96e640669720000000600080018190555061007b33600161014860201b60201c565b6b0295be96e640669720000000600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b0295be96e6406697200000006040518082815260200191505060405180910390a3610258565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101a557600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b61289980620002686000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806370a082311161010f578063b198298e116100a2578063e298cbef11610071578063e298cbef14610a9a578063f0a5ea7614610ae8578063f59c370814610b42578063fd5e6dd114610b92576101e4565b8063b198298e14610945578063c13dd15814610995578063c373ec64146109c3578063dd62ed3e14610a22576101e4565b8063a2e80c5e116100de578063a2e80c5e1461083b578063a694fc3a14610859578063a9059cbb14610887578063af500ba3146108ed576101e4565b806370a0823114610724578063731cdd5e1461077c578063817b1cd21461079a57806395d89b41146107b8576101e4565b80632e17de781161018757806356c17b8a1161015657806356c17b8a146105d057806357f6b812146105fe578063596b7c5d1461068457806368605f6c146106c8576101e4565b80632e17de78146104f4578063313ce567146105225780633af32abf1461054657806342966c68146105a2576101e4565b806312c843ec116101c357806312c843ec1461032a578063153a1f3e1461038257806318160ddd1461045057806323b872dd1461046e576101e4565b806265318b146101e957806306fdde0314610241578063095ea7b3146102c4575b600080fd5b61022b600480360360208110156101ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c00565b6040518082815260200191505060405180910390f35b610249610caf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028957808201518184015260208101905061026e565b50505050905090810190601f1680156102b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610310600480360360408110156102da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce8565b604051808215151515815260200191505060405180910390f35b61036c6004803603602081101561034057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610de0565b6040518082815260200191505060405180910390f35b61044e6004803603604081101561039857600080fd5b81019080803590602001906401000000008111156103b557600080fd5b8201836020820111156103c757600080fd5b803590602001918460208302840111640100000000831117156103e957600080fd5b90919293919293908035906020019064010000000081111561040a57600080fd5b82018360208201111561041c57600080fd5b8035906020019184602083028401116401000000008311171561043e57600080fd5b9091929391929390505050610e2e565b005b610458610eab565b6040518082815260200191505060405180910390f35b6104da6004803603606081101561048457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610eb7565b604051808215151515815260200191505060405180910390f35b6105206004803603602081101561050a57600080fd5b8101908080359060200190929190505050610fef565b005b61052a610ffb565b604051808260ff1660ff16815260200191505060405180910390f35b6105886004803603602081101561055c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611000565b604051808215151515815260200191505060405180910390f35b6105ce600480360360208110156105b857600080fd5b810190808035906020019092919050505061105b565b005b6105fc600480360360208110156105e657600080fd5b8101908080359060200190929190505050611227565b005b6106406004803603602081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136d565b604051808881526020018781526020018681526020018581526020018481526020018315151515815260200182815260200197505050505050505060405180910390f35b6106c66004803603602081101561069a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113ce565b005b61070a600480360360208110156106de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061161d565b604051808215151515815260200191505060405180910390f35b6107666004803603602081101561073a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611678565b6040518082815260200191505060405180910390f35b6107846116d1565b6040518082815260200191505060405180910390f35b6107a2611858565b6040518082815260200191505060405180910390f35b6107c0611864565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108005780820151818401526020810190506107e5565b50505050905090810190601f16801561082d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61084361189d565b6040518082815260200191505060405180910390f35b6108856004803603602081101561086f57600080fd5b81019080803590602001909291905050506118aa565b005b6108d36004803603604081101561089d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118b6565b604051808215151515815260200191505060405180910390f35b61092f6004803603602081101561090357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ce565b6040518082815260200191505060405180910390f35b6109936004803603604081101561095b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061191c565b005b6109c1600480360360208110156109ab57600080fd5b81019080803590602001909291905050506119da565b005b6109cb611ae7565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610a0e5780820151818401526020810190506109f3565b505050509050019250505060405180910390f35b610a8460048036036040811015610a3857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b75565b6040518082815260200191505060405180910390f35b610ae660048036036040811015610ab057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c01565b005b610b4060048036036060811015610afe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050611cac565b005b610b9060048036036040811015610b5857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612050565b005b610bbe60048036036020811015610ba857600080fd5b8101908080359060200190929190505050612160565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600068010000000000000000600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154600060030154020381610ca757fe5b049050919050565b6040518060400160405280600481526020017f506f574d0000000000000000000000000000000000000000000000000000000081525081565b600081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b818190508484905014610e4057600080fd5b60008090505b84849050811015610ea457610e9633868684818110610e6157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610e8a57fe5b9050602002013561219c565b508080600101915050610e46565b5050505050565b60008060000154905090565b600081600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f4857600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610fe384848461219c565b50600190509392505050565b610ff881612487565b50565b601281565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b8061106533611678565b101561107057600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008282540392505081905550600081905060008060010154111561117457600281816110df57fe5b049050600060010154680100000000000000008202816110fb57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b806000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a15050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461128457600080fd5b600580549050811061129557600080fd5b6005600160058054905003815481106112aa57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600582815481106112e257fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600580548061133557fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905550565b6000806000806000806000611380610eab565b611388611858565b6113918a611678565b61139a8b6118ce565b6113a38c610c00565b6113ac8d61161d565b6113b58e610de0565b9650965096509650965096509650919395979092949650565b60008060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201541161141f57600080fd5b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154111561147157600080fd5b600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008154809291906001900391905055506001600060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600580549050600060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f4c280b3a8b7983966548fc55a892b62c955f9e5524eab0772d1c51795f93326560405160405180910390a250565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff169050919050565b6000611683826118ce565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154039050919050565b6000806116dd33610c00565b905060008110156116ed57600080fd5b680100000000000000008102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a28091505090565b60008060010154905090565b6040518060400160405280600481526020017f504f574d0000000000000000000000000000000000000000000000000000000081525081565b6000600580549050905090565b6118b3816126a6565b50565b60006118c333848461219c565b506001905092915050565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401549050919050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461197957600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff0219169083151502179055505050565b806119e433611678565b10156119ef57600080fd5b6000806001015411611a0057600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000828254039250508190555060006001015468010000000000000000820281611a6c57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b60606005805480602002602001604051908101604052809291908181526020018280548015611b6b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611b21575b5050505050905090565b60008060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c5e57600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d0957600080fd5b81600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550818015611db8575060008060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015411155b15611e8857600580549050600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506005839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000811115611e8357611e828382611c01565b5b611ff9565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015460006002016000600560016005805490500381548110611eea57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550611fa4600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611227565b60008060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550611ff88382611c01565b5b8273ffffffffffffffffffffffffffffffffffffffff167fd565b14661fe19e10c05c15c34feb41449d63c6c6b5a5c9f485d3d5298ad28d183604051808215151515815260200191505060405180910390a2505050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120ad57600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b6005818154811061216d57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816121a885611678565b10156121b357600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000828254039250508190555060006064600c84028161221557fe5b049050606460016b0295be96e640669720000000028161223157fe5b048161223b610eab565b03108061224d575061224c85611000565b5b1561225757600090505b6000818403905080600060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600082111561247b576000806001015411156123cb576002828161233657fe5b0491506000600101546801000000000000000083028161235257fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b816000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a15b80925050509392505050565b80612491336118ce565b101561249c57600080fd5b60006064600c8302816124ab57fe5b049050600060010154680100000000000000008202816124c757fe5b046000600301600082825401925050819055508160006001016000828254039250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000828254039250508190555081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825403925050819055506000600301548202600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd836040518082815260200191505060405180910390a25050565b6126af3361161d565b6126b857600080fd5b806126c233611678565b10156126cd57600080fd5b6801158e460913d00000816126e1336118ce565b0110156126ed57600080fd5b8060006001016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825401925050819055506000600301548102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a826040518082815260200191505060405180910390a25056fea26469706673582212202ff1e616b863329335ac70aaa578fa6b6a902aa8d38503e3015c9f8b2cb25c2464736f6c634300060a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101e45760003560e01c806370a082311161010f578063b198298e116100a2578063e298cbef11610071578063e298cbef14610a9a578063f0a5ea7614610ae8578063f59c370814610b42578063fd5e6dd114610b92576101e4565b8063b198298e14610945578063c13dd15814610995578063c373ec64146109c3578063dd62ed3e14610a22576101e4565b8063a2e80c5e116100de578063a2e80c5e1461083b578063a694fc3a14610859578063a9059cbb14610887578063af500ba3146108ed576101e4565b806370a0823114610724578063731cdd5e1461077c578063817b1cd21461079a57806395d89b41146107b8576101e4565b80632e17de781161018757806356c17b8a1161015657806356c17b8a146105d057806357f6b812146105fe578063596b7c5d1461068457806368605f6c146106c8576101e4565b80632e17de78146104f4578063313ce567146105225780633af32abf1461054657806342966c68146105a2576101e4565b806312c843ec116101c357806312c843ec1461032a578063153a1f3e1461038257806318160ddd1461045057806323b872dd1461046e576101e4565b806265318b146101e957806306fdde0314610241578063095ea7b3146102c4575b600080fd5b61022b600480360360208110156101ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c00565b6040518082815260200191505060405180910390f35b610249610caf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028957808201518184015260208101905061026e565b50505050905090810190601f1680156102b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610310600480360360408110156102da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce8565b604051808215151515815260200191505060405180910390f35b61036c6004803603602081101561034057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610de0565b6040518082815260200191505060405180910390f35b61044e6004803603604081101561039857600080fd5b81019080803590602001906401000000008111156103b557600080fd5b8201836020820111156103c757600080fd5b803590602001918460208302840111640100000000831117156103e957600080fd5b90919293919293908035906020019064010000000081111561040a57600080fd5b82018360208201111561041c57600080fd5b8035906020019184602083028401116401000000008311171561043e57600080fd5b9091929391929390505050610e2e565b005b610458610eab565b6040518082815260200191505060405180910390f35b6104da6004803603606081101561048457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610eb7565b604051808215151515815260200191505060405180910390f35b6105206004803603602081101561050a57600080fd5b8101908080359060200190929190505050610fef565b005b61052a610ffb565b604051808260ff1660ff16815260200191505060405180910390f35b6105886004803603602081101561055c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611000565b604051808215151515815260200191505060405180910390f35b6105ce600480360360208110156105b857600080fd5b810190808035906020019092919050505061105b565b005b6105fc600480360360208110156105e657600080fd5b8101908080359060200190929190505050611227565b005b6106406004803603602081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136d565b604051808881526020018781526020018681526020018581526020018481526020018315151515815260200182815260200197505050505050505060405180910390f35b6106c66004803603602081101561069a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113ce565b005b61070a600480360360208110156106de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061161d565b604051808215151515815260200191505060405180910390f35b6107666004803603602081101561073a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611678565b6040518082815260200191505060405180910390f35b6107846116d1565b6040518082815260200191505060405180910390f35b6107a2611858565b6040518082815260200191505060405180910390f35b6107c0611864565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108005780820151818401526020810190506107e5565b50505050905090810190601f16801561082d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61084361189d565b6040518082815260200191505060405180910390f35b6108856004803603602081101561086f57600080fd5b81019080803590602001909291905050506118aa565b005b6108d36004803603604081101561089d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118b6565b604051808215151515815260200191505060405180910390f35b61092f6004803603602081101561090357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ce565b6040518082815260200191505060405180910390f35b6109936004803603604081101561095b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061191c565b005b6109c1600480360360208110156109ab57600080fd5b81019080803590602001909291905050506119da565b005b6109cb611ae7565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610a0e5780820151818401526020810190506109f3565b505050509050019250505060405180910390f35b610a8460048036036040811015610a3857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b75565b6040518082815260200191505060405180910390f35b610ae660048036036040811015610ab057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c01565b005b610b4060048036036060811015610afe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050611cac565b005b610b9060048036036040811015610b5857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612050565b005b610bbe60048036036020811015610ba857600080fd5b8101908080359060200190929190505050612160565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600068010000000000000000600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154600060030154020381610ca757fe5b049050919050565b6040518060400160405280600481526020017f506f574d0000000000000000000000000000000000000000000000000000000081525081565b600081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b818190508484905014610e4057600080fd5b60008090505b84849050811015610ea457610e9633868684818110610e6157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610e8a57fe5b9050602002013561219c565b508080600101915050610e46565b5050505050565b60008060000154905090565b600081600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f4857600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610fe384848461219c565b50600190509392505050565b610ff881612487565b50565b601281565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b8061106533611678565b101561107057600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008282540392505081905550600081905060008060010154111561117457600281816110df57fe5b049050600060010154680100000000000000008202816110fb57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b806000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb816040518082815260200191505060405180910390a15050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461128457600080fd5b600580549050811061129557600080fd5b6005600160058054905003815481106112aa57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600582815481106112e257fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600580548061133557fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905550565b6000806000806000806000611380610eab565b611388611858565b6113918a611678565b61139a8b6118ce565b6113a38c610c00565b6113ac8d61161d565b6113b58e610de0565b9650965096509650965096509650919395979092949650565b60008060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201541161141f57600080fd5b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154111561147157600080fd5b600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008154809291906001900391905055506001600060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550600580549050600060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f4c280b3a8b7983966548fc55a892b62c955f9e5524eab0772d1c51795f93326560405160405180910390a250565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900460ff169050919050565b6000611683826118ce565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154039050919050565b6000806116dd33610c00565b905060008110156116ed57600080fd5b680100000000000000008102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a28091505090565b60008060010154905090565b6040518060400160405280600481526020017f504f574d0000000000000000000000000000000000000000000000000000000081525081565b6000600580549050905090565b6118b3816126a6565b50565b60006118c333848461219c565b506001905092915050565b60008060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401549050919050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461197957600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff0219169083151502179055505050565b806119e433611678565b10156119ef57600080fd5b6000806001015411611a0057600080fd5b80600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000828254039250508190555060006001015468010000000000000000820281611a6c57fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b60606005805480602002602001604051908101604052809291908181526020018280548015611b6b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611b21575b5050505050905090565b60008060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c5e57600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d0957600080fd5b81600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016101000a81548160ff021916908315150217905550818015611db8575060008060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015411155b15611e8857600580549050600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506005839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000811115611e8357611e828382611c01565b5b611ff9565b600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015460006002016000600560016005805490500381548110611eea57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550611fa4600060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611227565b60008060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550611ff88382611c01565b5b8273ffffffffffffffffffffffffffffffffffffffff167fd565b14661fe19e10c05c15c34feb41449d63c6c6b5a5c9f485d3d5298ad28d183604051808215151515815260200191505060405180910390a2505050565b600060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120ad57600080fd5b80600060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82604051808215151515815260200191505060405180910390a25050565b6005818154811061216d57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816121a885611678565b10156121b357600080fd5b81600060020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000828254039250508190555060006064600c84028161221557fe5b049050606460016b0295be96e640669720000000028161223157fe5b048161223b610eab565b03108061224d575061224c85611000565b5b1561225757600090505b6000818403905080600060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600082111561247b576000806001015411156123cb576002828161233657fe5b0491506000600101546801000000000000000083028161235257fe5b046000600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b816000800160008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a15b80925050509392505050565b80612491336118ce565b101561249c57600080fd5b60006064600c8302816124ab57fe5b049050600060010154680100000000000000008202816124c757fe5b046000600301600082825401925050819055508160006001016000828254039250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000828254039250508190555081600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825403925050819055506000600301548202600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd836040518082815260200191505060405180910390a25050565b6126af3361161d565b6126b857600080fd5b806126c233611678565b10156126cd57600080fd5b6801158e460913d00000816126e1336118ce565b0110156126ed57600080fd5b8060006001016000828254019250508190555080600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401600082825401925050819055506000600301548102600060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a826040518082815260200191505060405180910390a25056fea26469706673582212202ff1e616b863329335ac70aaa578fa6b6a902aa8d38503e3015c9f8b2cb25c2464736f6c634300060a0033

Deployed Bytecode Sourcemap

59:9173:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6106:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;130:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3028:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6680:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3645:259;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5504:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3374:266;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9157:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;408:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6448:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2215:498;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3910:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6794:360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5172:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6564:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5868:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1825:385;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5595:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;170:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;955:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9084:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3236:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5997:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4128:162;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2718:305;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1057:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6307:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4296:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4451:718;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5686:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1556:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6106:196;6163:7;248:5;6255:4;:10;;:17;6266:5;6255:17;;;;;;;;;;;;;;;:30;;;6227:4;:10;;:17;6238:5;6227:17;;;;;;;;;;;;;;;:24;;;6199:4;:25;;;:52;6192:93;6184:113;;;;;;6177:120;;6106:196;;;:::o;130:36::-;;;;;;;;;;;;;;;;;;;:::o;3028:203::-;3098:4;3154:7;3109:4;:10;;:22;3120:10;3109:22;;;;;;;;;;;;;;;:32;;:42;3142:8;3109:42;;;;;;;;;;;;;;;:52;;;;3192:8;3171:39;;3180:10;3171:39;;;3202:7;3171:39;;;;;;;;;;;;;;;;;;3222:4;3215:11;;3028:203;;;;:::o;6680:109::-;6738:7;6759:4;:10;;:17;6770:5;6759:17;;;;;;;;;;;;;;;:25;;;6752:32;;6680:109;;;:::o;3645:259::-;3770:8;;:15;;3749:10;;:17;;:36;3741:45;;;;;;3796:9;3808:1;3796:13;;3791:109;3815:10;;:17;;3811:1;:21;3791:109;;;3845:49;3855:10;3867;;3878:1;3867:13;;;;;;;;;;;;;;;3882:8;;3891:1;3882:11;;;;;;;;;;;;;3845:9;:49::i;:::-;;3834:3;;;;;;;3791:109;;;;3645:259;;;;:::o;5504:86::-;5548:7;5569:4;:16;;;5562:23;;5504:86;:::o;3374:266::-;3459:4;3521:7;3478:4;:10;;:17;3489:5;3478:17;;;;;;;;;;;;;;;:27;;:39;3506:10;3478:39;;;;;;;;;;;;;;;;:50;;3470:59;;;;;;3577:7;3534:4;:10;;:17;3545:5;3534:17;;;;;;;;;;;;;;;:27;;:39;3562:10;3534:39;;;;;;;;;;;;;;;;:50;;;;;;;;;;;3589:30;3599:5;3606:3;3611:7;3589:9;:30::i;:::-;;3631:4;3624:11;;3374:266;;;;;:::o;9157:72::-;9204:20;9217:6;9204:12;:20::i;:::-;9157:72;:::o;408:35::-;441:2;408:35;:::o;6448:111::-;6507:4;6525;:10;;:17;6536:5;6525:17;;;;;;;;;;;;;;;:29;;;;;;;;;;;;6518:36;;6448:111;;;:::o;2215:498::-;2293:7;2268:21;2278:10;2268:9;:21::i;:::-;:32;;2260:41;;;;;;2340:7;2306:4;:10;;:22;2317:10;2306:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;2352:21;2376:7;2352:31;;2411:1;2392:4;:16;;;:20;2388:195;;;2437:1;2420:18;;;;;;;;;2500:4;:16;;;248:5;2473:13;:24;:43;;;;;;2444:4;:25;;;:72;;;;;;;;;;;2556:4;2527:50;;2536:10;2527:50;;;2563:13;2527:50;;;;;;;;;;;;;;;;;;2388:195;2607:13;2587:4;:16;;;:33;;;;;;;;;;;2659:3;2630:49;;2639:10;2630:49;;;2665:13;2630:49;;;;;;;;;;;;;;;;;;2689:19;2694:13;2689:19;;;;;;;;;;;;;;;;;;2215:498;;:::o;3910:212::-;3984:4;:10;;;;;;;;;;;;3970:24;;:10;:24;;;3962:33;;;;;;4022:7;:14;;;;4014:5;:22;4006:31;;;;;;4065:7;4088:1;4073:7;:14;;;;:16;4065:25;;;;;;;;;;;;;;;;;;;;;;;;;4048:7;4056:5;4048:14;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;4101:7;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:212;:::o;6794:360::-;6852:24;6878:25;6905:19;6928:18;6948:21;6971:16;6989:15;7019:13;:11;:13::i;:::-;7034;:11;:13::i;:::-;7049:16;7059:5;7049:9;:16::i;:::-;7070:15;7079:5;7070:8;:15::i;:::-;7087:18;7099:5;7087:11;:18::i;:::-;7107:20;7121:5;7107:13;:20::i;:::-;7129:19;7142:5;7129:12;:19::i;:::-;7011:138;;;;;;;;;;;;;;6794:360;;;;;;;;;:::o;5172:329::-;5263:1;5230:4;:10;;:22;5241:10;5230:22;;;;;;;;;;;;;;;:30;;;:34;5222:43;;;;;;5312:1;5280:4;:10;;:17;5291:5;5280:17;;;;;;;;;;;;;;;:29;;;:33;5278:36;5270:45;;;;;;5320:4;:10;;:22;5331:10;5320:22;;;;;;;;;;;;;;;:30;;;:32;;;;;;;;;;;;;;5389:4;5357;:10;;:17;5368:5;5357:17;;;;;;;;;;;;;;;:29;;;:36;;;;;;;;;;;;;;;;;;5430:7;:14;;;;5398:4;:10;;:17;5409:5;5398:17;;;;;;;;;;;;;;;:29;;:46;;;;5449:7;5462:5;5449:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5490:5;5478:18;;;;;;;;;;;;5172:329;:::o;6564:111::-;6623:4;6641;:10;;:17;6652:5;6641:17;;;;;;;;;;;;;;;:29;;;;;;;;;;;;6634:36;;6564:111;;;:::o;5868:124::-;5923:7;5972:15;5981:5;5972:8;:15::i;:::-;5944:4;:10;;:17;5955:5;5944:17;;;;;;;;;;;;;;;:25;;;:43;5937:50;;5868:124;;;:::o;1825:385::-;1873:7;1887:18;1908:23;1920:10;1908:11;:23::i;:::-;1887:44;;1958:1;1944:10;:15;;1936:24;;;;;;248:5;2011:10;:21;1965:4;:10;;:22;1976:10;1965:22;;;;;;;;;;;;;;;:35;;;:68;;;;;;;;;;;2072:10;2038:4;:10;;:22;2049:10;2038:22;;;;;;;;;;;;;;;:30;;;:44;;;;;;;;;;;2116:10;2092:47;;2109:4;2092:47;;;2128:10;2092:47;;;;;;;;;;;;;;;;;;2160:10;2149:34;;;2172:10;2149:34;;;;;;;;;;;;;;;;;;2195:10;2188:17;;;1825:385;:::o;5595:86::-;5639:7;5660:4;:16;;;5653:23;;5595:86;:::o;170:38::-;;;;;;;;;;;;;;;;;;;:::o;955:96::-;999:10;1029:7;:14;;;;1022:21;;955:96;:::o;9084:68::-;9129:18;9140:6;9129:10;:18::i;:::-;9084:68;:::o;3236:133::-;3302:4;3313:35;3323:10;3335:3;3340:7;3313:9;:35::i;:::-;;3360:4;3353:11;;3236:133;;;;:::o;5997:104::-;6051:7;6072:4;:10;;:17;6083:5;6072:17;;;;;;;;;;;;;;;:24;;;6065:31;;5997:104;;;:::o;4128:162::-;4227:4;:10;;;;;;;;;;;;4213:24;;:10;:24;;;4205:33;;;;;;4275:7;4243:4;:10;;:17;4254:5;4243:17;;;;;;;;;;;;;;;:29;;;:39;;;;;;;;;;;;;;;;;;4128:162;;:::o;2718:305::-;2805:7;2780:21;2790:10;2780:9;:21::i;:::-;:32;;2772:41;;;;;;2845:1;2826:4;:16;;;:20;2818:29;;;;;;2886:7;2852:4;:10;;:22;2863:10;2852:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;2948:4;:16;;;248:5;2927:7;:18;:37;;;;;;2898:4;:25;;;:66;;;;;;;;;;;3003:4;2974:44;;2983:10;2974:44;;;3010:7;2974:44;;;;;;;;;;;;;;;;;;2718:305;:::o;1057:95::-;1100:18;1137:7;1130:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:95;:::o;6307:136::-;6380:7;6401:4;:10;;:17;6412:5;6401:17;;;;;;;;;;;;;;;:27;;:37;6429:8;6401:37;;;;;;;;;;;;;;;;6394:44;;6307:136;;;;:::o;4296:152::-;4384:4;:10;;;;;;;;;;;;4370:24;;:10;:24;;;4362:33;;;;;;4434:6;4406:4;:10;;:17;4417:5;4406:17;;;;;;;;;;;;;;;:25;;:34;;;;4296:152;;:::o;4451:718::-;4555:4;:10;;;;;;;;;;;;4541:24;;:10;:24;;;4533:33;;;;;;4603:7;4571:4;:10;;:17;4582:5;4571:17;;;;;;;;;;;;;;;:29;;;:39;;;;;;;;;;;;;;;;;;4619:7;:47;;;;;4664:1;4632:4;:10;;:17;4643:5;4632:17;;;;;;;;;;;;;;;:29;;;:33;4630:36;4619:47;4615:515;;;4709:7;:14;;;;4677:4;:10;;:17;4688:5;4677:17;;;;;;;;;;;;;;;:29;;:46;;;;4732:7;4745:5;4732:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4774:1;4764:7;:11;4760:62;;;4786:26;4797:5;4804:7;4786:10;:26::i;:::-;4760:62;4615:515;;;4966:4;:10;;:17;4977:5;4966:17;;;;;;;;;;;;;;;:29;;;4914:4;:10;;:37;4925:7;4948:1;4933:7;:14;;;;:16;4925:25;;;;;;;;;;;;;;;;;;;;;;;;;4914:37;;;;;;;;;;;;;;;:49;;:81;;;;5004:43;5017:4;:10;;:17;5028:5;5017:17;;;;;;;;;;;;;;;:29;;;5004:12;:43::i;:::-;5088:1;5056:4;:10;;:17;5067:5;5056:17;;;;;;;;;;;;;;;:29;;:33;;;;5098:26;5109:5;5116:7;5098:10;:26::i;:::-;4615:515;5149:5;5139:25;;;5156:7;5139:25;;;;;;;;;;;;;;;;;;;;;;4451:718;;;:::o;5686:177::-;5768:4;:10;;;;;;;;;;;;5754:24;;:10;:24;;;5746:33;;;;;;5816:7;5784:4;:10;;:17;5795:5;5784:17;;;;;;;;;;;;;;;:29;;;:39;;;;;;;;;;;;;;;;;;5843:5;5833:25;;;5850:7;5833:25;;;;;;;;;;;;;;;;;;;;;;5686:177;;:::o;1556:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7161:890::-;7243:7;7285;7265:16;7275:5;7265:9;:16::i;:::-;:27;;7257:36;;;;;;7327:7;7298:4;:10;;:17;7309:5;7298:17;;;;;;;;;;;;;;;:25;;;:36;;;;;;;;;;;7339:21;7391:3;402:2;7363:7;:25;:31;;;;;;7339:55;;7470:3;354:1;122:4;7435:32;:38;;;;;;7419:13;7403;:11;:13::i;:::-;:29;:70;:94;;;;7477:20;7491:5;7477:13;:20::i;:::-;7403:94;7399:129;;;7521:1;7505:17;;7399:129;7532:20;7565:13;7555:7;:23;7532:46;;7610:12;7583:4;:10;;:15;7594:3;7583:15;;;;;;;;;;;;;;;:23;;;:39;;;;;;;;;;;7648:3;7632:34;;7641:5;7632:34;;;7653:12;7632:34;;;;;;;;;;;;;;;;;;7691:1;7675:13;:17;7671:352;;;7723:1;7704:4;:16;;;:20;7700:194;;;7750:1;7733:18;;;;;;;;;7814:4;:16;;;248:5;7787:13;:24;:43;;;;;;7758:4;:25;;;:72;;;;;;;;;;;7866:4;7842:45;;7851:5;7842:45;;;7873:13;7842:45;;;;;;;;;;;;;;;;;;7700:194;7919:13;7899:4;:16;;;:33;;;;;;;;;;;7967:3;7943:44;;7952:5;7943:44;;;7973:13;7943:44;;;;;;;;;;;;;;;;;;7998:19;8003:13;7998:19;;;;;;;;;;;;;;;;;;7671:352;8034:12;8027:19;;;;7161:890;;;;;:::o;8520:559::-;8605:7;8581:20;8590:10;8581:8;:20::i;:::-;:31;;8573:40;;;;;;8618:21;8670:3;402:2;8642:7;:25;:31;;;;;;8618:55;;8734:4;:16;;;248:5;8707:13;:24;:43;;;;;;8678:4;:25;;;:72;;;;;;;;;;;8775:7;8755:4;:16;;;:27;;;;;;;;;;;8821:13;8787:4;:10;;:22;8798:10;8787:22;;;;;;;;;;;;;;;:30;;;:47;;;;;;;;;;;8872:7;8839:4;:10;;:22;8850:10;8839:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;8940:4;:25;;;8930:7;:35;8884:4;:10;;:22;8895:10;8884:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;9000:10;8976:60;;8993:4;8976:60;;;9022:13;9012:7;:23;8976:60;;;;;;;;;;;;;;;;;;9054:10;9046:28;;;9066:7;9046:28;;;;;;;;;;;;;;;;;;8520:559;;:::o;8056:459::-;8118:25;8132:10;8118:13;:25::i;:::-;8110:34;;;;;;8182:7;8157:21;8167:10;8157:9;:21::i;:::-;:32;;8149:41;;;;;;303:4;8226:7;8203:20;8212:10;8203:8;:20::i;:::-;:30;:52;;8195:61;;;;;;8281:7;8261:4;:16;;;:27;;;;;;;;;;;8326:7;8293:4;:10;;:22;8304:10;8293:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;8394:4;:25;;;8384:7;:35;8338:4;:10;;:22;8349:10;8338:22;;;;;;;;;;;;;;;:35;;;:82;;;;;;;;;;;8459:4;8430:44;;8439:10;8430:44;;;8466:7;8430:44;;;;;;;;;;;;;;;;;;8490:10;8484:26;;;8502:7;8484:26;;;;;;;;;;;;;;;;;;8056:459;:::o

Swarm Source

ipfs://2ff1e616b863329335ac70aaa578fa6b6a902aa8d38503e3015c9f8b2cb25c24
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.