Token migration announcement. Aqua Token contract has migrated to a new address.
ERC-20
Overview
Max Total Supply
17,171.336896297 AQUA
Holders
393 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.065195791 AQUAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AquaToken
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-18 */ // File: @openzeppelin/contracts/GSN/Context.sol pragma solidity ^0.5.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: @openzeppelin/contracts/access/Roles.sol pragma solidity ^0.5.0; /** * @title Roles * @dev Library for managing addresses assigned to a Role. */ library Roles { struct Role { mapping (address => bool) bearer; } /** * @dev Give an account access to this role. */ function add(Role storage role, address account) internal { require(!has(role, account), "Roles: account already has role"); role.bearer[account] = true; } /** * @dev Remove an account's access to this role. */ function remove(Role storage role, address account) internal { require(has(role, account), "Roles: account does not have role"); role.bearer[account] = false; } /** * @dev Check if an account has this role. * @return bool */ function has(Role storage role, address account) internal view returns (bool) { require(account != address(0), "Roles: account is the zero address"); return role.bearer[account]; } } // File: @openzeppelin/contracts/access/roles/MinterRole.sol pragma solidity ^0.5.0; contract MinterRole is Context { using Roles for Roles.Role; event MinterAdded(address indexed account); event MinterRemoved(address indexed account); Roles.Role private _minters; constructor () internal { _addMinter(_msgSender()); } modifier onlyMinter() { require(isMinter(_msgSender()), "MinterRole: caller does not have the Minter role"); _; } function isMinter(address account) public view returns (bool) { return _minters.has(account); } function addMinter(address account) public onlyMinter { _addMinter(account); } function renounceMinter() public { _removeMinter(_msgSender()); } function _addMinter(address account) internal { _minters.add(account); emit MinterAdded(account); } function _removeMinter(address account) internal { _minters.remove(account); emit MinterRemoved(account); } } // File: @openzeppelin/contracts/access/roles/WhitelistAdminRole.sol pragma solidity ^0.5.0; /** * @title WhitelistAdminRole * @dev WhitelistAdmins are responsible for assigning and removing Whitelisted accounts. */ contract WhitelistAdminRole is Context { using Roles for Roles.Role; event WhitelistAdminAdded(address indexed account); event WhitelistAdminRemoved(address indexed account); Roles.Role private _whitelistAdmins; constructor () internal { _addWhitelistAdmin(_msgSender()); } modifier onlyWhitelistAdmin() { require(isWhitelistAdmin(_msgSender()), "WhitelistAdminRole: caller does not have the WhitelistAdmin role"); _; } function isWhitelistAdmin(address account) public view returns (bool) { return _whitelistAdmins.has(account); } function addWhitelistAdmin(address account) public onlyWhitelistAdmin { _addWhitelistAdmin(account); } function renounceWhitelistAdmin() public { _removeWhitelistAdmin(_msgSender()); } function _addWhitelistAdmin(address account) internal { _whitelistAdmins.add(account); emit WhitelistAdminAdded(account); } function _removeWhitelistAdmin(address account) internal { _whitelistAdmins.remove(account); emit WhitelistAdminRemoved(account); } } // File: @openzeppelin/contracts/math/SafeMath.sol pragma solidity ^0.5.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. * * _Available since v2.4.0._ */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File: contracts/AquaToken.sol pragma solidity ^0.5.17; contract AquaToken is MinterRole, WhitelistAdminRole { using SafeMath for uint256; mapping (address => uint256) private _wOwned; mapping (address => mapping (address => uint256)) private _allowances; uint256 private constant MAX = ~uint256(0); // denotes display total (aqua) uint256 private _aTotal = 0; // denotes actual total (waves) uint256 private _wTotal = 0; // display total fees uint256 private _aFeeTotal; address public fountainAddress; address public uniswapPairAddress; address public crowdsaleWallet; // tax divisor - 25 => 4% (100/25) uint256 public taxDivisor = 25; string private _name; string private _symbol; uint8 private _decimals; bool public tokenPaused; mapping (address => bool) public pauseWhitelist; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event RewardLiquidityProviders(uint256 value); constructor (string memory name, string memory symbol, uint8 decimals) public { _name = name; _symbol = symbol; _decimals = decimals; pauseWhitelist[_msgSender()] = true; // enable token pause to avoid frontrunning lp listing, once LP is listed, we destroy the usage of tokenPaused tokenPaused = true; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function setTokenPaused(bool paused) external onlyWhitelistAdmin { require(paused == false, "AquaToken::setTokenPaused: you can only unpause the token"); tokenPaused = paused; } function setTaxDivisor(uint256 _taxDivisor) public onlyWhitelistAdmin { require(_taxDivisor == 0 || _taxDivisor >= 10, "AquaToken::setTaxDivisor: too small"); taxDivisor = _taxDivisor; } function setUniswapPair(address _uniswapPairAddress) public onlyWhitelistAdmin { uniswapPairAddress = _uniswapPairAddress; } function setFountainAddress(address _fountainAddress) public onlyWhitelistAdmin { fountainAddress = _fountainAddress; } function rewardLiquidityProviders() external { require(balanceOf(address(this)) > 0, "Transfer amount must be greater than zero"); require(balanceOf(address(_msgSender())) > 0, "You must be an account holder to call this function"); uint256 originalBalance = balanceOf(address(this)); uint256 uniswapPairAmount = originalBalance.mul(475).div(575); // ~83% uint256 fountainPairAmount = originalBalance.mul(72).div(575); // ~12% uint256 userRewardAmount = originalBalance.mul(28).div(575); // ~5% _transferStandard(address(this), uniswapPairAddress, uniswapPairAmount); IUniswapV2Pair(uniswapPairAddress).sync(); _transferStandard(address(this), fountainAddress, fountainPairAmount); IUniswapV2Pair(fountainAddress).sync(); _transferStandard(address(this), _msgSender(), userRewardAmount); emit RewardLiquidityProviders(originalBalance); } function totalSupply() public view returns (uint256) { // since we burn tokens, return supply - current burn balance return _aTotal.sub(balanceOf(address(0))); } // display only function totalFees() public view returns (uint256) { return _aFeeTotal; } function balanceOf(address account) public view returns (uint256) { require(_wOwned[account] <= _wTotal, "Amount must be less than total waves"); uint256 currentRate = _getRate(); return _wOwned[account].div(currentRate); } function transfer(address recipient, uint256 amount) public returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function mint(address account, uint256 amount) public onlyMinter returns (bool) { _mint(account, amount); return true; } function _transfer(address from, address to, uint256 amount) internal { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "ERC20: Transfer amount must be greater than zero"); require(balanceOf(from) >= amount, "ERC20: transfer amount exceeds balance"); require(pauseWhitelist[from] == true || tokenPaused == false, "ERC20: Token is currently paused"); // disable tax for whitelisters (crowdsale and treasury) if (taxDivisor != 0 && pauseWhitelist[from] == false) { uint256 taxAmount = amount.div(taxDivisor); uint256 uniswapPairAmount = taxAmount.mul(500).div(1000); // 50% uint256 fountainAmount = taxAmount.mul(75).div(1000); // 7.5% uint256 burnedAmount = taxAmount.mul(250).div(1000); // 25% uint256 holdersAmount = taxAmount.mul(175).div(1000); // 17.5% require(fountainAmount.add(uniswapPairAmount).add(burnedAmount).add(holdersAmount) == taxAmount, "ERC20Transfer::taxTransfer: Math is broken"); _transferStandard(from, address(this), uniswapPairAmount.add(fountainAmount)); _transferStandard(from, address(0), burnedAmount); _transferStandard(from, to, amount.sub(taxAmount)); _distributeFee(from, holdersAmount); } else { _transferStandard(from, to, amount); } } function _transferStandard(address sender, address recipient, uint256 amount) private { uint256 currentRate = _getRate(); uint256 rAmount = amount.mul(currentRate); _wOwned[sender] = _wOwned[sender].sub(rAmount); _wOwned[recipient] = _wOwned[recipient].add(rAmount); emit Transfer(sender, recipient, amount); } function _distributeFee(address sender, uint256 aFee) private { uint256 currentRate = _getRate(); uint256 wFee = aFee.mul(currentRate); _wOwned[sender] = _wOwned[sender].sub(wFee); _wTotal = _wTotal.sub(wFee); _aFeeTotal = _aFeeTotal.add(aFee); emit Transfer(sender, address(0), aFee); } function _getRate() private view returns(uint256) { return _wTotal.div(_aTotal); } function _mint(address account, uint256 amount) internal { require(account != address(0), "ERC20: mint to the zero address"); require(amount > 0, "ERC20: mint amount is zero"); _aTotal = _aTotal.add(amount); _wTotal = (MAX - (MAX % _aTotal)); // only have 1 minter, they will have the entire supply _wOwned[account] = _wTotal; // we can only mint with the crowdsale wallet, set it here crowdsaleWallet = account; pauseWhitelist[account] = true; emit Transfer(address(0), account, amount); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } } interface IUniswapV2Pair { function sync() external; }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint8","name":"decimals","type":"uint8"}],"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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"RewardLiquidityProviders","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"WhitelistAdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"WhitelistAdminRemoved","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fountainAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelistAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pauseWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"rewardLiquidityProviders","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_fountainAddress","type":"address"}],"name":"setFountainAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_taxDivisor","type":"uint256"}],"name":"setTaxDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"paused","type":"bool"}],"name":"setTokenPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_uniswapPairAddress","type":"address"}],"name":"setUniswapPair","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"taxDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFees","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"uniswapPairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600060045560006005556019600a553480156200002057600080fd5b50604051620035aa380380620035aa833981810160405260608110156200004657600080fd5b81019080805160405193929190846401000000008211156200006757600080fd5b838201915060208201858111156200007e57600080fd5b82518660018202830111640100000000821117156200009c57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000d2578082015181840152602081019050620000b5565b50505050905090810190601f168015620001005780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012457600080fd5b838201915060208201858111156200013b57600080fd5b82518660018202830111640100000000821117156200015957600080fd5b8083526020830192505050908051906020019080838360005b838110156200018f57808201518184015260208101905062000172565b50505050905090810190601f168015620001bd5780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050620001f1620001e5620002e960201b60201c565b620002f160201b60201c565b6200021162000205620002e960201b60201c565b6200035260201b60201c565b82600b90805190602001906200022992919062000577565b5081600c90805190602001906200024292919062000577565b5080600d60006101000a81548160ff021916908360ff1602179055506001600e600062000274620002e960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff02191690831515021790555050505062000626565b600033905090565b6200030c816000620003b360201b62002b371790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6200036d816001620003b360201b62002b371790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b620003c582826200049760201b60201c565b1562000439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000520576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620035886022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005ba57805160ff1916838001178555620005eb565b82800160010185558215620005eb579182015b82811115620005ea578251825591602001919060010190620005cd565b5b509050620005fa9190620005fe565b5090565b6200062391905b808211156200061f57600081600090555060010162000605565b5090565b90565b612f5280620006366000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806370a0823111610104578063a457c2d7116100a2578063bd3733fe11610071578063bd3733fe14610947578063d5aed6bf14610991578063db647b76146109d5578063dd62ed3e146109df576101da565b8063a457c2d7146107c3578063a9059cbb14610829578063aa271e1a1461088f578063bb5f747b146108eb576101da565b806386c75e74116100de57806386c75e74146106d057806395d89b41146106f2578063983b2d561461077557806398650275146107b9576101da565b806370a08231146105ea5780637362d9c8146106425780637877d65414610686576101da565b8063350a96281161017c5780634e0eae831161014b5780634e0eae83146104f857806356ff83c81461052657806357880e3c14610570578063697173491461058e576101da565b8063350a9628146103de578063395093511461042257806340c10f19146104885780634c5a628c146104ee576101da565b806318160ddd116101b857806318160ddd146102e657806323b872dd14610304578063295194571461038a578063313ce567146103ba576101da565b806306fdde03146101df578063095ea7b31461026257806313114a9d146102c8575b600080fd5b6101e7610a57565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022757808201518184015260208101905061020c565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ae6004803603604081101561027857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610af9565b604051808215151515815260200191505060405180910390f35b6102d0610b17565b6040518082815260200191505060405180910390f35b6102ee610b21565b6040518082815260200191505060405180910390f35b6103706004803603606081101561031a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b46565b604051808215151515815260200191505060405180910390f35b6103b8600480360360208110156103a057600080fd5b81019080803515159060200190929190505050610c1f565b005b6103c2610cfe565b604051808260ff1660ff16815260200191505060405180910390f35b610420600480360360208110156103f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d15565b005b61046e6004803603604081101561043857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dbe565b604051808215151515815260200191505060405180910390f35b6104d46004803603604081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e71565b604051808215151515815260200191505060405180910390f35b6104f6610eec565b005b6105246004803603602081101561050e57600080fd5b8101908080359060200190929190505050610efe565b005b61052e610fd2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610578610ff8565b6040518082815260200191505060405180910390f35b6105d0600480360360208110156105a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ffe565b604051808215151515815260200191505060405180910390f35b61062c6004803603602081101561060057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061101e565b6040518082815260200191505060405180910390f35b6106846004803603602081101561065857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611120565b005b61068e611191565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106d86111b7565b604051808215151515815260200191505060405180910390f35b6106fa6111ca565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561073a57808201518184015260208101905061071f565b50505050905090810190601f1680156107675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107b76004803603602081101561078b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126c565b005b6107c16112dd565b005b61080f600480360360408110156107d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112ef565b604051808215151515815260200191505060405180910390f35b6108756004803603604081101561083f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113bc565b604051808215151515815260200191505060405180910390f35b6108d1600480360360208110156108a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113da565b604051808215151515815260200191505060405180910390f35b61092d6004803603602081101561090157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f7565b604051808215151515815260200191505060405180910390f35b61094f611414565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109d3600480360360208110156109a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143a565b005b6109dd6114e3565b005b610a41600480360360408110156109f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117eb565b6040518082815260200191505060405180910390f35b6060600b8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aef5780601f10610ac457610100808354040283529160200191610aef565b820191906000526020600020905b815481529060010190602001808311610ad257829003601f168201915b5050505050905090565b6000610b0d610b06611872565b848461187a565b6001905092915050565b6000600654905090565b6000610b41610b30600061101e565b600454611a7190919063ffffffff16565b905090565b6000610b53848484611abb565b610c1484610b5f611872565b610c0f85604051806060016040528060288152602001612da760289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bc5611872565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f909092919063ffffffff16565b61187a565b600190509392505050565b610c2f610c2a611872565b6113f7565b610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b6000151581151514610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612cac6039913960400191505060405180910390fd5b80600d60016101000a81548160ff02191690831515021790555050565b6000600d60009054906101000a900460ff16905090565b610d25610d20611872565b6113f7565b610d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610e67610dcb611872565b84610e628560036000610ddc611872565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205090919063ffffffff16565b61187a565b6001905092915050565b6000610e83610e7e611872565b6113da565b610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612d356030913960400191505060405180910390fd5b610ee283836120d8565b6001905092915050565b610efc610ef7611872565b61236d565b565b610f0e610f09611872565b6113f7565b610f63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b6000811480610f735750600a8110155b610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612e026023913960400191505060405180910390fd5b80600a8190555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000600554600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156110ba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612c366024913960400191505060405180910390fd5b60006110c46123c7565b905061111881600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e590919063ffffffff16565b915050919050565b61113061112b611872565b6113f7565b611185576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b61118e8161242f565b50565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60019054906101000a900460ff1681565b6060600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112625780601f1061123757610100808354040283529160200191611262565b820191906000526020600020905b81548152906001019060200180831161124557829003601f168201915b5050505050905090565b61127c611277611872565b6113da565b6112d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612d356030913960400191505060405180910390fd5b6112da81612489565b50565b6112ed6112e8611872565b6124e3565b565b60006113b26112fc611872565b846113ad85604051806060016040528060258152602001612ef96025913960036000611326611872565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f909092919063ffffffff16565b61187a565b6001905092915050565b60006113d06113c9611872565b8484611abb565b6001905092915050565b60006113f082600061253d90919063ffffffff16565b9050919050565b600061140d82600161253d90919063ffffffff16565b9050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61144a611445611872565b6113f7565b61149f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006114ee3061101e565b11611544576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612e476029913960400191505060405180910390fd5b6000611556611551611872565b61101e565b116115ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180612dcf6033913960400191505060405180910390fd5b60006115b73061101e565b905060006115e461023f6115d66101db8561261b90919063ffffffff16565b6123e590919063ffffffff16565b9050600061161061023f61160260488661261b90919063ffffffff16565b6123e590919063ffffffff16565b9050600061163c61023f61162e601c8761261b90919063ffffffff16565b6123e590919063ffffffff16565b905061166b30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856126a1565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156116d557600080fd5b505af11580156116e9573d6000803e3d6000fd5b5050505061171a30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846126a1565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561178457600080fd5b505af1158015611798573d6000803e3d6000fd5b505050506117ae306117a8611872565b836126a1565b7f8765d2bb982ed6ee74d2b03c76c9c129aa4a4e3e6b17bd7cf7830088e9d49054846040518082815260200191505060405180910390a150505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611900576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612ed56024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611986576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612c8a6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000611ab383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f90565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612eb06025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612c136023913960400191505060405180910390fd5b60008111611c20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c5a6030913960400191505060405180910390fd5b80611c2a8461101e565b1015611c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612ce56026913960400191505060405180910390fd5b60011515600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480611cf3575060001515600d60019054906101000a900460ff161515145b611d65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a20546f6b656e2069732063757272656e746c792070617573656481525060200191505060405180910390fd5b6000600a5414158015611dc8575060001515600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15611f7f576000611de4600a54836123e590919063ffffffff16565b90506000611e116103e8611e036101f48561261b90919063ffffffff16565b6123e590919063ffffffff16565b90506000611e3d6103e8611e2f604b8661261b90919063ffffffff16565b6123e590919063ffffffff16565b90506000611e696103e8611e5b60fa8761261b90919063ffffffff16565b6123e590919063ffffffff16565b90506000611e956103e8611e8760af8861261b90919063ffffffff16565b6123e590919063ffffffff16565b905084611ecf82611ec185611eb3898961205090919063ffffffff16565b61205090919063ffffffff16565b61205090919063ffffffff16565b14611f25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612d0b602a913960400191505060405180910390fd5b611f428830611f3d868861205090919063ffffffff16565b6126a1565b611f4e886000846126a1565b611f6b8888611f66888a611a7190919063ffffffff16565b6126a1565b611f75888261285a565b5050505050611f8b565b611f8a8383836126a1565b5b505050565b600083831115829061203d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612002578082015181840152602081019050611fe7565b50505050905090810190601f16801561202f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156120ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561217b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600081116121f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f45524332303a206d696e7420616d6f756e74206973207a65726f00000000000081525060200191505060405180910390fd5b6122068160045461205090919063ffffffff16565b6004819055506004546000198161221957fe5b0660001903600581905550600554600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6123818160016129b490919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16560405160405180910390a250565b60006123e06004546005546123e590919063ffffffff16565b905090565b600061242783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a71565b905092915050565b612443816001612b3790919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b61249d816000612b3790919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6124f78160006129b490919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612e256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083141561262e576000905061269b565b600082840290508284828161263f57fe5b0414612696576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d866021913960400191505060405180910390fd5b809150505b92915050565b60006126ab6123c7565b905060006126c2828461261b90919063ffffffff16565b905061271681600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7190919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ab81600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205090919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050565b60006128646123c7565b9050600061287b828461261b90919063ffffffff16565b90506128cf81600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7190919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061292781600554611a7190919063ffffffff16565b6005819055506129428360065461205090919063ffffffff16565b600681905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6129be828261253d565b612a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d656021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008083118290612b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ae2578082015181840152602081019050612ac7565b50505050905090810190601f168015612b0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612b2957fe5b049050809150509392505050565b612b41828261253d565b15612bb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c20776176657345524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a20617070726f766520746f20746865207a65726f206164647265737341717561546f6b656e3a3a736574546f6b656e5061757365643a20796f752063616e206f6e6c7920756e70617573652074686520746f6b656e45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332305472616e736665723a3a7461785472616e736665723a204d6174682069732062726f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f75206d75737420626520616e206163636f756e7420686f6c64657220746f2063616c6c20746869732066756e6374696f6e41717561546f6b656e3a3a73657454617844697669736f723a20746f6f20736d616c6c526f6c65733a206163636f756e7420697320746865207a65726f20616464726573735472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f57686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c6545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820a08bad6f88656a3f3d481c27cc61f9c3b75e5c9f8fd17beaadcb295812766cad64736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a4171756120546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044151554100000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101da5760003560e01c806370a0823111610104578063a457c2d7116100a2578063bd3733fe11610071578063bd3733fe14610947578063d5aed6bf14610991578063db647b76146109d5578063dd62ed3e146109df576101da565b8063a457c2d7146107c3578063a9059cbb14610829578063aa271e1a1461088f578063bb5f747b146108eb576101da565b806386c75e74116100de57806386c75e74146106d057806395d89b41146106f2578063983b2d561461077557806398650275146107b9576101da565b806370a08231146105ea5780637362d9c8146106425780637877d65414610686576101da565b8063350a96281161017c5780634e0eae831161014b5780634e0eae83146104f857806356ff83c81461052657806357880e3c14610570578063697173491461058e576101da565b8063350a9628146103de578063395093511461042257806340c10f19146104885780634c5a628c146104ee576101da565b806318160ddd116101b857806318160ddd146102e657806323b872dd14610304578063295194571461038a578063313ce567146103ba576101da565b806306fdde03146101df578063095ea7b31461026257806313114a9d146102c8575b600080fd5b6101e7610a57565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022757808201518184015260208101905061020c565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ae6004803603604081101561027857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610af9565b604051808215151515815260200191505060405180910390f35b6102d0610b17565b6040518082815260200191505060405180910390f35b6102ee610b21565b6040518082815260200191505060405180910390f35b6103706004803603606081101561031a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b46565b604051808215151515815260200191505060405180910390f35b6103b8600480360360208110156103a057600080fd5b81019080803515159060200190929190505050610c1f565b005b6103c2610cfe565b604051808260ff1660ff16815260200191505060405180910390f35b610420600480360360208110156103f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d15565b005b61046e6004803603604081101561043857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dbe565b604051808215151515815260200191505060405180910390f35b6104d46004803603604081101561049e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e71565b604051808215151515815260200191505060405180910390f35b6104f6610eec565b005b6105246004803603602081101561050e57600080fd5b8101908080359060200190929190505050610efe565b005b61052e610fd2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610578610ff8565b6040518082815260200191505060405180910390f35b6105d0600480360360208110156105a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ffe565b604051808215151515815260200191505060405180910390f35b61062c6004803603602081101561060057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061101e565b6040518082815260200191505060405180910390f35b6106846004803603602081101561065857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611120565b005b61068e611191565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106d86111b7565b604051808215151515815260200191505060405180910390f35b6106fa6111ca565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561073a57808201518184015260208101905061071f565b50505050905090810190601f1680156107675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107b76004803603602081101561078b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126c565b005b6107c16112dd565b005b61080f600480360360408110156107d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112ef565b604051808215151515815260200191505060405180910390f35b6108756004803603604081101561083f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113bc565b604051808215151515815260200191505060405180910390f35b6108d1600480360360208110156108a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113da565b604051808215151515815260200191505060405180910390f35b61092d6004803603602081101561090157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f7565b604051808215151515815260200191505060405180910390f35b61094f611414565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109d3600480360360208110156109a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143a565b005b6109dd6114e3565b005b610a41600480360360408110156109f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117eb565b6040518082815260200191505060405180910390f35b6060600b8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aef5780601f10610ac457610100808354040283529160200191610aef565b820191906000526020600020905b815481529060010190602001808311610ad257829003601f168201915b5050505050905090565b6000610b0d610b06611872565b848461187a565b6001905092915050565b6000600654905090565b6000610b41610b30600061101e565b600454611a7190919063ffffffff16565b905090565b6000610b53848484611abb565b610c1484610b5f611872565b610c0f85604051806060016040528060288152602001612da760289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bc5611872565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f909092919063ffffffff16565b61187a565b600190509392505050565b610c2f610c2a611872565b6113f7565b610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b6000151581151514610ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612cac6039913960400191505060405180910390fd5b80600d60016101000a81548160ff02191690831515021790555050565b6000600d60009054906101000a900460ff16905090565b610d25610d20611872565b6113f7565b610d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610e67610dcb611872565b84610e628560036000610ddc611872565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205090919063ffffffff16565b61187a565b6001905092915050565b6000610e83610e7e611872565b6113da565b610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612d356030913960400191505060405180910390fd5b610ee283836120d8565b6001905092915050565b610efc610ef7611872565b61236d565b565b610f0e610f09611872565b6113f7565b610f63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b6000811480610f735750600a8110155b610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612e026023913960400191505060405180910390fd5b80600a8190555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000600554600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156110ba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612c366024913960400191505060405180910390fd5b60006110c46123c7565b905061111881600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e590919063ffffffff16565b915050919050565b61113061112b611872565b6113f7565b611185576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b61118e8161242f565b50565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60019054906101000a900460ff1681565b6060600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112625780601f1061123757610100808354040283529160200191611262565b820191906000526020600020905b81548152906001019060200180831161124557829003601f168201915b5050505050905090565b61127c611277611872565b6113da565b6112d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612d356030913960400191505060405180910390fd5b6112da81612489565b50565b6112ed6112e8611872565b6124e3565b565b60006113b26112fc611872565b846113ad85604051806060016040528060258152602001612ef96025913960036000611326611872565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f909092919063ffffffff16565b61187a565b6001905092915050565b60006113d06113c9611872565b8484611abb565b6001905092915050565b60006113f082600061253d90919063ffffffff16565b9050919050565b600061140d82600161253d90919063ffffffff16565b9050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61144a611445611872565b6113f7565b61149f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612e706040913960400191505060405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006114ee3061101e565b11611544576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612e476029913960400191505060405180910390fd5b6000611556611551611872565b61101e565b116115ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180612dcf6033913960400191505060405180910390fd5b60006115b73061101e565b905060006115e461023f6115d66101db8561261b90919063ffffffff16565b6123e590919063ffffffff16565b9050600061161061023f61160260488661261b90919063ffffffff16565b6123e590919063ffffffff16565b9050600061163c61023f61162e601c8761261b90919063ffffffff16565b6123e590919063ffffffff16565b905061166b30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856126a1565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156116d557600080fd5b505af11580156116e9573d6000803e3d6000fd5b5050505061171a30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846126a1565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561178457600080fd5b505af1158015611798573d6000803e3d6000fd5b505050506117ae306117a8611872565b836126a1565b7f8765d2bb982ed6ee74d2b03c76c9c129aa4a4e3e6b17bd7cf7830088e9d49054846040518082815260200191505060405180910390a150505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611900576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612ed56024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611986576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612c8a6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000611ab383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f90565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612eb06025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612c136023913960400191505060405180910390fd5b60008111611c20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c5a6030913960400191505060405180910390fd5b80611c2a8461101e565b1015611c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612ce56026913960400191505060405180910390fd5b60011515600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480611cf3575060001515600d60019054906101000a900460ff161515145b611d65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a20546f6b656e2069732063757272656e746c792070617573656481525060200191505060405180910390fd5b6000600a5414158015611dc8575060001515600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15611f7f576000611de4600a54836123e590919063ffffffff16565b90506000611e116103e8611e036101f48561261b90919063ffffffff16565b6123e590919063ffffffff16565b90506000611e3d6103e8611e2f604b8661261b90919063ffffffff16565b6123e590919063ffffffff16565b90506000611e696103e8611e5b60fa8761261b90919063ffffffff16565b6123e590919063ffffffff16565b90506000611e956103e8611e8760af8861261b90919063ffffffff16565b6123e590919063ffffffff16565b905084611ecf82611ec185611eb3898961205090919063ffffffff16565b61205090919063ffffffff16565b61205090919063ffffffff16565b14611f25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612d0b602a913960400191505060405180910390fd5b611f428830611f3d868861205090919063ffffffff16565b6126a1565b611f4e886000846126a1565b611f6b8888611f66888a611a7190919063ffffffff16565b6126a1565b611f75888261285a565b5050505050611f8b565b611f8a8383836126a1565b5b505050565b600083831115829061203d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612002578082015181840152602081019050611fe7565b50505050905090810190601f16801561202f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156120ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561217b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600081116121f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f45524332303a206d696e7420616d6f756e74206973207a65726f00000000000081525060200191505060405180910390fd5b6122068160045461205090919063ffffffff16565b6004819055506004546000198161221957fe5b0660001903600581905550600554600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6123818160016129b490919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16560405160405180910390a250565b60006123e06004546005546123e590919063ffffffff16565b905090565b600061242783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a71565b905092915050565b612443816001612b3790919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b61249d816000612b3790919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6124f78160006129b490919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612e256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083141561262e576000905061269b565b600082840290508284828161263f57fe5b0414612696576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d866021913960400191505060405180910390fd5b809150505b92915050565b60006126ab6123c7565b905060006126c2828461261b90919063ffffffff16565b905061271681600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7190919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ab81600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205090919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050565b60006128646123c7565b9050600061287b828461261b90919063ffffffff16565b90506128cf81600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7190919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061292781600554611a7190919063ffffffff16565b6005819055506129428360065461205090919063ffffffff16565b600681905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6129be828261253d565b612a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d656021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008083118290612b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ae2578082015181840152602081019050612ac7565b50505050905090810190601f168015612b0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612b2957fe5b049050809150509392505050565b612b41828261253d565b15612bb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c20776176657345524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a20617070726f766520746f20746865207a65726f206164647265737341717561546f6b656e3a3a736574546f6b656e5061757365643a20796f752063616e206f6e6c7920756e70617573652074686520746f6b656e45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332305472616e736665723a3a7461785472616e736665723a204d6174682069732062726f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f75206d75737420626520616e206163636f756e7420686f6c64657220746f2063616c6c20746869732066756e6374696f6e41717561546f6b656e3a3a73657454617844697669736f723a20746f6f20736d616c6c526f6c65733a206163636f756e7420697320746865207a65726f20616464726573735472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f57686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c6545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820a08bad6f88656a3f3d481c27cc61f9c3b75e5c9f8fd17beaadcb295812766cad64736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a4171756120546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044151554100000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): Aqua Token
Arg [1] : symbol (string): AQUA
Arg [2] : decimals (uint8): 9
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [4] : 4171756120546f6b656e00000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4151554100000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
10355:8703:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10355:8703:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11796:83;;;:::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;11796:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14637:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14637:152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13970:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13757:184;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14797:304;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14797:304:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12073:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12073:200:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11982:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12644:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12644:133:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;15109:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15109:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15596:143;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15596:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4357:95;;;:::i;:::-;;12281:209;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12281:209:0;;;;;;;;;;;;;;;;;:::i;:::-;;10920:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10997;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11154:47;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11154:47:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14065:256;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14065:256:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4233:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4233:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10843:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11124:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11887:87;;;:::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;11887:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2911:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2911:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3011:79;;;:::i;:::-;;15327:261;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15327:261:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14329:158;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14329:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2794:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2794:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4100:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4100:125:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10880:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12498:138;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12498:138:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12785:964;;;:::i;:::-;;14495:134;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14495:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11796:83;11833:13;11866:5;11859:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11796:83;:::o;14637:152::-;14703:4;14720:39;14729:12;:10;:12::i;:::-;14743:7;14752:6;14720:8;:39::i;:::-;14777:4;14770:11;;14637:152;;;;:::o;13970:87::-;14012:7;14039:10;;14032:17;;13970:87;:::o;13757:184::-;13801:7;13899:34;13911:21;13929:1;13911:9;:21::i;:::-;13899:7;;:11;;:34;;;;:::i;:::-;13892:41;;13757:184;:::o;14797:304::-;14886:4;14903:36;14913:6;14921:9;14932:6;14903:9;:36::i;:::-;14950:121;14959:6;14967:12;:10;:12::i;:::-;14981:89;15019:6;14981:89;;;;;;;;;;;;;;;;;:11;:19;14993:6;14981:19;;;;;;;;;;;;;;;:33;15001:12;:10;:12::i;:::-;14981:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14950:8;:121::i;:::-;15089:4;15082:11;;14797:304;;;;;:::o;12073:200::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12167:5;12157:15;;:6;:15;;;12149:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12259:6;12245:11;;:20;;;;;;;;;;;;;;;;;;12073:200;:::o;11982:83::-;12023:5;12048:9;;;;;;;;;;;12041:16;;11982:83;:::o;12644:133::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12753:16;12735:15;;:34;;;;;;;;;;;;;;;;;;12644:133;:::o;15109:210::-;15189:4;15206:83;15215:12;:10;:12::i;:::-;15229:7;15238:50;15277:10;15238:11;:25;15250:12;:10;:12::i;:::-;15238:25;;;;;;;;;;;;;;;:34;15264:7;15238:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;15206:8;:83::i;:::-;15307:4;15300:11;;15109:210;;;;:::o;15596:143::-;15670:4;2691:22;2700:12;:10;:12::i;:::-;2691:8;:22::i;:::-;2683:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15687:22;15693:7;15702:6;15687:5;:22::i;:::-;15727:4;15720:11;;15596:143;;;;:::o;4357:95::-;4409:35;4431:12;:10;:12::i;:::-;4409:21;:35::i;:::-;4357:95::o;12281:209::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12385:1;12370:11;:16;:37;;;;12405:2;12390:11;:17;;12370:37;12362:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12471:11;12458:10;:24;;;;12281:209;:::o;10920:30::-;;;;;;;;;;;;;:::o;10997:::-;;;;:::o;11154:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;14065:256::-;14122:7;14170;;14150;:16;14158:7;14150:16;;;;;;;;;;;;;;;;:27;;14142:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14229:19;14252:10;:8;:10::i;:::-;14229:33;;14280;14301:11;14280:7;:16;14288:7;14280:16;;;;;;;;;;;;;;;;:20;;:33;;;;:::i;:::-;14273:40;;;14065:256;;;:::o;4233:116::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4314:27;4333:7;4314:18;:27::i;:::-;4233:116;:::o;10843:30::-;;;;;;;;;;;;;:::o;11124:23::-;;;;;;;;;;;;;:::o;11887:87::-;11926:13;11959:7;11952:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11887:87;:::o;2911:92::-;2691:22;2700:12;:10;:12::i;:::-;2691:8;:22::i;:::-;2683:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2976:19;2987:7;2976:10;:19::i;:::-;2911:92;:::o;3011:79::-;3055:27;3069:12;:10;:12::i;:::-;3055:13;:27::i;:::-;3011:79::o;15327:261::-;15412:4;15429:129;15438:12;:10;:12::i;:::-;15452:7;15461:96;15500:15;15461:96;;;;;;;;;;;;;;;;;:11;:25;15473:12;:10;:12::i;:::-;15461:25;;;;;;;;;;;;;;;:34;15487:7;15461:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;15429:8;:129::i;:::-;15576:4;15569:11;;15327:261;;;;:::o;14329:158::-;14398:4;14415:42;14425:12;:10;:12::i;:::-;14439:9;14450:6;14415:9;:42::i;:::-;14475:4;14468:11;;14329:158;;;;:::o;2794:109::-;2850:4;2874:21;2887:7;2874:8;:12;;:21;;;;:::i;:::-;2867:28;;2794:109;;;:::o;4100:125::-;4164:4;4188:29;4209:7;4188:16;:20;;:29;;;;:::i;:::-;4181:36;;4100:125;;;:::o;10880:33::-;;;;;;;;;;;;;:::o;12498:138::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12609:19;12588:18;;:40;;;;;;;;;;;;;;;;;;12498:138;:::o;12785:964::-;12876:1;12849:24;12867:4;12849:9;:24::i;:::-;:28;12841:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12977:1;12942:32;12960:12;:10;:12::i;:::-;12942:9;:32::i;:::-;:36;12934:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13047:23;13073:24;13091:4;13073:9;:24::i;:::-;13047:50;;13110:25;13138:33;13167:3;13138:24;13158:3;13138:15;:19;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;13110:61;;13190:26;13219:32;13247:3;13219:23;13239:2;13219:15;:19;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;13190:61;;13270:24;13297:32;13325:3;13297:23;13317:2;13297:15;:19;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;13270:59;;13351:71;13377:4;13384:18;;;;;;;;;;;13404:17;13351;:71::i;:::-;13448:18;;;;;;;;;;;13433:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13433:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13433:41:0;;;;13487:69;13513:4;13520:15;;;;;;;;;;;13537:18;13487:17;:69::i;:::-;13582:15;;;;;;;;;;;13567:36;;;:38;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13567:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13567:38:0;;;;13618:64;13644:4;13651:12;:10;:12::i;:::-;13665:16;13618:17;:64::i;:::-;13700:41;13725:15;13700:41;;;;;;;;;;;;;;;;;;12785:964;;;;:::o;14495:134::-;14567:7;14594:11;:18;14606:5;14594:18;;;;;;;;;;;;;;;:27;14613:7;14594:27;;;;;;;;;;;;;;;;14587:34;;14495:134;;;;:::o;858:98::-;903:15;938:10;931:17;;858:98;:::o;18718:337::-;18828:1;18811:19;;:5;:19;;;;18803:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18909:1;18890:21;;:7;:21;;;;18882:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18993:6;18963:11;:18;18975:5;18963:18;;;;;;;;;;;;;;;:27;18982:7;18963:27;;;;;;;;;;;;;;;:36;;;;19031:7;19015:32;;19024:5;19015:32;;;19040:6;19015:32;;;;;;;;;;;;;;;;;;18718:337;;;:::o;6144:136::-;6202:7;6229:43;6233:1;6236;6229:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6222:50;;6144:136;;;;:::o;15747:1524::-;15852:1;15836:18;;:4;:18;;;;15828:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15929:1;15915:16;;:2;:16;;;;15907:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15999:1;15990:6;:10;15982:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16091:6;16072:15;16082:4;16072:9;:15::i;:::-;:25;;16064:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16183:4;16159:28;;:14;:20;16174:4;16159:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;:52;;;;16206:5;16191:20;;:11;;;;;;;;;;;:20;;;16159:52;16151:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16345:1;16331:10;;:15;;:48;;;;;16374:5;16350:29;;:14;:20;16365:4;16350:20;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;16331:48;16327:937;;;16396:17;16416:22;16427:10;;16416:6;:10;;:22;;;;:::i;:::-;16396:42;;16455:25;16483:28;16506:4;16483:18;16497:3;16483:9;:13;;:18;;;;:::i;:::-;:22;;:28;;;;:::i;:::-;16455:56;;16533:22;16558:27;16580:4;16558:17;16572:2;16558:9;:13;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;16533:52;;16608:20;16631:28;16654:4;16631:18;16645:3;16631:9;:13;;:18;;;;:::i;:::-;:22;;:28;;;;:::i;:::-;16608:51;;16682:21;16706:28;16729:4;16706:18;16720:3;16706:9;:13;;:18;;;;:::i;:::-;:22;;:28;;;;:::i;:::-;16682:52;;16846:9;16768:74;16828:13;16768:55;16810:12;16768:37;16787:17;16768:14;:18;;:37;;;;:::i;:::-;:41;;:55;;;;:::i;:::-;:59;;:74;;;;:::i;:::-;:87;16760:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16917:77;16935:4;16949;16956:37;16978:14;16956:17;:21;;:37;;;;:::i;:::-;16917:17;:77::i;:::-;17009:49;17027:4;17041:1;17045:12;17009:17;:49::i;:::-;17073:50;17091:4;17097:2;17101:21;17112:9;17101:6;:10;;:21;;;;:::i;:::-;17073:17;:50::i;:::-;17140:35;17155:4;17161:13;17140:14;:35::i;:::-;16327:937;;;;;;;;17217:35;17235:4;17241:2;17245:6;17217:17;:35::i;:::-;16327:937;15747:1524;;;:::o;6617:192::-;6703:7;6736:1;6731;:6;;6739:12;6723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;6723:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6763:9;6779:1;6775;:5;6763:17;;6800:1;6793:8;;;6617:192;;;;;:::o;5688:181::-;5746:7;5766:9;5782:1;5778;:5;5766:17;;5807:1;5802;:6;;5794:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5860:1;5853:8;;;5688:181;;;;:::o;18117:593::-;18212:1;18193:21;;:7;:21;;;;18185:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18278:1;18269:6;:10;18261:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18331:19;18343:6;18331:7;;:11;;:19;;;;:::i;:::-;18321:7;:29;;;;18385:7;;10630:1;10621:11;18379:13;;;;;;10630:1;10621:11;18372:21;18361:7;:33;;;;18491:7;;18472;:16;18480:7;18472:16;;;;;;;;;;;;;;;:26;;;;18597:7;18579:15;;:25;;;;;;;;;;;;;;;;;;18643:4;18617:14;:23;18632:7;18617:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;18686:7;18665:37;;18682:1;18665:37;;;18695:6;18665:37;;;;;;;;;;;;;;;;;;18117:593;;:::o;4614:154::-;4682:32;4706:7;4682:16;:23;;:32;;;;:::i;:::-;4752:7;4730:30;;;;;;;;;;;;4614:154;:::o;18013:96::-;18054:7;18081:20;18093:7;;18081;;:11;;:20;;;;:::i;:::-;18074:27;;18013:96;:::o;7999:132::-;8057:7;8084:39;8088:1;8091;8084:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;8077:46;;7999:132;;;;:::o;4460:146::-;4525:29;4546:7;4525:16;:20;;:29;;;;:::i;:::-;4590:7;4570:28;;;;;;;;;;;;4460:146;:::o;3098:122::-;3155:21;3168:7;3155:8;:12;;:21;;;;:::i;:::-;3204:7;3192:20;;;;;;;;;;;;3098:122;:::o;3228:130::-;3288:24;3304:7;3288:8;:15;;:24;;;;:::i;:::-;3342:7;3328:22;;;;;;;;;;;;3228:130;:::o;2059:203::-;2131:4;2175:1;2156:21;;:7;:21;;;;2148:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2234:4;:11;;:20;2246:7;2234:20;;;;;;;;;;;;;;;;;;;;;;;;;2227:27;;2059:203;;;;:::o;7060:471::-;7118:7;7368:1;7363;:6;7359:47;;;7393:1;7386:8;;;;7359:47;7418:9;7434:1;7430;:5;7418:17;;7463:1;7458;7454;:5;;;;;;:10;7446:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7522:1;7515:8;;;7060:471;;;;;:::o;17279:365::-;17376:19;17399:10;:8;:10::i;:::-;17376:33;;17422:15;17440:23;17451:11;17440:6;:10;;:23;;;;:::i;:::-;17422:41;;17492:28;17512:7;17492;:15;17500:6;17492:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17474:7;:15;17482:6;17474:15;;;;;;;;;;;;;;;:46;;;;17552:31;17575:7;17552;:18;17560:9;17552:18;;;;;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;17531:7;:18;17539:9;17531:18;;;;;;;;;;;;;;;:52;;;;17618:9;17601:35;;17610:6;17601:35;;;17629:6;17601:35;;;;;;;;;;;;;;;;;;17279:365;;;;;:::o;17652:353::-;17725:19;17748:10;:8;:10::i;:::-;17725:33;;17771:12;17786:21;17795:11;17786:4;:8;;:21;;;;:::i;:::-;17771:36;;17836:25;17856:4;17836:7;:15;17844:6;17836:15;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;17818:7;:15;17826:6;17818:15;;;;;;;;;;;;;;;:43;;;;17884:17;17896:4;17884:7;;:11;;:17;;;;:::i;:::-;17874:7;:27;;;;17925:20;17940:4;17925:10;;:14;;:20;;;;:::i;:::-;17912:10;:33;;;;17988:1;17963:34;;17972:6;17963:34;;;17992:4;17963:34;;;;;;;;;;;;;;;;;;17652:353;;;;:::o;1781:183::-;1861:18;1865:4;1871:7;1861:3;:18::i;:::-;1853:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1951:5;1928:4;:11;;:20;1940:7;1928:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;1781:183;;:::o;8661:345::-;8747:7;8846:1;8842;:5;8849:12;8834:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;8834:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8873:9;8889:1;8885;:5;;;;;;8873:17;;8997:1;8990:8;;;8661:345;;;;;:::o;1523:178::-;1601:18;1605:4;1611:7;1601:3;:18::i;:::-;1600:19;1592:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1689:4;1666;:11;;:20;1678:7;1666:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1523:178;;:::o
Swarm Source
bzzr://a08bad6f88656a3f3d481c27cc61f9c3b75e5c9f8fd17beaadcb295812766cad
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.